AWS OpsWorks बनाम AWS बीनस्टॉक बनाम AWS CloudFormation?


86

मैं जानना चाहता हूं कि एडब्ल्यूएस ऑप्सवर्क्स बनाम एडब्ल्यूएस बर्नस्टॉक और एडब्ल्यूएस क्लाउडफार्मेशन का उपयोग करने के फायदे और नुकसान क्या हैं?

मुझे एक ऐसी प्रणाली में दिलचस्पी है जो एक साथ वेब अनुरोधों की किसी भी उच्च संख्या (1000 अनुरोध प्रति मिनट से 10 मिलियन आरपीएम तक) को संभालने के लिए ऑटो स्केल की जा सकती है, जिसमें एक डेटाबेस परत भी शामिल है जो ऑटो स्केलेबल भी हो सकती है।

प्रत्येक ऐप के लिए एक अलग उदाहरण होने के बजाय, आदर्श रूप से मैं कुछ हार्डवेयर संसाधनों को कुशलतापूर्वक साझा करना चाहूंगा। अतीत में मैंने ज्यादातर EC2 उदाहरण + RDS + Cloudfront + S3 का उपयोग किया है

स्टैक सिस्टम कुछ हाई ट्रैफिक रूबी की मेजबानी करेगा जो कि उन रेल एप्स पर हैं जिन्हें हम हेरोकू से माइग्रेट कर रहे हैं, कुछ अजगर / डीजैंगो एप्स और कुछ पीएचपी एप्स के साथ भी।

अग्रिम में धन्यवाद।


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

जवाबों:


69

मैं जानना चाहूंगा कि एडब्ल्यूएस ऑप्सवर्क्स बनाम एडब्ल्यूएस बर्नस्टॉक और एडब्ल्यूएस क्लॉडफॉर्मेशन का उपयोग करने के फायदे और नुकसान क्या हैं?

उत्तर है, यह निर्भर करता है।

AWS ऑप्सवर्क्स और AWS बीनस्टॉक (मुझे बताया गया है) आपके बुनियादी ढांचे के प्रबंधन के विभिन्न तरीके हैं, इस पर निर्भर करता है कि आप इसके बारे में कैसे सोचते हैं। CloudFormation बस आपके बुनियादी ढांचे को गति देने का एक तरीका है।

व्यक्तिगत रूप से, मैं इलास्टिक बीनस्टॉक से अधिक परिचित हूं, लेकिन प्रत्येक अपने स्वयं के लिए। मैं इसे पसंद करता हूं क्योंकि यह Git के माध्यम से तैनाती कर सकता है। यह सार्वजनिक जानकारी है कि इलास्टिक बीनस्टॉक अपने वातावरण को लॉन्च करने के लिए हुड के नीचे क्लाउडफ़ॉर्मेशन का उपयोग करता है।

अपनी परियोजनाओं के लिए, मैं अग्रानुक्रम में दोनों का उपयोग करता हूं। मैं कस्टम-कॉन्फ़िगर VPC वातावरण, S3 बाल्टियाँ और डायनमोबडी तालिकाओं का निर्माण करने के लिए CloudFormation का उपयोग करता हूं जो मैं अपने ऐप के लिए उपयोग करता हूं। फिर मैं कस्टम VPC के अंदर एक इलास्टिक बीनस्टॉक पर्यावरण लॉन्च करता हूं जो जानता है कि S3 / DynamoDB संसाधनों से कैसे बात की जाए।

मुझे एक ऐसी प्रणाली में दिलचस्पी है जो एक साथ वेब अनुरोधों की किसी भी उच्च संख्या (1000 अनुरोध प्रति मिनट से 10 मिलियन आरपीएम तक) को संभालने के लिए ऑटो स्केल की जा सकती है, जिसमें एक डेटाबेस परत भी शामिल है जो ऑटो स्केलेबल भी हो सकती है।

हुड के तहत, OpsWorks और Elastic Beanstalk EC2 + CloudWatch + Auto Scaling का उपयोग करते हैं, जो आपके द्वारा लोड किए जा रहे भार को संभालने में सक्षम है। RDS स्केलेबल SQL- आधारित डेटाबेस के लिए समर्थन प्रदान करता है।

प्रत्येक ऐप के लिए एक अलग उदाहरण होने के बजाय, आदर्श रूप से मैं कुछ हार्डवेयर संसाधनों को कुशलतापूर्वक साझा करना चाहूंगा। अतीत में मैंने ज्यादातर EC2 उदाहरण + RDS + Cloudfront + S3 का उपयोग किया है

" कुछ हार्डवेयर संसाधनों" से आपका क्या मतलब है इसके आधार पर , आप हमेशा ऑप्सवर्क्स या इलास्टिक बीनस्टॉक वातावरण के साथ-साथ स्टैंडअलोन EC2 इंस्टेंस लॉन्च कर सकते हैं। वर्तमान में, इलास्टिक बीनस्टाक प्रति वातावरण में एक वेबएप का समर्थन करता है। मुझे याद नहीं है कि OpsWorks क्या समर्थन करता है।

स्टैक सिस्टम कुछ हाई ट्रैफिक रूबी की मेजबानी करेगा जो कि उन रेल एप्स पर हैं जिन्हें हम हेरोकू से माइग्रेट कर रहे हैं, कुछ अजगर / डीजैंगो एप्स और कुछ पीएचपी एप्स के साथ भी।

यह सब AWS द्वारा पूरी तरह से समर्थित है। ऑप्सवर्क्स और इलास्टिक बीनस्टॉक ने खुद को विकास के माहौल की एक सरणी के लिए अनुकूलित किया है (रूबी, पायथन और पीएचपी सभी सूची में हैं), जबकि ईसी 2 कच्चे सर्वर प्रदान करता है जहां आप कुछ भी स्थापित कर सकते हैं।


3
ऑप्सवर्क्स गिट तैनाती को संभालता है और साथ ही साथ अलग तरीके से भी। जहाँ ElasticBeanstalk git परिनियोजन को CLI का उपयोग करके रेपो से धकेला जाता है, OpsWorks SSH (या HTTPS यदि पब्लिक रेपो) का उपयोग करके रेपो तक केवल पढ़ने के लिए पहुँच का उपयोग करता है।
जैक फ्रॉस्ट

@Ryan जैसा कि उल्लेख किया गया है कि Beanstalk आवश्यक संरचना बनाने के लिए पृष्ठभूमि में क्लाउड निर्माण प्रकार के टेम्पलेट्स का उपयोग करता है।
मोहम्मद बेलाल

22

OpsWorks शेफ की तरह एक ऑर्केस्ट्रेशन टूल है - वास्तव में, यह Chef - Puppet, Ansible या Saltstalk से लिया गया है। आप उस स्थिति को निर्दिष्ट करने के लिए Opsworks का उपयोग करते हैं जो आप चाहते हैं कि आपका नेटवर्क उस स्थिति को निर्दिष्ट करके हो, जिसमें आप प्रत्येक संसाधन - सर्वर इंस्टेंस, एप्लिकेशन, स्टोरेज - इन होना चाहते हैं। और आप यह निर्दिष्ट करते हैं कि आप चाहते हैं कि प्रत्येक संसाधन आपके द्वारा होना चाहिए। उस स्थिति की प्रत्येक विशेषता के लिए इच्छित मान निर्दिष्ट करना। उदाहरण के लिए, आप चाहते हैं कि अपाचे सेवा हमेशा चालू रहे और चले और अपाचे के साथ बूट अप पर शुरू हो और यूज़र और अपाचे लिनक्स समूह के रूप में।

CloudFormation एक json टेम्प्लेट (**) है जो उस संसाधन की स्थिति को निर्दिष्ट करता है जिसे आप तैनात करना चाहते हैं यानी आप VPC 192.1.1.1/24 के हिस्से के रूप में us-East-1 में AWS EC2 माइक्रो t2 उदाहरण को तैनात करना चाहते हैं । EC2 उदाहरण के मामले में, आप यह निर्दिष्ट कर सकते हैं कि EC2 संसाधन के उपयोगकर्ता-डेटा अनुभाग में आपके कस्टम बैश स्क्रिप्ट के माध्यम से उस संसाधन पर क्या चलना चाहिए। CloudFormation सिर्फ एक टेम्पलेट है। टेम्प्लेट हमारे लिए रनिंग रिसोर्स के रूप में fleshed हो जाता है, यदि आप इसे या तो क्लाउड एडॉर्मेशन के लिए AWS मैनेजमेंट कंसोल के माध्यम से चलाते हैं या यदि आप क्लाउडफॉर्म यानी aws क्लाउडफॉर्म के लिए aws cli कमांड चलाते हैं ...

ElasticBeanstalk एक PAAS- आप विशेष रूप से रूबी / रेल्स, नोड.जेएस या पायथन / डीजेंगो या पायथन / फ्लास्क ऐप अपलोड कर सकते हैं। यदि आप स्काला, हास्केल या कुछ और जैसे कुछ और चला रहे हैं, तो इसके लिए एक डॉकर छवि बनाएं और उस डॉकटर की छवि को इलास्टिक बीनस्टॉक (*) में अपलोड करें।

आप क्लाउडफ़ॉर्मेशन के लिए awsi cli चलाकर अपने ऐप की अपलोडिंग को इलास्टिक बीनस्टॉक में कर सकते हैं या आप अपने ऐप को इलास्टिक बीनस्टॉक में अपलोड करने के लिए Opsworks के लिए एक रेसिपी बना सकते हैं। आप Opsworks के माध्यम से क्लाउडफॉर्म के लिए aws cli भी चला सकते हैं।

(*) वास्तव में, इसके रूबी ऐप उदाहरण पर AWS का प्रलेखन इतना खराब था कि मैंने धैर्य खो दिया और उदाहरण एप्लिकेशन को एक डॉकर छवि में एम्बेड कर दिया और डॉकर की छवि को इलास्टिक बीनस्टॉक में अपलोड कर दिया।

(**) सितम्बर 2016 तक, क्लाउडफॉर्म भी YAML टेम्प्लेट का समर्थन करता है।


8

Opsworks में आप विशिष्ट नौकरियों को एक अंतर्निहित उदाहरण के द्वारा कम संसाधनों का उपयोग करने के लिए एक स्टैक के पार "भूमिकाओं" को साझा कर सकते हैं।

परत संगतता सूची (जब तक सुरक्षा समूह ठीक से सेट नहीं हो जाते हैं):

HA Proxy : custom, db-master, and memcached.
MySQL :  custom, lb, memcached, monitoring-master, nodejs-app, php-app, rails-app, and web.
Java : custom, db-master, and memcached.
Node.js : custom, db-master, memcached, and monitoring-master
PHP : custom, db-master, memcached, monitoring-master, and rails-app.
Rails :  custom, db-master, memcached, monitoring-master, php-app.
Static :  custom, db-master, memcached.
Custom : custom, db-master, lb, memcached, monitoring-master, nodejs-app, php-app, rails-app, and web 
Ganglia :  custom, db-master, memcached, php-app, rails-app. 
Memcached :  custom, db-master, lb, monitoring-master, nodejs-app, php-app, rails-app, and web. 

संदर्भ: http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html


8

AWS बीनस्टॉक: यह एएलएस क्लाउड में एफ़्लिसिएंस बीनस्टॉक के साथ योर वेब एप्लिकेशन चलाने वाले बुनियादी ढांचे की चिंता किए बिना एफ़डब्ल्यूएस क्लाउड में एप्लिकेशन को तैनात और प्रबंधित करता है। EC2 या अन्य स्थापनाओं के बारे में चिंता करने की आवश्यकता नहीं है।

AWS OpsWorks AWS OpsWorks एक एप्लिकेशन प्रबंधन सेवा के अलावा और कुछ नहीं है जो नए DevOps उपयोगकर्ताओं के लिए उनके संपूर्ण एप्लिकेशन को मॉडल और प्रबंधित करना आसान बनाता है


1
मुझे लगता है कि यह जवाब गलत है। तथ्य यह है कि चारों ओर दूसरा रास्ता है। जबकि इलास्टिक बीनस्टॉक OAWWorks के साथ सिर्फ एक Paa है, यह उचित घटकों का उपयोग करके स्टैक बनाने के लिए आपकी सभी जिम्मेदारी है। 'नए DevOps के लिए' परिभाषा EB उपयोगकर्ताओं पर लागू होगी, ऑप्सवर्क्स नहीं। '
डरावना 12

3

AWS CloudFormation - अपने वातावरण बनाएं और अपडेट करें।

AWS Opsworks - अपने सिस्टम को उस वातावरण के अंदर प्रबंधित करें जैसे हम शेफ या कठपुतली के साथ करते हैं

AWS बीनस्टॉक - बनाएँ, प्रबंधित करें और तैनात करें।

लेकिन व्यक्तिगत रूप से मुझे CloudFormation और OpsWorks दोनों पसंद हैं कि वे इसके लिए पूरी शक्ति का उपयोग करते हैं।

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


3

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

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

AWS CloudFormation - CloudFormation के क्रम में AWS संसाधनों का प्रबंधन करने के लिए नमूना टेम्पलेट हैं।


0

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

के साथ ancomplish करने के लिए

I am interested in a system that can be auto scaled to handle any high number of simultaneous web requests (From 1000 requests per minute to 10 million rpm.), including a database layer that can be auto scalable as well.

और यह ध्यान में रखते हुए कि आप माइग्रेशन प्रक्रिया में हैं, मैं दृढ़ता से आपको एडब्ल्यूएस लैंबडा और एडब्ल्यूएस डायनेमोडीबी समाधान (या हाइब्रिड वन) पर एक नज़र डालना शुरू करने की सलाह देता हूं।

दोनों को सरल तरीके से ऑटो स्केलिंग के लिए डिज़ाइन किया गया है और यह एक बहुत ही सस्ता उपाय हो सकता है।


-1

बस टेराफॉर्म और ईसीएस या ईकेएस का उपयोग करें।

opsworks, लोचदार बीनस्टॉक और क्लाउडफॉर्म पुरानी तकनीक अब। -)

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