डेवलपर्स के पास उत्पादन पर जड़ नहीं होनी चाहिए; डेवलपर्स को छोड़कर हर कोई इस पर सहमत है। लेकिन डेवलपर्स अपने केक को खा सकते हैं और उसे खा भी सकते हैं। मैं कुछ हैरान हूं कि किसी ने भी स्पष्ट रूप से इसका उल्लेख नहीं किया है:
मेरे एक बहुत लंबे समय के छोटे व्यवसाय के ग्राहकों के पास एक ड्रुपल इंस्टॉलेशन, कई वर्डप्रेस साइट्स, एक एसएमएफ फोरम और कुछ अन्य यादृच्छिक छोटे वेब ऐप के साथ एक वेब साइट है। मैं अनुबंध sysadmin हूं (और ऐतिहासिक कारणों से भी आवश्यकता पड़ने पर वर्डप्रेस और एसएमएफ को अपडेट / हैक करता है) और मेरे क्लाइंट का अपना अनुबंध ड्रुपल डेवलपर्स है। सार्वजनिक क्लाउड प्रदाता पर वातावरण कई VMware वर्चुअल मशीन है।
डेवलपर्स वास्तव में रूट का उपयोग करना चाहते हैं और इसकी आवश्यकता है। उदाहरण के लिए, उनके सभी कस्टम Drupal सामान काम करने के लिए nginx rewrite नियम लिखना उनकी ज़िम्मेदारी है। लेकिन नरक में कोई रास्ता नहीं मैं उन्हें उत्पादन सर्वर पर रूट एक्सेस दे रहा हूं, और मेरा ग्राहक मेरे साथ सहमत है।
इसलिए हमने समझौता किया: उन्हें टेस्ट वेब सर्वर पर रूट एक्सेस मिलता है (जो आमतौर पर अपने आईपी पते को छोड़कर उत्पादन के समान होता है और उसी क्लाउड पर होता है)। जो उत्पादन की तरह, एटकीपर है इसलिए मैं देख सकता हूं कि उन्हें जो भी बदलाव करने की जरूरत है और जो भी पैकेज उन्होंने स्थापित किए हैं। मैं तब या तो उत्पादन में परिवर्तन खींच सकता हूं या उन्हें बता सकता हूं कि जो कुछ भी वे करना चाहते हैं उसमें क्या गलत है। और अगर वे वास्तव में खराब हो गए हैं (वे अभी तक नहीं है, धन्यवाद gawd) मैं आसानी से उनके परिवर्तन वापस कर सकते हैं।
उत्पादन डेटाबेस सर्वर तक उनकी कोई पहुंच नहीं है; उनके पास उपयोगकर्ता लॉगिन भी नहीं है। केवल मैं और मेरा ग्राहक।
(वेब ऐप ही, वे सीधे git के साथ तैनात होते हैं, और यदि वे इसे तोड़ते हैं, तो वे इसे ठीक करवाते हैं और मेरे क्लाइंट को समझाते हैं कि वे उसके डेवलपर क्यों बने रहें। हालाँकि मेरा क्लाइंट मुझे इस तरह के ईमेल पर CC करेगा ताकि मैं भी कर सकूँ। उन पर हंसें या चेहरा देखें।)