लिखित DevOps प्रशिक्षण
DevOps आपकी IT समस्याएँ कैसे हल करता है?
आप लगातार डिप्लॉय करते हैं
नए स्टार्टअप से Fortune 100 कंपनियों तक, हर आकार और हर तरह के सॉफ़्टवेयर उत्पाद और सेवाओं वाली कंपनियाँ साबित कर चुकी हैं कि DevOps से छोटी, स्वतंत्र और आत्मनिर्भर टीमें रोज़ दर्जनों प्रोडक्शन डिप्लॉयमेंट करती हैं। आप प्रोडक्शन जैसे परिवेश में डिज़ाइन, बिल्ड, डिलीवरी और टेस्टिंग करते हैं। अब हर तीसरे महीने आधी रात के बाद, जब सब सो रहे हों, कोड प्रोडक्शन में डालने की ज़रूरत नहीं। आप दिन में कई बार, और सबसे अहम बात, काम के सामान्य समय में रिलीज़ करते हैं, जबकि आपके ग्राहक सॉफ़्टवेयर से लाभ उठाते रहते हैं।
DevOps से आप छोटे फ़ीचर अक्सर दे सकते हैं। डार्क लॉन्च की मदद से बहुत बड़े फ़ीचर के छोटे हिस्से भी बार-बार प्रोडक्शन में भेज सकते हैं। जब तक आप कॉन्फ़िगरेशन सेटिंग से बड़ा फ़ीचर चालू नहीं करते, वे हिस्से निष्क्रिय रहते हैं। यह एक तकनीक भी टीम का कार्यजीवन बेहतर कर सकती है। इससे बिग-बैंग रोलआउट, मौजूदा सिस्टम पर उनके अनपेक्षित असर, अफ़रा-तफ़री और एक-दूसरे को दोष देने से बचते हैं।
आप अपने उद्देश्य के अनुसार टीमें बनाते हैं
अपने बाज़ार को सेवा देने और प्रतिस्पर्धियों से बड़ा उद्देश्य पूरा करने के लिए अपने IT विभाग में लंबे समय तक रहने वाली टीमें बनाएँ। वे आंतरिक या बाहरी ग्राहकों के उत्पादों, सेवाओं, क्षमताओं और माइक्रोसर्विस के लिए काम करें। अस्थायी प्रोजेक्ट टीमें परियोजना पूरी होते ही, कभी उससे पहले ही, बिखर जाती हैं।
अस्थायी टीमों में सदस्यों के पास अपने योगदान का पर्याप्त स्वामित्व नहीं होता। उन्हें मुश्किल से पता होता है कि परियोजना संगठन के बड़े उद्देश्य में कहाँ बैठती है और उन्हें ठीक फ़ीडबैक नहीं मिलता। कई परियोजनाओं से उनकी विशेषज्ञता के काम, जैसे डेटाबेस डेवलपमेंट, फ़्रंट-एंड डिज़ाइन या अनुवाद, बार-बार आते हैं और उनका काम बाधित होता रहता है।
लंबे समय तक साथ रहने वाली टीमें अपना काम और उससे संभव IT और व्यावसायिक प्रदर्शन स्वेच्छा से सँभालती हैं। उन्हें पता है कि उनका योगदान संगठन के बड़े उद्देश्य में कहाँ और कितना महत्वपूर्ण है।
आप व्यावसायिक लक्ष्य हासिल करने वाले सिस्टम बनाते हैं
आप और आपकी टीमें जानते हैं कि आपको ग्राहकों की सेवा और संगठन का उद्देश्य पूरा करने के लिए भुगतान मिलता है। आप संगठन और ग्राहकों के समय और संसाधनों का सम्मान करते हैं। किसी लंबी परियोजना के लिए प्रतिबद्ध होने से पहले IT समाधान से अपेक्षित व्यावसायिक लाभ को आज़माकर सत्यापित करते हैं। ग्राहकों को मॉडल, प्रोटोटाइप, A/B विकल्प या हल्के वर्शन दिखाते हैं। उनकी प्रतिक्रिया मापते और दर्ज करते हैं, ताकि जान सकें कि उत्पाद या सेवा में क्या सुधारें और क्या ग्राहकों को वह पसंद भी है।
केवल अच्छा लगने पर कोई फ़ीचर नहीं जोड़ते। विचारों की जाँच करते हैं और ठोस, दिखाए व दोहराए जा सकने वाले सबूत बनाते हैं कि आपका काम और संगठन के संसाधनों का निवेश व्यावसायिक नतीजे बेहतर कर सकता है और नियोक्ता को प्रतिस्पर्धियों से अलग पहचान दिला सकता है।
आप शुरुआत से गुणवत्ता और निगरानी शामिल करते हैं
सॉफ़्टवेयर डिलीवरी और ऑपरेशंस के हर चरण में तेज़, भरोसेमंद और असरदार फ़ीडबैक लूप बनाते हैं। गुणवत्ता किसी एक टीम का काम नहीं है। हर कोई उसे शुरू से शामिल करता है। अपना काम सही है या नहीं, इसके लिए दूसरी टीम की प्रतिक्रिया की प्रतीक्षा नहीं करते। कोड प्रोडक्शन में डिप्लॉय करने के लिए किसी और से अनुमति भी नहीं लेते। डिज़ाइन, कोड, टेस्ट और इन्फ़्रास्ट्रक्चर की सहकर्मी समीक्षा के लिए अपनी टीम पर भरोसा करते हैं।
हर मापे और टेस्ट किए जा सकने वाले फ़ीचर के लिए ऑटोमेटेड टेस्ट और निगरानी (टेलीमेट्री) बनाते हैं। यदि कोई फ़ीचर कोड लिखने और डिलीवरी के समय के लायक है, तो वह तेज़, भरोसेमंद और लगातार ऑटोमेटेड टेस्ट के लायक भी है। निरंतर निगरानी और सॉफ़्टवेयर में शामिल विश्लेषण से जाँचें कि फ़ीचर से वही लाभ मिला जिसके लिए उसे बनाया था। ऐसा प्रोडक्शन और अन्य सभी परिवेशों में करें।
कोड रिपॉज़िटरी में हर चेक-इन अपने आप ऑपरेशंस परिवेश को ढालता, पुनर्गठित करता या ज़रूरत पर दोबारा बनाता है। प्रभावित ऐप्लिकेशन का बिल्ड फिर बनता है और सभी ऑटोमेटेड टेस्ट मौजूदा फ़ीचर और नए चेक-इन का उद्देश्य जाँचते हैं। जाँच सफल होने पर वही बदलाव अपने आप प्रोडक्शन में लागू होते हैं।
ऐप्लिकेशन में शामिल विश्लेषण और टेलीमेट्री सॉफ़्टवेयर और उसके ऑपरेशंस परिवेश की अहम घटनाएँ लगातार देखते और रिकॉर्ड करते हैं। ऑर्डर, लॉग-इन, CPU और RAM का इस्तेमाल, CPU लोड, त्रुटियों की संख्या और डेटाबेस क्वेरी की अवधि जैसे मेट्रिक्स वास्तविक समय में रिकॉर्ड और दिखाए जाते हैं। टीम डिप्लॉयमेंट का बुरा असर सेकंडों में, या कुछ मिनटों में पहचान सकती है। इसलिए काम तेज़ करने के लिए छोटे फ़ीडबैक लूप ज़रूरी हैं।
आप त्रुटियों से सीखते हैं और दूसरों को सिखाते हैं
त्रुटि होने पर शांत और आत्मविश्वास से उसे हल करते हैं। ऑटोमेटेड टेस्ट और टेलीमेट्री से मिले वैज्ञानिक सबूतों पर भरोसा करके मूल कारण पहचानते हैं। समस्या ठीक होने पर कोई टेस्ट केस या टेलीमेट्री कम मिले, तो उसे सुधार के साथ रिपॉज़िटरी में जोड़ते हैं।
जटिल सिस्टम में कोई अकेला सब कुछ जान या भाँप नहीं सकता। इसलिए संगठन में सभी त्रुटियों को उत्पादों और सेवाओं के परिपक्व होने का हिस्सा मानते हैं। त्रुटियाँ सीखने और बढ़ने के मौके हैं। उनसे व्यक्तिगत और संगठनात्मक सीख पैदा होती है।
बिना दोषारोपण वाली पोस्टमॉर्टम समीक्षा से घटनाओं के मूल कारण बेहतर समझते हैं और भविष्य में ऐसी त्रुटियाँ रोकने के तरीके ढूँढते हैं। किसी घटना से टीम और सॉफ़्टवेयर के बारे में मिली स्थानीय सीख पूरे संगठन के काम आने वाले ज्ञान में बदलती है।
त्रुटि की वजह से आपको और टीम को दंड नहीं मिलता। घटना के बाद सीखने और सीख साझा करने पर सराहना मिलती है। आपके योगदान से संगठन की कई टीमें जानती हैं कि ऐसी घटना आगे कैसे रोकें।
व्यवसाय बढ़ने पर आपकी टीमें और बेहतर स्केल करती हैं
किसी सामान्य संगठन की कल्पना करें जो 1 से 1,000 डेवलपर तक बढ़ता है। छोटा था तो डेवलपर कोड लगातार बनाते और प्रोडक्शन में डालते थे। आकार बढ़ने के साथ पदानुक्रम, नौकरशाही और त्रुटियों का डर बढ़ता है। कोड प्रोडक्शन में डालने के लिए ज़्यादा तालमेल और बातचीत चाहिए। इसलिए हर डेवलपर के रोज़ के औसत डिप्लॉयमेंट आम तौर पर घटते हैं या ज़्यादा से ज़्यादा उतने ही रहते हैं।
उच्च प्रदर्शन वाले DevOps संगठन डेवलपरों की संख्या बढ़ने पर हर डेवलपर के रोज़ के औसत डिप्लॉयमेंट भी बढ़ाते हैं। Google, Amazon, Facebook, Netflix और Apple ने साबित किया है कि सही आर्किटेक्चर, टीमें, उद्देश्य, नेतृत्व और संस्कृति से यह संभव है। आपका संगठन भी अगला उच्च प्रदर्शन वाला DevOps संगठन बन सकता है।
मूल चार्ट तुलना करता है कि टीमों का आकार बढ़ने पर हर डेवलपर के रोज़ के डिप्लॉयमेंट कितने बढ़ते हैं।
मूल डायग्राम देखें ↗निष्कर्ष
उच्च प्रदर्शन वाले DevOps संगठन इन मामलों में प्रतिस्पर्धियों से आगे हैं।
- 46 गुना अधिक बार कोड डिप्लॉयमेंट।
- कमिट से डिप्लॉयमेंट तक 440 गुना कम लीड टाइम।
- डाउनटाइम से बहाली का औसत समय 96 गुना तेज़।
- बदलाव विफल होने की दर 5 गुना कम, यानी विफलता की संभावना 1/5।
- बेहतर उत्पादकता और काम पूरा होने की दर।
- कोड और संचालन की बेहतर विश्वसनीयता।
- संगठन का बेहतर प्रदर्शन और ग्राहक संतुष्टि।
- संगठन की बेहतर बाज़ार पहुँच, हिस्सेदारी और लाभप्रदता (हासिल होने की 2 गुना संभावना)।
- बाज़ार पूँजीकरण में बेहतर वृद्धि।
तुलना में डिप्लॉयमेंट की आवृत्ति, लीड टाइम, बहाली का समय और बदलावों की विफलता दर शामिल हैं।
मूल डायग्राम देखें ↗