जब DevOps को किसी को समझाते हैं, तो ऐसा होता है कि एक प्रश्न सामने आता है:
चंचल पद्धति का उपयोग करते हुए रिलीज़ प्रबंधन झरने से कैसे भिन्न होता है?
तो ऐसे दर्शकों को इन अंतरों को समझाने के लिए आप किस तरह के मानदंड का उपयोग कर सकते हैं?
जब DevOps को किसी को समझाते हैं, तो ऐसा होता है कि एक प्रश्न सामने आता है:
चंचल पद्धति का उपयोग करते हुए रिलीज़ प्रबंधन झरने से कैसे भिन्न होता है?
तो ऐसे दर्शकों को इन अंतरों को समझाने के लिए आप किस तरह के मानदंड का उपयोग कर सकते हैं?
जवाबों:
IMO DevOps संस्कृति है, बहुत ज्यादा फुर्तीली (फुर्तीली पद्धति को चुने बिना।) इसलिए आप "DevOps" नहीं करते हैं।
आप एक जारी कार्यप्रणाली को DevOps कल्चर के एक भाग के रूप में कंटीन्यूअस डिलीवरी कहते हैं। (पूर्ण प्रकटीकरण, मुझे नहीं लगता कि मैंने पहले कभी सीडी को एक रिलीज़ कार्यप्रणाली के रूप में संदर्भित किया है, लेकिन मेरे जेटलेग्ड राज्य में मुझे यह पसंद नहीं है)
यदि आप इसे खरीदेंगे, तो यहाँ एक ही शीर्षक, Jez Humble द्वारा पुस्तक लिखने वाले लोगों में से निरंतर वितरण की परिभाषा दी गई है ।
सतत वितरण सभी प्रकार के परिवर्तनों को प्राप्त करने की क्षमता है-जिसमें नई विशेषताएं, कॉन्फ़िगरेशन परिवर्तन, बग फिक्स और प्रयोग शामिल हैं-उत्पादन में, या उपयोगकर्ताओं के हाथों में, सुरक्षित और जल्दी से एक स्थायी तरीके से।
हमारा लक्ष्य तैनाती बनाना है - चाहे एक बड़े पैमाने पर वितरित प्रणाली, एक जटिल उत्पादन वातावरण, एक एम्बेडेड प्रणाली, या एक ऐप-पूर्वानुमान योग्य, नियमित मामलों जो मांग पर प्रदर्शन किया जा सकता है।
हम यह सुनिश्चित करते हुए अपना कोड प्राप्त करते हैं कि हमारा कोड हमेशा एक स्थिति में रहता है, यहां तक कि हजारों डेवलपर्स की टीमों के चेहरे पर भी दैनिक आधार पर परिवर्तन होता है। इस प्रकार हम पूरी तरह से एकीकरण, परीक्षण और सख्त चरणों को समाप्त करते हैं जो परंपरागत रूप से "देव पूर्ण" और साथ ही साथ कोड जमा देता है।
तो, आप एक फुर्तीली कार्यप्रणाली में काम कर सकते हैं, सॉफ्टवेयर होने से आप व्यवसाय को प्रदर्शित कर सकते हैं, यह सुनिश्चित कर सकते हैं कि आप उचित स्वचालित परीक्षण कर रहे हैं, परिवर्तन और अच्छी तरह से इसे झरने से बेहतर बनाने वाली सभी चीजों पर प्रतिक्रिया कर रहे हैं। यह सब भी अक्सर इसका मतलब यह नहीं है कि आप वास्तव में इसे उत्पादन के लिए तैनात कर सकते हैं।
आप कुछ इस तरह से समाप्त करते हैं:
तो सॉफ्टवेयर तब (शायद) बेहतर होगा जब आप काम कर रहे हों, अगर आपके पास कुछ प्रकार का पुनरावृत्ति दृष्टिकोण नहीं था, लेकिन आप वास्तव में नहीं जानते हैं क्योंकि वास्तविक उपयोगकर्ताओं ने कभी इसे नहीं देखा है।
जो आप वास्तव में चाहते हैं वह कुछ ऐसा है जो इस तरह दिखता है:
हर पुनरावृत्ति, कुछ उत्पादन के लिए तैनात हो जाता है। तो, सॉफ्टवेयर तैनात है । यदि आप डाउनलोड बनाने का निर्णय लेते हैं, तो वेब सर्वर को खोलें, या फिर आपको इसके जारी होने वाले उपयोगकर्ताओं के हाथों में सॉफ़्टवेयर मिलेगा ।
तो देवो को इससे क्या लेना-देना?
यह बहुत ही कठिन है (असंभव के करीब पहुंचना) वास्तव में आपके सॉफ़्टवेयर में एक ऐसी स्थिति है जहाँ आप इसे तब तक तैनात कर सकते हैं जब तक आप चाहते हैं कि जब तक कि टीम एक DevOps संस्कृति में काम कर रही हो। एक संस्कृति जहां सिस्टम एडमिन्स, डीबीए, एसआरई, सिक्योरिटी पीपल, देव, क्यूएएस, इत्यादि, सभी एक ही टीम का हिस्सा हैं और हैंडऑफ वाले किसी संगठन का हिस्सा नहीं है।
नोट :
इस उत्तर पर पोस्ट की गई एक टिप्पणी के बारे में, जो इस प्रकार थी:
आपके "... एक राज्य में सॉफ़्टवेयर, जहाँ आप इसे जब चाहें तब तैनात कर सकते हैं ...": जो मुझे "स्वचालित पायलट" सॉफ़्टवेयर (एक विमान में) के बारे में याद दिलाता है ... इस बारे में मेरा पसंदीदा प्रश्न: " एक अद्यतन की कल्पना करें इस तरह के सॉफ्टवेयर के लिए लागू किया जाता है ... आप इतना अंतर्ज्ञान करने के बारे में कैसा महसूस करेंगे ... जबकि आप जहाज पर हैं? "।
मुझे वह प्रश्न (बोल्ड में, उपरोक्त उद्धरण में) बहुत पसंद है! "क्या यह वास्तव में तैयार है?" कुछ है जो मैं हर समय - ब्लॉग के बारे में शेख़ी करता हूँ । IMO यह महत्वपूर्ण है कि आप सीडी का अभ्यास करने के लिए सुरक्षा, प्रदर्शन और अन्य अक्सर "माध्यमिक" परीक्षणों में आश्वस्त हैं। सुविधाएँ तब की जाती हैं जब वे काम कर रहे होते हैं, लेकिन हैकर्स हमेशा वहाँ रहते हैं।
सुनिश्चित नहीं हैं कि कोई अन्य नहीं है, लेकिन ये मेरे द्वारा उपयोग किए जाने वाले मापदंड हैं:
+-------------------+-----------+-----------+
! Criteria ! Agile ! Waterfall !
+-------------------+-----------+-----------+
! Release Events ! Frequent ! Rare !
! Risk ! Less ! High !
! Required Effort ! Smoother ! Peaks !
! Volume of changes ! Small ! Huge !
+-------------------+-----------+-----------+
और यदि आप वास्तव में कुछ सॉफ़्टवेयर के उपयोगकर्ता के रूप में खुद को अंतर का अनुभव करना चाहते हैं, तो कुछ सॉफ़्टवेयर (जैसे लिनक्स वितरण) का उपयोग करने के बारे में सोचें, जहां आपके पास उन रिलीज़ में से किसी एक का उपयोग करने के बीच एक विकल्प है:
a " Rolling
" रिलीज़ (==> चंचल)।
एक " Long Term Support
" रिलीज (==> झरना)।