का उपयोग कर निरंतर तैनाती और एडब्ल्यूएस ऑटोस्केलिंग मेरा संगठन की वेबसाइट एक डीजेगो ऐप है जो फ्रंट एंड वेबसर्वर पर चल रही है + एडब्ल्यूएस में कुछ पृष्ठभूमि प्रोसेसिंग सर्वर।उत्तरदायी (+ डॉकर?)
वर्तमान में हम दोनों के लिए Ansible का उपयोग कर रहे हैं: (क नंगे ओएस छवि से)
- सिस्टम विन्यास
- अक्सर मैन्युअल रूप से शुरू हो रहा कोड की तैनाती।
ही Ansible प्लेबुक प्रावधान करने में सक्षम है या तो एक स्थानीय Vagrant देव वी एम, या खरोंच से एक उत्पादन EC2 उदाहरण।
अब हम ईसी 2 में ऑटोस्कलिंग को कार्यान्वित करना चाहते हैं, और इसके लिए "treat servers as cattle, not pets" दर्शन के लिए कुछ बदलावों की आवश्यकता है।
पहली शर्त एक गतिशील, ईसी 2 एपीआई-आधारित एक करने के लिए एक स्थिर रूप से प्रबंधित उत्तरदायी सूची से स्थानांतरित करना था।
अगला बड़ा सवाल यह है कि इस नई दुनिया में तैनाती कैसे करें जहां रात के मध्य में & फेंकने वाले उदाहरण सामने आते हैं। विकल्प के बारे में सोच सकते हैं:
- गरम एक नई पूरी तरह से तैनात एएमआई प्रत्येक तैनात, लॉन्च config के रूप में एक नया बना सकते हैं और उस के साथ के रूप में समूह अपडेट के लिए। साफ स्लेट दृष्टिकोण के कारण बहुत बोझिल, लेकिन बहुत विश्वसनीय लगता है, और यह सुनिश्चित करेगा कि किसी भी सिस्टम में कोड की आवश्यकता होती है, यहां आवश्यक होगा। इसके अलावा, उदाहरण बूटअप पर कोई अतिरिक्त कदम जरूरी नहीं है, इसलिए & अधिक तेज़ी से चल रहा है।
- आधार एएमआई का उपयोग करें जो अक्सर नहीं बदलता है, स्वचालित रूप से बूटअप पर गिट से नवीनतम ऐप कोड प्राप्त करता है, वेबसर्वर शुरू करता है। एक बार यह हो जाने के बाद बस आवश्यकतानुसार मैन्युअल तैनाती करें। लेकिन क्या होगा यदि नया कोड सिस्टम कॉन्फ़िगरेशन (नया पैकेज, अनुमतियां इत्यादि) में बदलाव पर निर्भर करता है? ऐसा लगता है कि आपको कोड संस्करणों और सिस्टम/एएमआई संस्करणों के बीच निर्भरताओं का ख्याल रखना शुरू करना है, जबकि "केवल एक पूर्ण उत्तरदायी रन" दृष्टिकोण अधिक एकीकृत और अधिक विश्वसनीय था। क्या यह अभ्यास में केवल एक संभावित सिरदर्द से अधिक है?
- डॉकर का उपयोग करें? मेरे पास एक मजबूत झटका है जो उपयोगी हो सकता है, लेकिन मुझे यकीन नहीं है कि यह हमारी तस्वीर कैसे फिट होगा। हम एक अपेक्षाकृत स्वयं निहित Django फ्रंट-एंड ऐप हैं जो केवल RabbitMQ + memcache सेवाओं के रूप में हैं, जिन्हें हम वही होस्ट पर कभी भी चलाने के लिए नहीं जा रहे हैं। तो उत्तरदायी का उपयोग करके डॉकर छवि बनाने में क्या फायदे हैं जिसमें सिस्टम पैकेज + नवीनतम कोड है, जवाब देने के बजाय इसे सीधे ईसी 2 इंस्टेंस पर करें?
आप यह कैसे करते हैं? कोई अंतर्दृष्टि/सर्वोत्तम प्रथाओं? धन्यवाद!