.NET प्रोजेक्ट के लिए लोचदार बीनस्टॉक और क्लाउडफ़ॉर्मेशन के बीच अंतर क्या है?


121

मैंने एक .NET MVC एप्लिकेशन विकसित किया है और AWS के साथ खेलना शुरू कर दिया है और इसे विजुअल स्टूडियो टूलकिट के माध्यम से तैनात किया है। मैंने टूलकिट में इलास्टिक बीनस्टॉक विकल्प का उपयोग करके एप्लिकेशन को सफलतापूर्वक तैनात किया है।

जब मैं टूलकिट के साथ AWS के लिए .NET एप्स को तैनात करने के लिए ट्यूटोरियल पर जा रहा था, मैंने देखा कि इलास्टिक बीनस्टॉक और क्लाउडफ़ॉर्मेशन दोनों के साथ तैनाती के लिए ट्यूटोरियल हैं । इन दोनों के बीच क्या अंतर है?

जो मैं बता सकता हूं, ऐसा लगता है कि वे दोनों अनिवार्य रूप से एक ही काम कर रहे हैं - जिससे आपके आवेदन को एडब्ल्यूएस क्लाउड (EC2 इंस्टेंसेस, लोड बैलेंसर, ऑटो-स्केलिंग आदि) स्थापित करना आसान हो जाता है। मैंने उन दोनों को पढ़ने की कोशिश की है, लेकिन मुझे भनभनाते शब्दों के एक समूह के अलावा कुछ भी नहीं मिल रहा है जो मुझे एक ही चीज़ की तरह लग रहा है। मुझे AWS वेबसाइट पर एक FAQ भी मिला, जो इस सटीक प्रश्न का उत्तर देने वाला है, फिर भी मुझे वास्तव में समझ नहीं आया।

क्या मुझे एक या दूसरे का उपयोग करना चाहिए? दोनों?


यह प्रश्न स्टैकओवरफ़्लो के लिए थोड़ा हटकर विषय है, लेकिन शायद ServerFault पर अच्छी तरह से फिट नहीं होगा ... मैंने इस तरह के प्रश्नों के लिए एक नई साइट प्रस्तावित की है, यदि आप सहमत हैं तो अनुसरण करें! Area51.stackexchange.com/proposals/82757/…
Dan Ciborowski - MSFT

जवाबों:


212

वे वास्तव में बहुत अलग हैं। लोचदार बीनस्टॉक का उद्देश्य डेवलपर्स के जीवन को आसान बनाना है। CloudFormation का उद्देश्य सिस्टम इंजीनियरों के जीवन को आसान बनाना है।

इलास्टिक बीनस्टॉक AWS की IaaS सेवाओं की एक PaaS जैसी परत है, जो अंतर्निहित EC2 उदाहरणों को दूर करती है, लोचदार लोड Balancers, ऑटो स्केलिंग समूहों, आदि। यह डेवलपर्स के लिए बहुत आसान बनाता है, जो सभी के साथ व्यवहार नहीं करना चाहते हैं। सिस्टम सामान, अपने आवेदन को जल्दी से AWS पर तैनात करने के लिए। यह अन्य पाओसा उत्पादों जैसे कि हेरोकू, इंजनयार्ड, गूगल ऐप इंजन, आदि के समान है, इलास्टिक बीनस्टॉक के साथ, आपको यह समझने की ज़रूरत नहीं है कि कोई भी अंतर्निहित जादू कैसे काम करता है।

दूसरी ओर, CloudFormation, स्वचालित रूप से कुछ भी नहीं करता है। यह एक विशाल JSON फ़ाइल में तैनाती के लिए आवश्यक सभी संसाधनों को परिभाषित करने का एक तरीका है। इसलिए CloudFormation टेम्प्लेट वास्तव में ElasticCache क्लस्टर्स, एक DyanmoDB तालिका और फिर रूट 53 में उचित DNS के दो ElasticBeanstalk वातावरण (उत्पादन और मंचन) बना सकता है। फिर मैं इस टेम्प्लेट को AWS पर अपलोड करता हूं, दूर जाता हूं, और 45 मिनट बाद सब कुछ तैयार और प्रतीक्षा कर रहा हूं। चूंकि यह सिर्फ एक सादे-पाठ JSON फ़ाइल है, मैं इसे अपने स्रोत नियंत्रण में चिपका सकता हूं जो मेरे एप्लिकेशन परिनियोजन को संस्करण देने का एक शानदार तरीका प्रदान करता है। यह भी सुनिश्चित करता है कि मेरे पास एक दोहराने योग्य, "ज्ञात अच्छा" कॉन्फ़िगरेशन है जिसे मैं जल्दी से एक अलग क्षेत्र में तैनात कर सकता हूं।


धन्यवाद! लगता है जैसे मैं अब ईबीएस के साथ चिपका रहूंगा।
kspearrin

37
@xxkylexx FYI करें: "EBS" का अर्थ "लोचदार ब्लॉक स्टोर" नामक AWS सेवा से है। मुझे लगता है कि आपको "ईबीएस" के बजाय "इलास्टिक बीनस्टॉक" कहने का मतलब है।
एखिलाबाई

2
मुझे लगता है कि उन्होंने आपके द्वारा बनाए गए एप्लिकेशन के लिए इलास्टिक बीनस्टॉक वातावरण बनाने के लिए क्लाउड फॉर्मेशन टेम्प्लेट का उपयोग और स्वचालित किया है - .Net या जो भी ... FWIW
codeputer

51

जल्दी से एक मानक .NET वेब-एप्लिकेशन की तैनाती शुरू करने के लिए, इलास्टिक बीनस्टॉक आपके लिए सही सेवा है।

ऐप सेवाएँ तुलनात्मक ग्राफिक

एडब्ल्यूएस क्लाउडफ़ॉर्मेशन : "टेम्पलेट-संचालित प्रावधान"

AWS CloudFormation डेवलपर्स और सिस्टम एडमिनिस्ट्रेटर को संबंधित AWS संसाधनों के संग्रह को बनाने और प्रबंधित करने का एक आसान तरीका देता है, उन्हें व्यवस्थित और क्रमबद्ध और अनुमानित रूप से अपडेट करता है।

CloudFormation (CFn) मौजूदा AWS API पर हल्का, निम्न स्तर का अमूर्त है। एक स्थिर JSON / YAML टेम्प्लेट दस्तावेज़ का उपयोग करते हुए , आप संसाधन का एक सेट (जैसे EC2 उदाहरण या S3 बाल्टी ) घोषित करते हैं जो AWS API पर CRUD संचालन के अनुरूप है।

जब आप CloudFormation स्टैक बनाते हैं, तो CloudFormation संबंधित API को बनाने के लिए संबंधित API को कॉल करता है, और जब आप स्टैक को हटाते हैं, तो CloudFormation उन्हें हटाने के लिए संबंधित API को कॉल करता है। अधिकांश (लेकिन सभी नहीं) एडब्ल्यूएस एपीआई समर्थित हैं।

AWS इलास्टिक बीनस्टॉक : "वेब ऐप्स मेड ईज़ी"

एडब्ल्यूएस इलास्टिक बीनस्टॉक वेब एप्लिकेशन को तैनात करने और स्केल करने के लिए जावा , .NET , PHP , Node.js , पायथन , रूबी , गो , और डोकर के साथ विकसित करने और उपयोग करने के लिए एक आसान सेवा है , जो अपाचे, Nginx, यात्री जैसे परिचित सर्वरों पर उपलब्ध है। और आई.आई.एस.

आप बस अपने कोड को अपलोड कर सकते हैं और इलास्टिक बीनस्टॉक स्वचालित रूप से तैनाती को संभालता है, स्वास्थ्य निगरानी के लिए आवेदन करने की क्षमता, लोड संतुलन, ऑटो-स्केलिंग से।

इलास्टिक बर्नस्टॉक (ईबी) एक उच्च-स्तरीय, प्रबंधित 'प्लेटफ़ॉर्म है जो सेवा के रूप में' (पासा) वेब अनुप्रयोगों की मेजबानी के लिए, हेरोकू के समान है । सीधे निम्न-स्तरीय AWS संसाधनों से निपटने के बजाय, EB एक पूरी तरह से प्रबंधित प्लेटफ़ॉर्म प्रदान करता है जहां आप वेब इंटरफ़ेस का उपयोग करके एक एप्लिकेशन वातावरण बनाते हैं , यह चुनें कि कौन सा प्लेटफ़ॉर्म आपके एप्लिकेशन का उपयोग करता है, एक स्रोत बंडल का उपयोग करें, बनाएं और अपलोड करें , और EB बाकी को संभालता है।

ईबी का उपयोग करना, आपको अपने एप्लिकेशन वातावरण की निगरानी करने और अपने एप्लिकेशन के नए संस्करणों को तैनात करने के लिए सभी प्रकार की अंतर्निहित विशेषताएं मिलती हैं ।

हुड के तहत, ईबी एप्लिकेशन के विभिन्न एडब्ल्यूएस संसाधनों को बनाने और प्रबंधित करने के लिए क्लाउडफ़ॉर्मेशन का उपयोग करता है। आप अपने एप्लिकेशन के साथ तैनात EB कॉन्फ़िगरेशन फ़ाइल में CloudFormation Resources को जोड़कर डिफ़ॉल्ट EB परिवेश को अनुकूलित और विस्तारित कर सकते हैं ।

निष्कर्ष

यदि आपका आवेदन एक मानक वेब-स्तरीय अनुप्रयोग है, जो इलास्टिक बीनस्टॉक के समर्थित प्लेटफार्मों में से एक का उपयोग कर रहा है, और आप अपने आवेदन के लिए आसान-से-प्रबंधन, अत्यधिक स्केलेबल होस्टिंग चाहते हैं, तो इलास्टिक बीनस्टॉक का उपयोग करें

अगर तुम:

  • अपने एप्लिकेशन के सभी AWS संसाधनों को सीधे प्रबंधित करना चाहते हैं;
  • अपने इंस्टेंस-प्रोविज़निंग या परिनियोजन प्रक्रिया को प्रबंधित या भारी करना चाहते हैं;
  • लोचदार बीनस्टॉक द्वारा समर्थित नहीं एक आवेदन मंच का उपयोग करने की आवश्यकता है; या
  • बस किसी भी उच्च-स्तरीय इलास्टिक बीनस्टॉक सुविधाओं की आवश्यकता नहीं है / चाहिए

फिर सीधे CloudFormation का उपयोग करें और Elastic Beanstalk की अतिरिक्त कॉन्फ़िगरेशन परत से बचें।


14

क्लाउड फॉर्मेशन एक ऐसी सेवा है जो आपको AWS सेवाओं को तैनात करने की सुविधा देती है। आप एक टेम्पलेट फ़ाइल बनाते हैं जो बताती है कि आपको कौन सी सेवाएँ चाहिए। जब आप उस टेम्पलेट को तैनात करते हैं, तो क्लाउड फॉर्मेशन आपके लिए "पैकेज" के रूप में संसाधन बनाता है। आपके द्वारा अपने टेम्पलेट में परिभाषित सभी संसाधनों को एक साथ शुरू और समाप्त किया जाता है। क्लाउड फॉर्मेशन के साथ बनाए जा सकने वाले संसाधनों के प्रकार हैं: S3, EC2 इंस्टेंस, AutoScaling, DynamoDb, इत्यादि EC2 के लिए, क्लाउड फॉर्मेशन आपको "cfn-init" स्क्रिप्ट का उपयोग करने की क्षमता भी देता है; जो आपके उदाहरणों को बूट करने के लिए टेम्पलेट के साथ संयोजन में उपयोग किया जा सकता है।

इलास्टिक बीनस्टॉक क्लाउड फॉर्मेशन टेम्प्लेट और स्काइप्ट का उपयोग करता है: 1. एक लोड बैलेंसर और ऑटो स्केलिंग ग्रुप बनाएं, 2. अपने कोड को S3 पर कॉपी करें, 3. S3 से कोड डाउनलोड करने और इसे तैनात करने के लिए एक Ec2 उदाहरण बूटस्ट्रैप करें।

क्लाउड फॉर्मेशन ईबी के रूप में उपयोग करना उतना आसान नहीं है, लेकिन यह बहुत अधिक शक्तिशाली है, क्योंकि आप ईसी 2 इंस्टेंसेस के अलावा अन्य संसाधन बना सकते हैं, यह नियंत्रित कर सकते हैं कि सीएफएन-इनिट स्क्रिप्ट, और आदि कैसे।


10

ध्यान देने योग्य अन्य अंतर हैं। इलास्टिक बीनस्टॉक को एकल ऐप के लिए कंटेनर के रूप में डिज़ाइन किया गया है। मेरे पास कई वेबसाइटों और सेवाओं का एक सेट है, लेकिन बीनस्टॉक के साथ कई वेबसाइटों को तैनात करना बहुत मुश्किल पाया गया और सलाह दी गई कि, कई प्रयासों के बाद, इस स्थिति में AWS द्वारा क्लाउड फॉर्मेशन का उपयोग करने में मदद की जाए क्योंकि इसमें अतिरिक्त लचीलापन है। AWS क्लाउड फॉर्मेशन बूटस्ट्रैपिंग और यहां चल रही साइट को अपडेट करने में एक बहुत ही उपयोगी लेख है , जो AWS पृष्ठों की तुलना में बहुत अधिक स्पष्ट है। फिर भी अगर हम वीएस से सीधे एस 3 पर संग्रहीत क्लाउड फॉर्मेशन टेम्प्लेट में तैनात कर सकते हैं और इसे ऑटोस्टाइल जैसे ऑटो अपडेट में प्राप्त करने की कोशिश कर रहे हैं ...


3

इन सेवाओं को एक दूसरे के पूरक के लिए डिज़ाइन किया गया है। AWS इलास्टिक बीनस्टॉक क्लाउड में एप्लिकेशन को आसानी से तैनात करने और चलाने के लिए एक वातावरण प्रदान करता है। यह डेवलपर टूल के साथ एकीकृत है और आपके अनुप्रयोगों के जीवनचक्र का प्रबंधन करने के लिए आपको एक-स्टॉप अनुभव प्रदान करता है। AWS क्लाउडफ़ॉर्मेशन AWS की व्यापक श्रेणी और तीसरे पक्ष के संसाधनों के लिए एक सुविधाजनक प्रावधान तंत्र है। यह कई अलग-अलग प्रकार के अनुप्रयोगों के बुनियादी ढांचे की जरूरतों का समर्थन करता है जैसे कि मौजूदा एंटरप्राइज़ एप्लिकेशन, विरासत अनुप्रयोग, विभिन्न प्रकार के AWS संसाधनों और कंटेनर-आधारित समाधानों का उपयोग करके बनाए गए एप्लिकेशन (जिनमें AWS इलास्टिक बीनस्टॉक का उपयोग करके बनाया गया है)।

AWS CloudFormation, AWS संसाधन प्रकारों में से एक के रूप में लोचदार बीनस्टॉक एप्लिकेशन वातावरण का समर्थन करता है। यह आपको उदाहरण के लिए, AWS इलास्टिक बीनस्टॉक-होस्टेड एप्लिकेशन को बनाने और प्रबंधित करने के लिए एक RDS डेटाबेस के साथ एप्लिकेशन डेटा को संग्रहीत करने की अनुमति देता है। RDS उदाहरणों के अलावा, किसी भी अन्य समर्थित AWS संसाधन को समूह में भी जोड़ा जा सकता है।


1

लोचदार बीनस्टॉक स्वचालित रूप से तैनाती को संभालता है, क्षमता प्रावधान, लोड संतुलन, ऑटो-स्केलिंग से लेकर आपके द्वारा अपलोड किए गए कोड के आधार पर स्वास्थ्य निगरानी तक, जहां CloudFormation एक स्वचालित प्रावधान इंजन है जिसे JSON स्क्रिप्ट के माध्यम से पूरे क्लाउड वातावरण को तैनात करने के लिए डिज़ाइन किया गया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.