SysAdmin और डेवलपर: जिम्मेदारियों [बंद]


26

जब यह एक उत्पादन वेबसर्वर की तरह कुछ की बात आती है, तो सिसडमिन और डेवलपर के लिए जिम्मेदारियों के लिए सबसे अच्छा अभ्यास क्या है? विशेष रूप से, मैं सॉफ़्टवेयर को अपडेट / इंस्टॉल करने के बारे में सोच रहा हूं। (मेरी समझ में, उत्पादन सर्वर पर देव की जड़ तक पहुँच नहीं होनी चाहिए।)

इसलिए एक उत्पादन वेबसर्वर Wordpress चला रहा है, और इसे नवीनतम संस्करण में अद्यतन करने की आवश्यकता है। इसे अद्यतन रखने के लिए कौन जिम्मेदार है?

क्या होगा यदि देवताओं के पास कस्टम हैक किए गए प्लगइन्स हैं, या ऐप पर कस्टम कोर फाइलें हैं (इस उदाहरण में, WP)?


2
प्लगइन्स पर देव का डॉक्स कहाँ है और कोर फ़ाइलों का बैकअप कहाँ है और पिछली बार बैकअप और डॉक्यूमेंटेशन का परीक्षण आपके देव परिवेश में कब किया गया था?
फोर्जमैन

भूमिका-आधारित विशेषाधिकारों के बारे में क्या? उन्हें सुरक्षित, अंकेक्षित पहुँच प्रदान करें जो उन्हें आपके सर्वर को बिना पेंच के करने की आवश्यकता है।
allruiz

जवाबों:


21

मैंने पाया है कि ज्यादातर मामलों में, यदि आप भौतिक सर्वर के लिए जिम्मेदार हैं, तो वह देव रूट को एक्सेस नहीं दे सकता।

यह एक "पवित्र युद्ध" बहस का एक सा है क्योंकि मुझे यकीन है कि आप डेवलपर्स को असहमत पाएंगे। मैं व्यक्तिगत रूप से उस बहस के दोनों किनारों पर रहा हूं।

मेरे MAIN ने देवों (यहां तक ​​कि 100% विश्वसनीय देवों) को नहीं देने के लिए तर्क दिया क्योंकि एक्सवाईजेड को सही ढंग से काम करने के लिए कुछ पैकेज की आवश्यकता न होने की तुलना में अधिक बार होता है। वे आगे बढ़ते हैं और इसे स्थापित करते हैं ... या कुछ को फिर से कॉन्फ़िगर करें जो पहले से ही है इसलिए यह काम करता है ... या ... अच्छी तरह से ... आपको विचार मिलता है।

महीने गुजरते हैं ... सर्वर को फिर से इंस्टॉल या रीक्रिएट करना पड़ता है ... और अचानक किसी को भी नहीं पता कि "यह पुराने सर्वर पर काम करता है लेकिन नया नहीं है।"

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

यह दोनों पक्षों के लिए $ $ में एक दर्द हो सकता है ... लेकिन अगर सर्वर, पैकेज और प्रलेखन के लिए sysadmin जिम्मेदार है ... और डेवलपर विकास और सॉफ़्टवेयर के लिए ज़िम्मेदार है ... मुझे लगता है कि ' यह अंत में इसके लायक था मिल जाएगा।

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


तो मैंने जिस स्थिति का वर्णन किया है, उसके बारे में क्या है, जहां एप्लिकेशन (जैसे Wordpress) को अपडेट करने के लिए रूट एक्सेस की आवश्यकता नहीं है। इसे अद्यतन रखने के लिए कौन जिम्मेदार होना चाहिए?
जोश ब्राउन

उस विशेष उदाहरण में इसकी मूल राजनीति (यानी प्रबंधन निर्णय)। मेरे संगठन में यह sysadmin होगा जो सर्वरों को पैच अप करने और अद्यतित रखने के लिए ज़िम्मेदार है, और इस मामले में वर्डप्रेस को अपडेट रखते हुए। Sysadmin का काम सर्वर को सुरक्षित रखना है। मुझे लगता है जैसे (विशेषकर इन दिनों) Wordpress को अद्यतित रखना उसी का हिस्सा है।
KPWINC

यदि आपके पास एक होस्टिंग कंपनी में प्रबंधित सर्वर है तो वे Wordpress को कवर करने की संभावना नहीं होगी। अंगूठे का नियम यह होगा कि जिसने भी सॉफ्टवेयर स्थापित किया है वह इसके लिए जिम्मेदार है। Aysadmins OS, webserver आदि इंस्टॉल करेगा। डेवलपर्स वर्डप्रेस इंस्टॉल करेगा।
ओलिवेबी

16

गोल्डन रूल : गैर-प्रवेशकों को ऐसी किसी भी चीज़ को छूने न दें, जिसे आप टूटना नहीं चाहते हैं और जिसके लिए आपको जिम्मेदार ठहराया जाएगा।

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


5
तथास्तु! दूर जाने के लिए डेवलपर को पाने का एक जादुई तरीका ... पूछें "क्या यह देव पर्यावरण पर काम करता है?" या "आपकी बिल्ड शीट कहां है?"
फोर्जमैन

12

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

अधिकांश डेवलपर्स आपको यह बताने जा रहे हैं कि उन्हें सर्वर में व्यवस्थापक स्तर तक पहुंच की आवश्यकता है और उनमें से अधिकांश मुझसे असहमत हैं, लेकिन मैं वह हूं जो इसे 2AM पर रिबूट करना होगा जब यह लटका रहता है, तो इसे फिर से बनाना होगा एक असफल अद्यतन, डाउनटाइम मेरे विभाग, आदि के खिलाफ चार्ज किया जाता है, आदि। मुझे अपने SLA को प्रभावित करने वाली किसी भी चीज के लिए CIO को जवाब देना होगा, इसलिए मैं केवल एक ही हूं जो सर्वर और मैं के लिए व्यवस्थापक स्तर का उपयोग करता है। ' सभी घटकों, अपडेट्स, परिवर्तनों आदि के लिए m जिम्मेदार


यहाँ! यहाँ! :-D 2 - 3 am कुछ डॉर्क अप परिवर्तन से निपटने का एक मजेदार समय नहीं है। (वहाँ देखा गया ... विसूडो ने इसे हल किया)।
फोर्जमैन

1
मैं वास्तव में इस विचार को पसंद करता हूं कि "जो भी सर्वर के अपटाइम के लिए जिम्मेदार है, वह वह है जो सभी अपडेट, परिवर्तनों के लिए जिम्मेदार होना चाहिए" - यह बहुत मायने रखता है।
जोश ब्राउन

1

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


1

देव और संचालन के बीच अंतर को धुंधला करने के लिए एक प्रवृत्ति है। अपने डेवलपर्स sysadmins और अपने sysadmins डेवलपर्स बनाएं।

इस अर्थ में, वर्डप्रेस ब्लॉग के स्वचालित (और प्रोग्रामेटिक) प्रोविज़निंग पर कुछ काम से लाभान्वित हो सकता है। कई वर्डप्रेस उपयोगकर्ता कुछ WP / WPMU उदाहरणों से अधिक बनाए रखते हैं और उन्हें समय पर अद्यतन करना कम से कम बोझिल है।

आप Agile 2009 से Agile Infrastructure स्लाइड में दर्शन का एक अच्छा (और मजेदार) अवलोकन पा सकते हैं


1

डेवलपर्स के पास उत्पादन पर जड़ नहीं होनी चाहिए; डेवलपर्स को छोड़कर हर कोई इस पर सहमत है। लेकिन डेवलपर्स अपने केक को खा सकते हैं और उसे खा भी सकते हैं। मैं कुछ हैरान हूं कि किसी ने भी स्पष्ट रूप से इसका उल्लेख नहीं किया है:

मेरे एक बहुत लंबे समय के छोटे व्यवसाय के ग्राहकों के पास एक ड्रुपल इंस्टॉलेशन, कई वर्डप्रेस साइट्स, एक एसएमएफ फोरम और कुछ अन्य यादृच्छिक छोटे वेब ऐप के साथ एक वेब साइट है। मैं अनुबंध sysadmin हूं (और ऐतिहासिक कारणों से भी आवश्यकता पड़ने पर वर्डप्रेस और एसएमएफ को अपडेट / हैक करता है) और मेरे क्लाइंट का अपना अनुबंध ड्रुपल डेवलपर्स है। सार्वजनिक क्लाउड प्रदाता पर वातावरण कई VMware वर्चुअल मशीन है।

डेवलपर्स वास्तव में रूट का उपयोग करना चाहते हैं और इसकी आवश्यकता है। उदाहरण के लिए, उनके सभी कस्टम Drupal सामान काम करने के लिए nginx rewrite नियम लिखना उनकी ज़िम्मेदारी है। लेकिन नरक में कोई रास्ता नहीं मैं उन्हें उत्पादन सर्वर पर रूट एक्सेस दे रहा हूं, और मेरा ग्राहक मेरे साथ सहमत है।

इसलिए हमने समझौता किया: उन्हें टेस्ट वेब सर्वर पर रूट एक्सेस मिलता है (जो आमतौर पर अपने आईपी पते को छोड़कर उत्पादन के समान होता है और उसी क्लाउड पर होता है)। जो उत्पादन की तरह, एटकीपर है इसलिए मैं देख सकता हूं कि उन्हें जो भी बदलाव करने की जरूरत है और जो भी पैकेज उन्होंने स्थापित किए हैं। मैं तब या तो उत्पादन में परिवर्तन खींच सकता हूं या उन्हें बता सकता हूं कि जो कुछ भी वे करना चाहते हैं उसमें क्या गलत है। और अगर वे वास्तव में खराब हो गए हैं (वे अभी तक नहीं है, धन्यवाद gawd) मैं आसानी से उनके परिवर्तन वापस कर सकते हैं।

उत्पादन डेटाबेस सर्वर तक उनकी कोई पहुंच नहीं है; उनके पास उपयोगकर्ता लॉगिन भी नहीं है। केवल मैं और मेरा ग्राहक।

(वेब ऐप ही, वे सीधे git के साथ तैनात होते हैं, और यदि वे इसे तोड़ते हैं, तो वे इसे ठीक करवाते हैं और मेरे क्लाइंट को समझाते हैं कि वे उसके डेवलपर क्यों बने रहें। हालाँकि मेरा क्लाइंट मुझे इस तरह के ईमेल पर CC करेगा ताकि मैं भी कर सकूँ। उन पर हंसें या चेहरा देखें।)


0

रूट == सिस्टम एडमिन।

उपयोगकर्ता == डेवलपर्स, डीबीए, या उपयोगकर्ता।

रूट को पता नहीं है कि कब सर्वर डाउन हो जाता है, रूट यूजर्स को खुद से बचाता है, रूट यूजर्स के डेटा को नेट से बचाता है, रूट सर्वर के हेल्थ को सभी यूजर्स से ऊपर रखता है। रूट का गधा सर्वर ऑफ़लाइन होने पर लाइन पर है। सर्वर खुश, रूट खुश!

अनचाहे समय के लिए सामान्य कारण: उपयोगकर्ता, पर्यावरण में अवांछित परिवर्तन, और बैकहोज़। सर्वर ठीक वही करते हैं जो उन्हें बताया जाता है कि वे बेतरतीब ढंग से नहीं तोड़ते हैं। हैकर्स आप से पूछते हैं, इसकी नहीं तो, इसकी कब ... इस प्रकार एक "रूट" की आवश्यकता है।

00:33 CDT क्या आप जानते हैं कि आपके बैकअप और डिजास्टर रिकवरी डॉक्यूमेंट्स कहाँ हैं? :-P


0

Sysadmins के पास व्यवस्थापक पहुंच होनी चाहिए (जैसे शीर्षक कहता है)। किसी और को उत्पादन सर्वर तक पहुंचने की आवश्यकता नहीं है। यदि डेवलपर्स को किसी उत्पादन प्रणाली पर समस्या का निवारण करने की आवश्यकता होती है, तो विकास पर्यावरण में समस्या को पुन: पेश करना चाहिए। अगर ऐसा नहीं है तो वे सिसडमिन के साथ बैठकर सिस्टम को देख सकते हैं।

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

अमेरिका में सार्वजनिक कंपनियों में, आपके पास सौदा करने के लिए SOX, HIPPA आदि हैं। इनमें से अधिकांश गॉडफ़ोर्सन नियम वास्तव में इस तर्क के साथ मदद करते हैं। एसओएक्स कर्तव्यों के पृथक्करण को निर्धारित करता है जिसके लिए आवश्यक है कि डेवलपर्स उत्पादन प्रणालियों से दूर रहें।


"डेवलपर्स उत्पादन को छूने में सक्षम नहीं हैं"। क्या वहां कहीं "नहीं" नहीं होना चाहिए? ;)
जॉन गार्डनियर्स 22
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.