Sysadmin और DevOps Engineer में क्या अंतर है?


40

नौकरी के लिए आवेदन करते समय, आमतौर पर आप दो प्रकार की समान नौकरियां पा सकते हैं: Sysadmin Engineer और DevOps Engineer

दोनों सर्वर कॉन्फ़िगरेशन से निपटते हैं और कंप्यूटर सिस्टम के विश्वसनीय संचालन को सुनिश्चित करते हैं। दोनों के बीच अंतर बताना मुश्किल हो सकता है। उनके बीच मुख्य अंतर क्या हैं?




SRE और sysadmin शब्द अलग-अलग हैं।
kenorb

2
मेरा सुझाव है कि आप sysadmin के लिए एक परिभाषा शामिल करें, और उन उत्तरों के लिए अनुमति दें जो DevOps की भूमिका की तुलना कर सकते हैं। मैं व्यक्तिगत रूप से सोचता हूं कि DevOps भी एक भूमिका नहीं है ... इसलिए मुझे इस मामले पर कुछ कहना होगा।
एवगेनी

1
@Evgeny भर्ती एजेंसियों को बताएं।
kenorb

जवाबों:


54

मुख्य रूप से DevOps एक भूमिका नहीं है (जब इसका उपयोग किया जाता है तो यह वास्तविक भूमिका की तुलना में अधिक गूंजता है)।

DevOps मोटे तौर पर एक संगठन पैटर्न है जो डेवलपर्स और sysadmins के बीच साइलो को तोड़ने का लक्ष्य रखता है।
मुख्य लक्ष्य देवों और sysadmins (आमतौर पर परीक्षकों के साथ) अपनी परिभाषा से उत्पाद (आवेदन) के लिए जिम्मेदार, इस उत्पाद के संचालन में रखरखाव तक वास्तुकला के फैसले के साथ टीमों का निर्माण करना है।
टीम का प्रत्येक सदस्य उत्पाद के पूरे जीवन-चक्र पर निर्णय का हिस्सा होगा, एक देव उत्पादन में कुछ sadadmin कार्य करेगा, और एक sysadmin उत्पाद के डिजाइन चरण में भाग लेगा ताकि बुनियादी ढांचे के दृष्टिकोण से कैविटी से बचा जा सके। उदाहरण के लिए।

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


9
इतना सब कुछ ... DevOps कोई भूमिका नहीं है। आप एक DevOps संस्कृति के "भाग" के रूप में एक अलग तरीके से "सिस्टम" करते हैं।
केन मुगराज

2
मैंने जिन संगठनों में काम किया है (शायद डिज़ाइन की तुलना में मौका के माध्यम से) यह एक चरम पर ले गया: हमारे पास कोई समर्पित sysadmins नहीं था और सभी sysadmin काम "नियमित" डेवलपर्स द्वारा किया गया था। (इस विशेष संगठन में कई डेवलपर्स बहुत अनुभवी सिस्टम प्रशासक थे, इसलिए हमें कभी भी किसी ऐसे व्यक्ति को नियुक्त करने की आवश्यकता महसूस नहीं हुई जो उस में माहिर हो।)
कर्ट जे। सैम्पसन

"DevOps लगभग एक संगठन पैटर्न है", जितना अधिक ज्ञानवर्धक स्निपेट मैंने अब तक पढ़ा है।
वेबवॉमन

हो सकता है कि आप स्पष्ट कर सकें कि DevOps! = NoOps
sgargel

20

लघु संस्करण

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

दीर्घ संस्करण

DevOps के पीछे के विचार सिस्टम प्रशासन, संचालन और चुस्त समुदायों से बाहर आए, विशेष रूप से, पैट्रिक डेबिस ने Agile2008 में 'एजाइल इन्फ्रास्ट्रक्चर' नामक एक प्रस्तुति दी , जहां उन्होंने एक संगठन के संचालन के तीन कार्यों के बीच असमानता पर प्रकाश डाला:

  1. एजाइल डेवलपमेंट टीमें - एजाइल टीमें कोड लिख रही हैं।
  2. सिस्टम प्रशासक टीम - सॉफ्टवेयर चलाने के लिए बुनियादी ढांचे का निर्माण।
  3. संचालन टीमें - उत्पादन / लाइव में सहायक अनुप्रयोगों और बुनियादी ढांचे का समर्थन।

डेबिस का प्रस्ताव एक साथ काम करने के तीन तरीकों को एकीकृत करना था, विशेष रूप से सिस्टम एडमिनिस्ट्रेशन टीमों और संचालन टीमों को एक वॉटरफॉल मॉडल से फुर्तीली मॉडल में स्थानांतरित करना। उस अंत तक, डेबिस सेटअप डेओप्सडेज़ 2009 में गेन्ट, बेल्जियम ने अनजाने में देवओप्स वाक्यांश का संयोजन किया

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


1
बहुत बढ़िया सारांश! सर्वश्रेष्ठ मैंने अभी तक इस दर्शन और इंजीनियरिंग शैली के पीछे के इतिहास के बारे में देखा है।
जेसी एडेलमन 19

8

एक ऑपरेशंस बैकग्राउंड से आने वाले DevOps Engineer के रूप में , आपने BASH, PowerShell, Python आदि की पसंद से अपने सर्वर पर सॉफ़्टवेयर की स्थापना को स्क्रिप्ट करने के लिए सर्वर और सॉफ़्टवेयर को मैन्युअल रूप से बनाने और वितरित करने से स्थानांतरित किया होगा । थोड़ी देर बाद, आपको एहसास होगा कि कैसे कूल स्क्रिप्टिंग है और तैनाती को स्वचालित करने के लिए और अधिक परिष्कृत तरीके तलाशने के लिए शुरू करें ।

आखिरकार, आप सिस्टम के अपने बेड़े की स्थिति का प्रबंधन करने में मदद करने के लिए एक बावर्ची, कठपुतली, Ansible या अन्य विन्यास प्रबंधन उपकरण पर बस गए होंगे । जैसा कि आपके उपकरणों के साथ-साथ एप्लिकेशन परिनियोजन और सिस्टम प्रबंधन के स्वचालन के साथ आपके कौशल, आप हाल ही में ' इन्फ्रास्ट्रक्चर इन कोड ' के दायरे में आ गए हैं और इसका उपयोग न केवल सॉफ्टवेयर की तैनाती को स्वचालित करने के लिए करते हैं, बल्कि बुनियादी ढांचे और वातावरण की आवश्यकता है व्यवसाय को क्लाउड में स्थानांतरित करने के दौरान सॉफ़्टवेयर को चलाने के लिए।

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

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

आप गौर किया है कि इस कदम DevOps के साथ काम करने से भी अधिक था devs , या का उपयोग कर नए उपकरण और तकनीक है, लेकिन एक अलग था सांस्कृतिक टीम में बदलाव, एक है कि बड़े पैमाने पर संगठन के माध्यम से रिस चुका है। आप साझा जिम्मेदारियों , साझा टूलिंग और साझा लक्ष्यों के साथ एक करीबी टीम के रूप में काम कर रहे थे ।

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

जैसा कि नए कोड CICD चरणों के माध्यम से अपना रास्ता बनाता है, आप, डेवलपर्स और व्यवसाय को विश्वास है कि उत्पादन के लिए जारी होने पर अपडेट नहीं टूटेगा। टीम को " निरंतर परिनियोजन " मिलने से पहले जाने का कोई रास्ता है , आपको अभी भी नीली / हरी परिनियोजन क्षमता को स्वचालित करने के महीन बिंदुओं पर व्यवस्थित होने की आवश्यकता है , और निर्णय ज्यादातर एक व्यवसाय है। कुछ समय के लिए आप संतुष्ट हैं कि 3am पर कॉलों की संख्या कम हो गई है और सेव -1 और सेव -2 की कमी है।

यहां तक ​​कि अगर आपको सेव -1 मिलता है, तो आप ऑल-नाइटर्स को अपनी पीठ से सांस लेने वाले प्रबंधकों के साथ नहीं खींच रहे हैं - आप CICD पाइपलाइन के माध्यम से पिछले संस्करण को आसानी से जारी कर सकते हैं और सिस्टम को फिर से ऑनलाइन प्राप्त कर सकते हैं। व्यापार ने देखा है कि परिवर्तनों के वेग के बावजूद आईटी प्रणालियों की स्थिरता में सुधार हुआ है ।

आप अपने व्यवसाय में सॉफ़्टवेयर को चलाने के लिए आवश्यक संसाधनों का प्रबंधन करते हैं, खासकर जब आप सोचते हैं कि यह कैसे हुआ करता था और आपके रक्त की मात्रा डाटासेंटर में रेल पर पीछे रह जाती है ...


5

Sysadmin बनाम DevOps (व्यक्तिगत दृश्य)

कुछ कंपनियां देव, ऑप्स और टेस्ट के बारे में बात करती हैं। अगर किसी चीज़ की जांच करनी है तो वे कहते हैं: "टेस्ट ऐसा करना चाहिए"। अगर कुछ विकसित करने की आवश्यकता है, तो देव ऐसा करेगा और यदि सॉफ्टवेयर को तैनात करने की आवश्यकता है, तो ऑप्स ऐसा करेगा।

मेरी राय में और मैंने कई कंपनियों में जो अनुभव किया है, वह यह है कि यह "दीवार पर फेंक" मानसिकता के परिणामस्वरूप होता है जिसके परिणामस्वरूप लोगों और टीमों के बीच घर्षण होता है। व्यक्तिगत रूप से, मुझे कभी-कभी लगता है कि लोग व्यक्तिगत रूप से काम करते हैं और कहते हैं कि यह मैंने किया, मुझे टीम के रूप में काम करने के बजाय कुछ नहीं करना है।

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

संदर्भ

sysadmin

विकिपीडिया के अनुसार :

एक सिस्टम प्रशासक, या sysadmin, एक व्यक्ति जो कंप्यूटर सिस्टम के रखरखाव, कॉन्फ़िगरेशन और विश्वसनीय संचालन के लिए जिम्मेदार है; विशेष रूप से बहु-उपयोगकर्ता कंप्यूटर, जैसे सर्वर।

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

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

DevOps

विकिपीडिया के अनुसार :

DevOps ("विकास" और "संचालन" का एक मिश्रित यौगिक) एक सॉफ्टवेयर विकास और वितरण प्रक्रिया है जो उत्पाद प्रबंधन, सॉफ्टवेयर विकास और संचालन पेशेवरों के बीच संचार और सहयोग पर जोर देती है। यह सॉफ्टवेयर एकीकरण, परीक्षण, तैनाती, और बुनियादी ढांचे में परिवर्तन की निगरानी और निगरानी के लिए एक संस्कृति और पर्यावरण की स्थापना करके निर्माण, परीक्षण, और सॉफ्टवेयर जारी करते हुए तेजी से, अक्सर और अधिक मज़बूती से हो सकता है।

DevOps

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

DevOps टूलचिन

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


1
केवल एक छोटी सी टिप्पणी: जब तक टीम पूरी तरह से देव / ऑप्स / टेस्ट क्षेत्रों के प्रत्येक पहलू पर अच्छा कवरेज करती है और अच्छा संचार होता है, यह बिल्कुल आवश्यक नहीं है कि टीम में प्रत्येक व्यक्ति भी इस तरह के प्रत्येक क्षेत्र को कवर करता है। निश्चित रूप से, अगर ऐसा होता है तो यह एक अच्छी बात है, लेकिन इसकी आवश्यकता कुछ मामलों में अनावश्यक रूप से महंगी पड़ सकती है।
Dan Cornilescu

2

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

उदाहरण के लिए, एक DevOps इंजीनियर हो सकता है, एक डेवलपर जो नेटवर्क और परिनियोजन संचालन में रुचि रखता है या एक सिस्टम प्रशासक है जिसे कोडिंग और स्क्रिप्टिंग का शौक है। सिस्टम एडमिनिस्ट्रेटर से लेकर DevOps इंजीनियर तक संक्रमण बहुत मुश्किल नहीं है, वास्तव में, यह लेख प्रक्रिया का वर्णन करने के लिए बहुत अच्छा काम करता है।

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


-1

ऐसे सर्वर होने जा रहे हैं जो आपको डेटा सेंटरों में चलते नहीं सुनाई देते हैं। सब कुछ सॉफ्टवेयर होने जा रहा है। भंडारण, नेटवर्क, सिस्टम, सुरक्षा, डेटा केंद्र; SDN, फ़ायरवॉल, NFV, स्टोरेज, सर्वर, आदि Sysadmins बिना सॉफ्टवेयर डेवलपमेंट बैकग्राउंड, SDLC अनुभव (मेरा मतलब यह भी नहीं है कि पर्ल, पॉवर्सशैल आदि को स्क्रिप्ट करना) शायद गायब हो जाएगा। वितरित, स्केलेबल और वर्चुअलाइज्ड वातावरण, जो ज्यादातर बादल है, क्षैतिज रूप से लंबवत नहीं बढ़ते हैं।


मैं यह कहने की हिम्मत करता हूं कि Sysadmins ऊर्ध्वाधर बढ़ती है, DevOps (या OpsDev) क्षैतिज बढ़ते हैं। आप एक ही पैटर्न देख सकते हैं कि मोनोलिथ्स से माइक्रोसर्विस कैसे विकसित हुए। मैं इसके बजाय सॉफ्टवेयर टीम के DevOps इंजीनियर को ऑपरेशन / सिस्टम टीम से नहीं चुनूंगा।

क्योंकि ऑपरेशंस / सिस्टम टीम सिर्फ वही चलाती है जो सॉफ्टवेयर टीम बनाती है।

  • Sysadmins लिनक्स / FreeBSD / विंडोज़ कर्नेल आदि का निर्माण नहीं करते हैं, ठीक वैसे ही जैसे सॉफ्टवेयर इंजीनियर एप्लीकेशन का निर्माण / संकलन करते हैं।
  • Sysadmins सॉफ्टवेयर विकास जीवन चक्र (SDLC) के माध्यम से नहीं जाते हैं।
  • Sysadmins उत्पादन पाइपलाइन (CI / CD प्रक्रिया) का हिस्सा नहीं हैं।
  • Sysadmin CI / Continuous Delivery / Deployment समाप्त होने के बाद काम करना शुरू करता है।

    और यदि आप परिनियोजन / वितरण को तोड़ते हैं और असाइन करते हैं, तो यह एक टूटी हुई पाइपलाइन हो सकती है
    सॉफ्टवेयर टीम निर्माता प्रणाली / संचालन टीम ज्यादातर धावक / केयरटेकर हैं।

ऐसा लगता है कि व्यवस्थापन के लिए कोई सर्वर / सिस्टम नहीं है, कोई sysadmin की आवश्यकता नहीं है।

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

सॉफ़्टवेयर टीम का कोई व्यक्ति पहले से ही जानता है कि कैसे निर्माण करना है, यहां तक ​​कि कोड को कैसे बनाए रखें (SRE vs DevOps / OpsDev)।


मुझे आश्चर्य है कि इसे DevOps क्यों नहीं बल्कि OpsDev कहा जाता है? क्या यह दोनों के बीच की दिशा से संबंधित है?

* कहीं नहीं के बीच में, मैं सॉफ्टवेयर परिभाषित भंडारण के बारे में लिखना शुरू नहीं किया, यह इस पर एक अब हटाए गए टिप्पणी की प्रतिक्रिया में है *

सॉफ्टवेयर परिभाषित भंडारण के बारे में


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