प्रॉम्प्ट और दायरा
कई सेवाओं, टीमों और डिप्लॉयमेंट वातावरणों वाले संगठन के लिए एक इंटरनल डेवलपर प्लेटफ़ॉर्म डिज़ाइन करें। प्लेटफ़ॉर्म को टिकट कतार बने बिना या प्रत्येक टीम को एक ही आर्किटेक्चर में मजबूर किए बिना सामान्य डिलीवरी कार्यों को आसान बनाना चाहिए।
डेवलपर्स को अलग-अलग वर्कलोड वाले ग्राहकों के रूप में मानें। Backstage एक ऐसे सॉफ्टवेयर कैटलॉग का वर्णन करता है जो सेवाओं, लाइब्रेरीज़ और डोमेन जैसी एंटिटीज़ को ट्रैक करता है; DORA एकल उत्पादकता संख्या का उपयोग करने के बजाय डिलीवरी प्रदर्शन को डेवलपर अनुभव के सिग्नलों के साथ जोड़ने की सलाह देता है।
इंटरव्यूअर क्या जांच रहा है
वे प्लेटफ़ॉर्म-एज़-ए-प्रोडक्ट (platform-as-a-product) सोच, सेगमेंटेशन, वर्कफ़्लो प्राथमिकता, चेंज मैनेजमेंट, गवर्नेंस और मेट्रिक डिज़ाइन का परीक्षण कर रहे हैं। एक मजबूत उत्तर प्लेटफ़ॉर्म क्षमता को डेवलपर के कार्य और एक मापने योग्य परिणाम से जोड़ता है, जबकि वैध अपवादों के लिए एक एस्केप हैच (बचाव का रास्ता) सुरक्षित रखता है।
उत्तर देने से पहले स्पष्ट करने योग्य प्रश्न
- पहला लक्ष्य कौन है: नई टीमें, ऑन-कॉल इंजीनियर्स, सर्विस ओनर्स, या सिक्योरिटी रिव्यूअर्स?
- कौन सा दोहराया जाने वाला कार्य सबसे महंगा है: बूटस्ट्रैपिंग, डिप्लॉयमेंट, ओनरशिप की खोज, ऑब्जर्वेबिलिटी, या कंप्लायंस साक्ष्य?
- कितनी भाषाओं, रनटाइम्स, क्लाउड्स और मैच्योरिटी स्तरों का समर्थन किया जाना चाहिए?
- कौन से प्रतिबंध अनिवार्य हैं, और टीमें कहाँ ऑप्ट-आउट कर सकती हैं?
- क्या लक्ष्य तेज़ डिलीवरी, सुरक्षित बदलाव, आसान ऑनबोर्डिंग, या कम कॉग्निटिव लोड है?
30-सेकंड का उत्तर ढांचा
"मैं उन टीमों से शुरुआत करूँगा जो बार-बार सेवाएँ बनाती हैं और ओनरशिप तथा सुरक्षित डिप्लॉयमेंट डिफ़ॉल्ट खोजने में संघर्ष करती हैं। MVP स्पष्ट मालिकों के साथ एक कैटलॉग, एक सेल्फ-सर्विस सर्विस टेम्पलेट, एक पेव्ड डिप्लॉयमेंट पाथ और खोजने योग्य रनबुक्स हैं। टीमें दस्तावेजी कारणों के साथ इस पाथ से बाहर निकल सकती हैं। मैं तीन प्रतिनिधि टीमों के साथ पायलट करूँगा, पहले प्रोडक्शन बदलाव का समय, विफल डिप्लॉयमेंट रिकवरी, ऑनबोर्डिंग समय, कार्य पूर्णता और डेवलपर संतुष्टि को मापूँगा, फिर केवल वहीं विस्तार करूँगा जहाँ सबूत घर्षण (friction) में कमी दिखाते हैं।"
चरण-दर-चरण गहन विश्लेषण
चरण 1: डेवलपर कार्यों को विभाजित करें
सर्विस ओनर्स, नए कर्मचारियों, ऑन-कॉल इंजीनियर्स और प्लेटफ़ॉर्म ऑपरेटरों का अलग-अलग इंटरव्यू लें। उनकी समस्याएं अलग-अलग होती हैं: किसी निर्भरता की खोज करना, रिपॉजिटरी बनाना, सुरक्षित रूप से शिप करना, या किसी नियंत्रण को साबित करना। केवल फीचर अनुरोधों का नहीं, बल्कि देखे गए वर्कफ़्लो और सपोर्ट टिकटों का उपयोग करें।
चरण 2: गोल्डन पाथ का नक्शा बनाएं
एक लगातार और उच्च जोखिम वाली यात्रा चुनें और उसके इनपुट, डिफ़ॉल्ट, अनुमोदन और आउटपुट को परिभाषित करें। गोल्डन पाथ सबसे आसान सुरक्षित रास्ता होना चाहिए, कोई छिपा हुआ आदेश नहीं। दस्तावेज़ करें कि टीमें कहाँ कस्टमाइज़ कर सकती हैं या बाहर निकल सकती हैं।
चरण 3: सबसे छोटा उपयोगी कैटलॉग बनाएं
ओनरशिप, लाइफ़साइकिल, महत्वपूर्ण निर्भरताओं, डिप्लॉयमेंट और रनबुक्स के लिंक, और ताज़गी (freshness) संकेतकों से शुरुआत करें। Backstage का कैटलॉग मॉडल एंटिटीज़ और मेटाडेटा का उपयोग करता है; एक मालिक और स्रोत फ़ाइल की आवश्यकता रखें ताकि रिकॉर्ड्स एक अनदेखी निर्देशिका न बन जाएं।
चरण 4: सेल्फ-सर्विस क्रियाएं जोड़ें
अगली बाधा के लिए टेम्पलेट्स प्रदान करें: एक सेवा बनाएं, मानक CI जोड़ें, वातावरण का अनुरोध करें, या ऑब्जर्वेबिलिटी सक्षम करें। प्रत्येक क्रिया को पूर्वापेक्षाएँ, अनुमानित समय, परिणाम और ऑटोमेशन विफल होने पर रिकवरी पाथ दिखाना चाहिए।
चरण 5: गवर्नेंस को गार्डरेल्स के रूप में डिज़ाइन करें
सुरक्षा और विश्वसनीयता डिफ़ॉल्ट को स्वचालित करें, लेकिन कार्यान्वयन से नीति को अलग करें। एक प्लेटफ़ॉर्म एक स्पष्ट कारण और अपवाद वर्कफ़्लो के साथ एक जोखिम भरे डिप्लॉयमेंट को ब्लॉक कर सकता है; इसे टीम कोड को चुपचाप दोबारा नहीं लिखना चाहिए या ओनरशिप को छिपाना नहीं चाहिए।
चरण 6: अपनाने और माइग्रेशन की योजना बनाएं
डिज़ाइन पार्टनर्स को शामिल करें, एक वास्तविक सेवा को शुरू से अंत तक माइग्रेट करें, उदाहरण प्रकाशित करें और ऑफिस आवर्स प्रदान करें। माइग्रेशन प्रयास को ट्रैक करें और पुराने रास्तों को प्रलेखित छोड़ें। कम घर्षण के माध्यम से हासिल किया गया अपनाना बिना समर्थन वाले आदेश की तुलना में अधिक टिकाऊ होता है।
चरण 7: प्लेटफ़ॉर्म की विश्वसनीयता को परिभाषित करें
प्लेटफ़ॉर्म को उसके अपने SLOs दें: कैटलॉग ताज़गी, टेम्पलेट की सफलता, डिप्लॉयमेंट वर्कफ़्लो की उपलब्धता, और इंसिडेंट रिस्पॉन्स। एक टूटा हुआ इंटरनल प्लेटफ़ॉर्म एक प्रोडक्शन निर्भरता बन जाता है, इसलिए स्थिति, रोलबैक और सपोर्ट ओनरशिप प्रदान करें।
चरण 8: परिणामों और गार्डरेल्स को मापें
डिप्लॉयमेंट आवृत्ति और विफल डिप्लॉयमेंट रिकवरी समय जैसे डिलीवरी मेट्रिक्स का उपयोग टास्क-लेवल उपायों के साथ करें जैसे कि सेवा बनाने का समय, पहले डिप्लॉयमेंट का समय, सेल्फ-सर्विस पूर्णता और सपोर्ट टिकट। परिवर्तन विफलता, प्लेटफ़ॉर्म की घटनाओं और टीमों में असमान प्रभाव के लिए डेवलपर सर्वेक्षण और गार्डरेल्स जोड़ें।
ट्रेड-ऑफ़ और सीमाएं
ट्रेड-ऑफ़ 1: मानकीकरण या स्वायत्तता
मानक डिफ़ॉल्ट कॉग्निटिव लोड को कम करते हैं; स्वायत्तता टीम की अनुकूलता को बनाए रखती है। पहले इंटरफेस और सुरक्षा नियंत्रणों को मानकीकृत करें, और उनके पीछे कार्यान्वयन विकल्पों की अनुमति दें।
ट्रेड-ऑफ़ 2: निर्माण करें या एकीकृत करें
केवल उस वर्कफ़्लो या नीति का निर्माण करें जो विशिष्ट (differentiating) है। मौजूदा कैटलॉग, CI, सीक्रेट्स और ऑब्जर्वेबिलिटी सिस्टम को तब एकीकृत करें जब वे अनुबंध को पूरा करते हों; प्रत्येक एकीकरण प्लेटफ़ॉर्म के विश्वसनीयता क्षेत्र का हिस्सा बन जाता है।
ट्रेड-ऑफ़ 3: अधिक सुविधाएं या बेहतर पूर्णता
बीस आधे-अधूरे काम करने वाले प्लगइन्स वाला कैटलॉग विश्वसनीय क्रियाओं के एक छोटे सेट की तुलना में अधिक घर्षण पैदा करता है। फीचर काउंट की तुलना में एंड-टू-एंड कार्य पूर्णता को प्राथमिकता दें।
विफलता अभ्यास (Failure drills) और विकास योजना
अभ्यास 1: एक टेम्पलेट आधे रास्ते में विफल हो जाता है
यूज़र को दिखाएं कि क्या बनाया गया था, सुरक्षित रूप से पुनः प्रयास कैसे करें, और सफाई का मालिक कौन है। जहां संभव हो क्रियाओं को idempotent बनाएं और प्लेटफ़ॉर्म-व्यवस्थापक पहुंच की आवश्यकता के बिना लॉग प्रदर्शित करें।
अभ्यास 2: टीमें गोल्डन पाथ को बायपास करती हैं
इसे गैर-अनुपालन (non-compliance) का लेबल देने से पहले उनका इंटरव्यू लें। हो सकता है कि पाथ में एक वैध उपयोग का मामला गायब हो, खराब डिफ़ॉल्ट हों, या छिपा हुआ माइग्रेशन खर्च हो। यात्रा में सुधार करें और उचित निकासों को प्रलेखित करें।
अभ्यास 3: प्लेटफ़ॉर्म आउटेज रिलीज़ को रोकता है
डिग्रेडेड ऑपरेशन, स्टेटस संचार और एक मैनुअल फ़ॉलबैक का परीक्षण करें। प्लेटफ़ॉर्म को परिचालन जोखिम को कम करना चाहिए, न कि एक अपारदर्शी सिंगल पॉइंट ऑफ़ फेलियर बनना चाहिए।
सामान्य गलतियाँ और फॉलो-अप्स
गलती 1: पोर्टल को होमपेज की तरह मानना
अकेले लिंक काम को खत्म नहीं करते हैं। एक कार्य की पहचान करें और एक सेल्फ-सर्विस परिणाम प्रदान करें।
गलती 2: कोड की लाइनों या क्लिक्स को मापना
वे गतिविधि की गणना हैं, प्रोडक्ट के परिणाम नहीं। डिलीवरी डेटा को कार्य पूर्णता और डेवलपर अनुभव के सिग्नलों के साथ जोड़ें।
गलती 3: एक ही स्टैक को अनिवार्य करना
एक प्लेटफ़ॉर्म अनुबंध कई रनटाइम्स का समर्थन कर सकता है। समझाएं कि कौन से प्रतिबंध सुरक्षा के बारे में हैं और कौन से केवल प्राथमिकताएं हैं।
गलती 4: मेटाडेटा ओनरशिप को अनदेखा करना
एक पुराना (stale) कैटलॉग इंसिडेंट रिस्पॉन्स को नुकसान पहुंचाता है। मालिकों, स्रोत-नियंत्रित मेटाडेटा, ताज़गी की जांच और एक एस्केलेशन पाथ की आवश्यकता रखें।
गलती 5: पहले हर टीम को माइग्रेट करना
डिज़ाइन पार्टनर्स और एक मापने योग्य यात्रा से शुरुआत करें। प्रमाण से पहले व्यापक माइग्रेशन प्रतिरोध पैदा करता है और उपयोगिता की कमियों को छुपाता है।
गलती 6: यह भूल जाना कि प्लेटफ़ॉर्म प्रोडक्शन सॉफ्टवेयर है
प्लेटफ़ॉर्म के लिए स्वयं SLOs, इंसिडेंट ओनरशिप, रिलीज़ नियंत्रण और रोलबैक पाथ निर्धारित करें।