इसे नौसिखिए से परिचित कराने के लिए DevOps की एक वैध परिभाषा क्या हो सकती है?


16

मैंने बहुत सी SCM संबंधित प्रस्तुतियाँ की हैं / बनाई हैं, और अब मैं इसके DevOps उत्तराधिकारी को "अपग्रेड" करने का प्रयास कर रहा हूं।

मैं हमेशा अपनी प्रस्तुतियों में क्या करने की कोशिश करता हूं, एक परिचय स्लाइड के साथ आना है जिसमें किसी तरह संदेश शामिल है जिसे मैं वितरित करना चाहता हूं (और जो मैं अपनी प्रस्तुति के बाकी हिस्सों में विस्तार से बताता हूं)। ऐसा करते समय, मैं अपने स्वयं के प्रश्न का उत्तर देने की कोशिश करता हूं जैसे "मुझे 1 से 3 वाक्यांश क्या होंगे जो मैं उपयोग करना चाहता हूं यदि मुझे 10 से 20 सेकंड (केवल!) मिला है ताकि इसे किसी नए व्यक्ति को समझा सकें?" "।

मैंने सोचा था कि मुझे पता था कि वास्तव में DevOps का क्या मतलब है, और यह किस बारे में है। लेकिन मैंने DevOps (यहां तक ​​कि DevOps.SE ...) के कुछ विचित्र उपयोगों / संदर्भों को देखा है । यह मुझे आश्चर्यचकित करता है कि हो सकता है कि मुझे क्या लगता है कि DevOps है, पूरी तरह से गलत है।

तो क्या आम तौर पर DevOps की परिभाषा पर सहमति है?


किसी प्रश्न को कैसे बेहतर बनाया जा सकता है, इसके लिए टिप्पणियों का इतिहास रिकॉर्ड में बदल दिया गया है ।
तैंसीबाई

1
मुख्य बात जो मैंने कई लोगों से बात करने से सीखी है, वह यह है कि परिभाषा पर कोई सहमति नहीं है।
मोनिका सेलियो

merci @XiongChiamiov ... कि आप की तरह लग रहा है एक और परिभाषा के बारे में पता हो सकता है ... क्यों नहीं उन्हें एक अतिरिक्त जवाब के रूप में पोस्ट करने की कोशिश की?
Pierre.Vriens

जवाबों:


11

संक्षेप में DevOps

से विकिपीडिया :

DevOps ( " सॉफ्टवेयर डीईवी एलॉपमेंट " और " सूचना प्रौद्योगिकी ओपी eration एस " का एक क्लिप्ड कंपाउंड ) एक शब्द है जिसका उपयोग प्रथाओं के एक सेट को संदर्भित करने के लिए किया जाता है, जो सॉफ्टवेयर डेवलपर्स और सूचना प्रौद्योगिकी (आईटी) पेशेवरों को स्वचालित करने के सहयोग और संचार पर जोर देता है। सॉफ्टवेयर वितरण और बुनियादी ढांचे में परिवर्तन की प्रक्रिया ।

इसका उद्देश्य एक ऐसी संस्कृति और वातावरण स्थापित करना है जहां सॉफ्टवेयर का निर्माण , परीक्षण और विमोचन तेजी से, बार-बार और अधिक भरोसेमंद रूप से हो सके।

से अवलोकन :

यहाँ छवि विवरण दर्ज करें

वेन आरेख जो विकास (सॉफ्टवेयर इंजीनियरिंग), संचालन और गुणवत्ता आश्वासन (QA) के चौराहे के रूप में DevOps दिखा रहा है

हालांकि, DevOps के लिए कोई एकल "टूल" नहीं है, बल्कि उपकरण का एक सेट है, जिसे DevOps टूलकिन के रूप में भी जाना जाता है :

यहाँ छवि विवरण दर्ज करें

एक DevOps टूलकिन में चरणों को दर्शाने वाला चित्रण

DevOps के चित्र

नीचे DevOps.SE के कुछ सवालों के कुछ उद्धरण दिए गए हैं , जो सभी ऊपर दिए गए DevOps विवरण के किसी न किसी रूप में फिट / पुष्टि करने वाले लगते हैं:

DevOps एक भूमिका नहीं है

नीचे DevOps.SE के कुछ सवालों के कुछ उद्धरण दिए गए हैं , जो सभी को स्पष्ट करते हैं कि DevOps एक भूमिका नहीं है:


10

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

संगठन के पैटर्न

देवता प्रतिपदा:

  • NoOps और NoDevs - सख्ती से DevOps सबसे सख्त अर्थों में नहीं हैं, हालांकि, ये टीमें विकास और संचालन के बीच विभाजन रेखा के बिना सॉफ़्टवेयर का निर्माण और संचालन करती हैं। इन टीमों के साथ चुनौतियां परिपक्वता के लिए नीचे आती हैं, विकास दल विशेषज्ञ सॉफ्टवेयर डेवलपर्स हो सकते हैं लेकिन नौसिखिए ऑपरेटर और वीजा वर्सा।

  • DevOps Bridge - यह वह जगह है जहाँ एक या अधिक टीमों को विकास टीमों से काम लेने और इसे संचालित करने के लिए " उत्पादन " करने की जिम्मेदारी दी जाती है । यह चुनौती अब कम हो गई है, दो हाथ हैं, यानी विकास → DevOps और DevOps → संचालन।

  • DevOps टीम - यह, यकीनन काम कर सकता है यदि टीम के पास ऐसे उपकरण बनाने की जिम्मेदारी है जो DevOps सक्षम ऑपरेटिंग मॉडल का समर्थन करते हैं, हालांकि, इसे संभवतः "टूल टीम" या "प्लेटफ़ॉर्म टीम" कहा जाना चाहिए।

DevOps पैटर्न:

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

  • संस्थागत DevOps - जहां एक प्रोजेक्ट टीम संयुक्त रूप से एक सॉफ्टवेयर पैकेज बिल्डिंग साझा स्वामित्व और सकारात्मक प्रतिक्रिया छोरों के विकास और संचालन दोनों के लिए जिम्मेदार है।

आचरण

DevOps का वास्तविक अभ्यास कई अन्य प्रथाओं के शीर्ष पर है, अर्थात्:

उपरोक्त प्रथाओं में से प्रत्येक दूसरे पर बनाता है, यह एक अभ्यास का पालन नहीं करना संभव है , हालांकि, इसका मतलब है कि एक महत्वपूर्ण प्रतिक्रिया चक्र गायब है जो एक "चूक गए अवसर" का संकेत हो सकता है। अन्य प्रथाओं और DevOps में से किसी का पालन करने के बीच महत्वपूर्ण अंतर उत्पादन में सॉफ्टवेयर का संचालन है

DevOps प्रैक्टिस

तीन तरीके

में फीनिक्स परियोजना जीन किम और उनके सह लेखकों का वर्णन करता है DevOps के तीन तरीके :

प्रणाली की विचारधारा

प्रणाली की विचारधारा

पहला रास्ता पूरी प्रणाली के प्रदर्शन पर जोर देता है, काम या विभाग के एक विशिष्ट साइलो के प्रदर्शन के विपरीत - यह उतना ही बड़ा हो सकता है जितना एक विभाजन (जैसे, विकास या आईटी संचालन) या एक छोटे से व्यक्तिगत योगदानकर्ता के रूप में (जैसे , एक डेवलपर, सिस्टम प्रशासक)।

मेरे अनुभव में डेवलपर्स को ऑपरेशनल कंसर्न और गैर-कार्यात्मक आवश्यकताओं पर विचार करना शुरू करना इस लक्ष्य को प्राप्त करता है। यह DevOps के संस्कृति पहलुओं का बहुत हिस्सा है ।

फीडबैक लूप्स का प्रवर्धन

फीडबैक लूप्स का प्रवर्धन

दूसरा तरीका वामपंथियों के दायें हाथ के छोरों को बनाने के बारे में है। लगभग किसी भी प्रक्रिया सुधार पहल का लक्ष्य फीडबैक को छोटा और बढ़ाना है ताकि आवश्यक सुधार लगातार किए जा सकें।

मैं आम तौर पर कंटीन्यूअस इंटीग्रेशन / डिलिवरी / परिनियोजन और साझा निगरानी और अलर्टिंग के माध्यम से इसे प्राप्त करता हूं, इस प्रकार यह DevOps के टूल कंपोनेंट के साथ बहुत फिट बैठता है ।

सतत प्रयोग और सीखने की संस्कृति

सतत प्रयोग और सीखने की संस्कृति

थर्ड वे एक संस्कृति बनाने के बारे में है जो दो चीजों को बढ़ावा देती है: लगातार प्रयोग, जोखिम लेना और विफलता से सीखना; और यह समझना कि पुनरावृत्ति और अभ्यास महारत हासिल करने की शर्त है।

यह कल्चर स्पेस में बहुत फिट बैठता है, हालांकि यह टूल्स पर निर्भर करता है और संस्कृति को विकसित करने के लिए प्रक्रिया करता है।


बहुत बढ़िया जवाब! हालांकि मैंने विभिन्न प्रथाओं के उस ग्राफ तुलना पर ठोकर खाई थी ... विशेष रूप से चुस्त के बारे में। मुझे लगता है कि यह बहुत अधिक व्यापक शब्द है। परीक्षण को बाहर रखा गया है हालांकि कुछ चुस्त कार्यप्रणाली ने परीक्षण को अपनी प्रथाओं के मूल में रखा है। एक बार यह तर्क दिया जा सकता है कि DevOps बहुत अधिक चुस्त है (या इसे कैसे लागू किया जाता है इसके आधार पर हो सकता है)। चुस्त घोषणापत्र एक अच्छी तरह से बाध्य अभ्यास नियमों की तुलना में अधिक दर्शन का चित्रण करता है। मन से शिकायत करने से अधिक, यह वास्तव में एक अच्छा जवाब है!
न्यूटोपियन

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

4

मैंने सुना है कई, DevOps की कई अलग-अलग परिभाषाएँ। उनमे शामिल है:

  • संचालन कार्यों को संभालने वाले डेवलपर्स
  • एक व्यक्ति जो दुगना काम करता है (एक ही समय में)
  • डेवलपर्स और संचालन दल एक दूसरे के साथ काम कर रहे हैं
  • डेवलपर टूलिंग के लिए संचालन कार्य ("वेब ऑप्स" के नस में)
  • डेवलपर टूलिंग को बनाने और बनाए रखने वाले किसी व्यक्ति के लिए नौकरी का शीर्षक
  • संचालन में स्वचालन का उपयोग
  • संचालन में सार्वजनिक बादलों का उपयोग
  • एक नौकरी जो संचालन, विकास और गुणवत्ता आश्वासन के पहलुओं को जोड़ती है
  • एक नौकरी जो विकास और संचालन टीमों की मदद करने के लिए एक साथ काम करने के लिए मजबूर करती है
  • टीमों के बीच बाधाओं को तोड़ने का एक दर्शन
  • कोड के रूप में बुनियादी ढांचे का इलाज करना
  • पूर्व सॉफ्टवेयर इंजीनियरों के संचालन में आने पर आपको क्या मिलता है
  • एक पूरी तरह से व्यर्थ चर्चा

वास्तव में DevOps क्या है, इस पर कोई सार्वजनिक सहमति नहीं है । कुछ साल पहले हमें "एजाइल" के साथ ऐसी ही समस्याएं थीं, और इसकी एक लिखित परिभाषा है

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


2

इस स्थिति में मैं हमेशा जिस परिभाषा का उपयोग करता हूं वह निम्नलिखित है:

“एक सॉफ्टवेयर निर्माण संस्कृति जो सॉफ्टवेयर वितरण प्रक्रिया और बुनियादी ढांचे में बदलाव को स्वचालित करते हुए सॉफ्टवेयर विकास और संचालन टीमों के बीच संचार और सहयोग पर जोर देती है। DevOps का लक्ष्य सॉफ़्टवेयर बिल्डिंग, परीक्षण और परिनियोजन प्रक्रिया को लगातार, तेज और यथासंभव संभव बनाना है। ”

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


1

निम्नलिखित वैज्ञानिक शोध पत्र द्वारा इस सवाल का पता लगाने के लिए, "व्हाट इज देओप्स", देवओपीएस की प्रस्तावित व्युत्पन्न परिभाषा है:

DevOps एक विकास पद्धति है जिसका उद्देश्य विकास (Dev) और संचालन (Ops) के बीच की खाई को पाटना है, संचार प्रथाओं और सहयोग, निरंतर एकीकरण, गुणवत्ता आश्वासन और वितरण पर जोर देते हुए स्वचालित तैनाती के साथ विकास प्रथाओं के एक सेट का उपयोग करना है।

[जबबारी एट अल।] "डेवॉप्स क्या है ?: एक व्यवस्थित मैपिंग स्टडी ऑन डेफिशिएंसीज़ एंड प्रैक्टिसेस" (2016)


-2

Devops अनुप्रयोगों को लिखने का विकास अभ्यास है जिसका व्यापार डोमेन संचालन है। जहां अधिकांश एप्लिकेशन डेवलपमेंट उन अनुप्रयोगों के निर्माण पर केंद्रित होता है जो वित्त या स्वास्थ्य देखभाल या लॉजिस्टिक्स या कैट वीडियो करते हैं, devops उन अनुप्रयोगों पर ध्यान केंद्रित करते हैं जो बिल्ड, परिनियोजन, निगरानी और मैट्रिक्स एकत्रित करना सक्षम करते हैं।

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

यह व्यवसाय के लोगों को सर्वर तक पहुंच प्रदान करने के बारे में नहीं है - यह कार्यान्वयन के साथ भ्रमित करने वाला उद्देश्य है। यह सही लोगों को सही जानकारी और सही गार्ड-रेल प्रदान करने के बारे में है, ताकि सही निर्णय लेने वाले निर्णयकर्ता हों।


1
whose business domain is operations: इस पर विस्तार करना, या कुछ उदाहरण देना संभव है?
Dawny33

मैं असहमत हूं, devops सॉफ्टवेयर विकास का समर्थन करने के लिए एक संगठन मॉडल है जो अपने आप में एक विकास अभ्यास नहीं है, आप एक devops मॉडल (उदाहरण के लिए मिक्स देव, ऑप्स, क्लाइंट और परीक्षक) में चरम प्रोग्रामिंग कर सकते हैं (शेष उत्तर में अच्छे अंक हैं) )
तेंसिबाई

"Devops की मूल परिभाषा अनुप्रयोगों के विकास का अभ्यास है जिसका व्यापार डोमेन संचालन है" वह नहीं है जिसे मैंने कभी किसी और को सदस्यता लेने के लिए देखा है। डोमेन या उद्देश्य की परवाह किए बिना एप्लिकेशन लिखना, विकास है, न कि DevOps।
एड्रियन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.