DevOps क्या है? DevOps कार्यप्रणाली, सिद्धांत और चरण समझाया



समझें कि DevOps क्या है और DevOps जीवन चक्र के विभिन्न चरण हैं। इस पोस्ट में विकास से लेकर तैनाती तक के DevOps में शामिल हर चरण को समझाने के लिए उदाहरण हैं।

यदि आप आईटी उद्योग में हैं, तो आपने निश्चित रूप से सबसे अधिक ट्रेंडिंग buzzwords में से एक को सुना होगा जिसे DevOps कहा जाता है। यदि आप DevOps में अपना करियर बनाना चाहते हैं, तो यह निश्चित रूप से फायदेमंद है और एक के लिए जाना फायदेमंद है । इससे पहले कि हम आगे बढ़ें, मैं आपको निम्नलिखित ब्लॉगों के माध्यम से जाने का सुझाव दूंगा:

DevOps सीखने के शीर्ष 10 कारण





कई बड़ी आईटी कंपनियों ने अपने तरीके से देवऑप्स को आगे बढ़ाया है। तो इस ब्लॉग में, मैं चर्चा करूंगा कि वास्तव में देवो और मैं जिन बिंदुओं को कवर कर रहा हूं, वे इस प्रकार हैं:



DevOps क्या है?

  • DevOps शब्द विकास और संचालन दो शब्दों का एक संयोजन है। DevOps एक ऐसा अभ्यास है जो एकल टीम को संपूर्ण अनुप्रयोग विकास जीवन चक्र, यानी विकास, परीक्षण, तैनाती और निगरानी का प्रबंधन करने की अनुमति देता है।

  • DevOps का अंतिम लक्ष्य सिस्टम के विकास के जीवन चक्र की अवधि को कम करना है, जबकि व्यावसायिक उद्देश्यों के साथ निकट तुल्यकालन में अक्सर सुविधाओं, फ़िक्सेस और अपडेट को वितरित करना है।

  • DevOps एक सॉफ्टवेयर डेवलपमेंट अप्रोच है जिसकी मदद से आप बेहतर क्वालिटी के सॉफ्टवेयर को जल्दी और अधिक विश्वसनीयता के साथ विकसित कर सकते हैं। इसमें विभिन्न चरणों जैसे निरंतर विकास, निरंतर एकीकरण, निरंतर परीक्षण, निरंतर तैनाती और निरंतर निगरानी शामिल हैं।



तो चूंकि DevOps क्या है, आइए हम DevOps के इतिहास पर एक नज़र डालें।

DevOps का इतिहास

DevOps से पहले, हमारे पास सॉफ्टवेयर डेवलपमेंट के लिए दो दृष्टिकोण थे, अर्थात् वाटरफॉल और एजाइल।

झरना मॉडल

  • झरना मॉडल एक सॉफ्टवेयर विकास मॉडल है जो बहुत सीधा और रैखिक है। यह मॉडल एक टॉप-डाउन दृष्टिकोण का अनुसरण करता है।

  • इस मॉडल की विभिन्न शुरुआत है आवश्यकताएं एकत्रित करना और विश्लेषण करना । यह वह चरण है जहां आपको एप्लिकेशन विकसित करने के लिए क्लाइंट से आवश्यकताएं मिलती हैं। इसके बाद, आप इन आवश्यकताओं का विश्लेषण करने का प्रयास करते हैं।

  • अगला चरण है डिज़ाइन वह चरण जहाँ आप सॉफ़्टवेयर का खाका तैयार करते हैं। यहां, आप सोचते हैं कि सॉफ्टवेयर वास्तव में कैसा दिखने वाला है।

  • एक बार डिजाइन तैयार हो जाने के बाद, आप आगे बढ़ते हैं क्रियान्वयन चरण जहां आप आवेदन के लिए कोडिंग के साथ शुरू करते हैं। डेवलपर्स की टीम आवेदन के विभिन्न घटकों पर एक साथ काम करती है।

  • एक बार जब आप अनुप्रयोग विकास पूरा कर लेते हैं, तो आप इसका परीक्षण करते हैं सत्यापन चरण। आवेदन पर विभिन्न परीक्षण आयोजित किए जाते हैं जैसे इकाई परीक्षण, एकीकरण परीक्षण, प्रदर्शन परीक्षण इत्यादि।

  • आवेदन पर सभी परीक्षणों के पूरा होने के बाद, इसे उत्पादन सर्वर पर तैनात किया जाता है।

  • आखिर में आता है रखरखाव चरण। इस चरण में, प्रदर्शन के लिए आवेदन की निगरानी की जाती है। आवेदन के प्रदर्शन से संबंधित किसी भी मुद्दे को इस चरण में हल किया जाता है।

झरना मॉडल के लाभ:

  • समझने और उपयोग करने में सरल

  • आसान परीक्षण और विश्लेषण के लिए अनुमति देता है

  • समय और धन की एक महत्वपूर्ण राशि बचाता है

  • छोटी परियोजनाओं के लिए अच्छा है यदि सभी आवश्यकताओं को स्पष्ट रूप से परिभाषित किया गया है

  • विभागीयकरण और प्रबंधकीय नियंत्रण के लिए अनुमति देता है

झरना मॉडल के नुकसान:

  • जोखिम भरा और अनिश्चित

  • वर्तमान प्रगति की दृश्यता में कमी

  • आवश्यकताओं को बदलते रहने के लिए उपयुक्त नहीं है

  • परीक्षण के चरण में होने पर उत्पाद में परिवर्तन करना मुश्किल होता है

  • अंतिम उत्पाद केवल चक्र के अंत में उपलब्ध है

  • बड़ी और जटिल परियोजनाओं के लिए उपयुक्त नहीं है

चंचल कार्यप्रणाली

एजाइल मेथोडोलॉजी एक पुनरावृत्त आधारित सॉफ्टवेयर विकास दृष्टिकोण है जहां सॉफ्टवेयर परियोजना विभिन्न पुनरावृत्तियों या स्प्रिंट में टूट जाती है। प्रत्येक पुनरावृत्ति में झरने के मॉडल जैसे आवश्यकताएँ इकट्ठा करना, डिज़ाइन, विकास, परीक्षण और रखरखाव जैसे चरण होते हैं। प्रत्येक पुनरावृत्ति की अवधि आम तौर पर 2-8 सप्ताह होती है।

चंचल प्रक्रिया

  • एजाइल में, एक कंपनी पहले पुनरावृत्ति में कुछ उच्च प्राथमिकता वाले विशेषताओं के साथ आवेदन जारी करती है।

  • इसके जारी होने के बाद, अंतिम-उपयोगकर्ता या ग्राहक आपको आवेदन के प्रदर्शन के बारे में प्रतिक्रिया देते हैं।

  • फिर आप कुछ नई सुविधाओं के साथ आवेदन में आवश्यक बदलाव करते हैं और आवेदन फिर से जारी किया जाता है जो दूसरा पुनरावृत्ति है।

  • जब तक आप वांछित सॉफ़्टवेयर गुणवत्ता प्राप्त नहीं कर लेते, तब तक आप इस पूरी प्रक्रिया को दोहराते हैं।

फुर्तीली मॉडल के लाभ

  • यह अनुकूल रूप से आवश्यकता परिवर्तनों के अनुकूल प्रतिक्रिया करता है

  • विकास प्रक्रिया में त्रुटियों को जल्दी ठीक करने से यह प्रक्रिया अधिक लागत प्रभावी हो जाती है

  • उत्पाद की गुणवत्ता में सुधार करता है और इसे अत्यधिक त्रुटि मुक्त बनाता है

  • सॉफ्टवेयर प्रोजेक्ट में शामिल लोगों के बीच सीधे संवाद की अनुमति देता है

  • बड़ी और लंबी अवधि की परियोजनाओं के लिए अत्यधिक उपयुक्त

  • न्यूनतम संसाधन आवश्यकताएँ और प्रबंधन करना बहुत आसान है

चंचल मॉडल के नुकसान

  • अत्यधिक स्पष्ट ग्राहक आवश्यकताओं पर निर्भर करता है

  • बड़ी परियोजनाओं के लिए समय और प्रयास की भविष्यवाणी करना कठिन है

  • जटिल परियोजनाओं के लिए उपयुक्त नहीं है

  • कमी प्रलेखन दक्षता

  • स्थिरता बनाए रखने का जोखिम बढ़ा

अब चलिए DevOps के चरणों और उपकरणों पर चर्चा करते हैं।

DevOps चरण और उपकरण

जैसा कि पहले उल्लेख किया गया है, विभिन्न चरणों जैसे निरंतर विकास, निरंतर एकीकरण, निरंतर परीक्षण, निरंतर तैनाती, और निरंतर निगरानी देवोकार जीवन चक्र का गठन करते हैं। अब हम एक-एक करके DevOps जीवन चक्र के प्रत्येक चरण पर एक नजर डालते हैं।

स्टेज - 1: सतत विकास

प्रयुक्त उपकरण: गिट, एसवीएन, मर्क्यूरियल, सीवीएस

प्रक्रिया प्रवाह:

  • यह वह चरण है जिसमें सॉफ्टवेयर की ‘प्लानिंग involves और involves कोडिंग involves शामिल है। आप नियोजन चरण के दौरान प्रोजेक्ट विजन तय करते हैं और डेवलपर्स एप्लिकेशन के लिए कोड विकसित करना शुरू करते हैं।

  • यहाँ नहीं हैं DevOps उपकरण नियोजन के लिए आवश्यक हैं, लेकिन कोड बनाए रखने के लिए कई उपकरण हैं।

  • कोड किसी भी भाषा में हो सकता है, लेकिन आप इसे संस्करण नियंत्रण उपकरण का उपयोग करके बनाए रखते हैं। कोड को बनाए रखने की इस प्रक्रिया को स्रोत कोड प्रबंधन के रूप में जाना जाता है।

  • कोड विकसित होने के बाद, आप कंटीन्यूअस इंटीग्रेशन चरण में जाते हैं।

स्टेज - 2: निरंतर एकीकरण

उपकरण: जेनकिंस, टीमसिटी, ट्रैविस

प्रक्रिया प्रवाह:

  • यह चरण संपूर्ण DevOps जीवन चक्र का मूल है। यह एक अभ्यास है जिसमें डेवलपर्स को स्रोत कोड में अधिक बार बदलाव करने की आवश्यकता होती है। यह दैनिक या साप्ताहिक आधार पर हो सकता है।

  • आप तब हर कमिटमेंट का निर्माण करते हैं और इससे समस्याओं के जल्द पता लगने की अनुमति मिलती है। बिल्डिंग कोड में न केवल संकलन शामिल है, बल्कि इसमें कोड समीक्षा, यूनिट परीक्षण, एकीकरण परीक्षण और पैकेजिंग भी शामिल है।

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

  • इस चरण में, आप कोड को एक निष्पादन योग्य फ़ाइल में बनाने / पैकेजिंग के लिए उपकरणों का उपयोग करते हैं ताकि आप इसे अगले चरणों में अग्रेषित कर सकें।

स्टेज - 3: निरंतर परीक्षण

जावा में int के लिए डबल परिवर्तित

उपकरण: जेनकिंस, सेलेनियम टेस्टएनजी, जुनिट

प्रक्रिया प्रवाह:

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

  • सेलेनियम स्वचालन परीक्षण के लिए प्रयोग किया जाता है, और रिपोर्ट द्वारा उत्पन्न कर रहे हैं TestNG । आप जेनकिंस नामक एक सतत एकीकरण उपकरण की मदद से इस पूरे परीक्षण चरण को स्वचालित कर सकते हैं।

  • मान लीजिए कि आपने अपने आवेदन का परीक्षण करने के लिए जावा में एक सेलेनियम कोड लिखा है। अब आप चींटी या मावेन का उपयोग करके इस कोड का निर्माण कर सकते हैं। एक बार जब आप कोड का निर्माण कर लेते हैं, तो आप इसे उपयोगकर्ता स्वीकृति परीक्षण (UAT) के लिए परीक्षण करते हैं। इस पूरी प्रक्रिया का उपयोग करके स्वचालित किया जा सकता है जेनकिंस

स्टेज - 4: निरंतर तैनाती

उपकरणों का इस्तेमाल:

विन्यास प्रबंधन - बावर्ची, कठपुतली, अंसभव

कंटेनरीकरण - डॉकर, वैग्रंट

प्रक्रिया प्रवाह:

  • यह वह चरण है जहां आप उत्पादन सर्वर पर कोड तैनात करते हैं। यह सुनिश्चित करना भी महत्वपूर्ण है कि आप सभी सर्वरों पर कोड को सही ढंग से तैनात करें। आगे बढ़ने से पहले, कृपया कॉन्फ़िगरेशन प्रबंधन के बारे में कुछ बातें समझने की कोशिश करते हैं और कंटेनरीकरण उपकरण । यहाँ उपकरण के ये सेट कंटिन्युअस डिप्लॉयमेंट (CD) प्राप्त करने में मदद करते हैं।

  • विन्यास प्रबंधन किसी एप्लिकेशन की कार्यात्मक आवश्यकताओं और प्रदर्शन में स्थिरता स्थापित करने और बनाए रखने का कार्य है। मुझे इसे आसान शब्दों में कहें, यह सर्वरों को तैनाती जारी करने, सभी सर्वरों पर अपडेट शेड्यूल करने और सबसे महत्वपूर्ण रूप से कॉन्फ़िगरेशन को सभी सर्वरों के अनुरूप बनाए रखने का कार्य है।

  • कंटेनरीकरण उपकरण भी तैनाती चरण में समान रूप से महत्वपूर्ण भूमिका निभाते हैं। कंटेनरीकरण उपकरण विकास, परीक्षण, मंचन के साथ-साथ उत्पादन वातावरण में स्थिरता बनाने में मदद करते हैं। इसके अलावा, वे तेजी से स्केलिंग-अप और स्केलिंग-डाउन करने में भी मदद करते हैं।

स्टेज - 5: सतत निगरानी

उपकरण का इस्तेमाल किया: स्प्लंक, ईएलके स्टैक, नागिओस, न्यू रिले

प्रक्रिया प्रवाह:

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

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

अंत में, हम चर्चा करेंगे कि वास्तव में एक DevOps अभियंता कौन है।

एक DevOps इंजीनियर कौन है?

DevOps Engineer वह है जो सॉफ्टवेयर डेवलपमेंट लाइफसाइकल को समझता है और डिजिटल पाइपलाइन (CI / CD पाइपलाइन) विकसित करने के लिए विभिन्न ऑटोमेशन टूल्स की एकमुश्त समझ रखता है।

DevOps Engineer कोड रिलीज़ को देखने के लिए डेवलपर्स और IT कर्मचारियों के साथ काम करता है। वे या तो डेवलपर्स हैं जो तैनाती और नेटवर्क संचालन में रुचि रखते हैं या sysadmins जिन्हें स्क्रिप्टिंग और कोडिंग का शौक है और वे विकास के पक्ष में आगे बढ़ते हैं जहां वे परीक्षण और तैनाती की योजना में सुधार कर सकते हैं।

तो इस लेख में मेरी ओर से यह सब क्या है DevOps पर। मुझे आशा है कि आप यहाँ पर चर्चा की गई हर बात को समझ गए होंगे। यदि आपके कोई प्रश्न हैं, तो कृपया टिप्पणी अनुभाग में उल्लेख करें।

निम्नलिखित ब्लॉगों की एक सूची है जो आपको दिलचस्प लग सकती है:

  1. सतत वितरण ट्यूटोरियल
  2. डॉकटर कंटेनर ट्यूटोरियल
  3. कठपुतली ट्यूटोरियल

अब आप समझ गए होंगे DevOps क्या है , इसकी जाँच पड़ताल करो 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। Edureka DevOps प्रमाणन प्रशिक्षण पाठ्यक्रम शिक्षार्थियों को समझने में मदद करता है कि DevOps क्या है और विभिन्न DevOps प्रक्रियाओं में विशेषज्ञता हासिल करता है और कठपुतली, जेनकींस, नागोइस, Ansible, शेफ, साल्टस्टैक और GIT जैसे विभिन्न चरणों को SDLC में स्वचालित करने के लिए।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया टिप्पणी अनुभाग में इसका उल्लेख करें और हम आपके पास वापस आ जाएंगे।