आपको उन सवालों के जवाब मिल पाने चाहिए जिनका आपने पहले से अंदाज़ा नहीं लगाया था। यानी हर लाइन पर trace id वाले structured logs, ऐसे metrics जो rate, errors और duration के साथ आपके अहम resources का saturation भी दिखाएं, और distributed traces जो एक request को सर्विसेज़ के आर पार फॉलो करें। alerts उन symptoms पर बजें जो यूज़र को दिखते हैं और जो आपके service level objectives से जुड़े हों, dashboards ग्राहक के अनुभव से शुरू हों, और हर signal के labels एक जैसे हों ताकि आप उनके बीच घूम सकें।
इंटरव्यूअर यह क्यों पूछते हैं
इंटरव्यूअर जानना चाहता है कि आप डिबगिंग के लिए instrument करते हैं या बस डेटा जमा करते हैं। वे यह फर्क सुनना चाहते हैं कि ज्ञात failure modes पर नज़र रखना और नए failure modes को खोज पाना अलग बातें हैं, हर component पर एक alert की जगह symptom आधारित alerting, और लागत की समझ, क्योंकि high cardinality metrics और बिना sampling वाले traces उस सर्विस से महंगे पड़ सकते हैं जिस पर वे नज़र रखते हैं।
अपना जवाब कैसे स्ट्रक्चर करें
- इसे डेटा जमा करने की नहीं, बिना सोचे गए सवालों का जवाब देने की बात बनाएं।
- तीनों signals और हर एक असल में किस काम का है, यह कवर करें।
- correlation समझाएं: trace ids और signals के आर पार एक जैसे labels।
- symptoms पर alerting और cardinality की लागत पर बात करें।
उदाहरण जवाब
मेरी कसौटी यह है कि क्या मैं ऐसा सवाल हल कर सकता हूं जो सर्विस बनाते वक्त किसी के दिमाग में नहीं था, मसलन एक ही ग्राहक के लिए एक ही endpoint पर requests धीमी क्यों हैं। इसके लिए तीनों signals का जुड़ा होना ज़रूरी है। हर log line structured होती है और उसमें trace id होता है, तो किसी धीमे trace से मैं सीधे उसी request के logs पर कूद सकता हूं, timestamp से grep करने की जगह। metrics हर endpoint के rate, errors और duration को औसत की जगह percentiles में दिखाते हैं, साथ ही उन चीज़ों का saturation जो सच में खत्म होती हैं: connection pools, queue depth, disk। traces sampled होते हैं, लेकिन errors और धीमी tail मैं हमेशा रखता हूं, क्योंकि औसत request मुझे कुछ नहीं सिखाती। alerts वह हिस्सा है जहां लोग गलती करते हैं: मैं उन symptoms पर alert करता हूं जो ग्राहक महसूस करते हैं और जो objective से जुड़े हैं, इस पर नहीं कि CPU अस्सी प्रतिशत है। और मैं लागत पर नज़र रखता हूं, क्योंकि metric label में user id डालना ही वह तरीका है जिससे दो सौ डॉलर का बिल रातोंरात छह हज़ार हो जाता है; यूज़र स्तर का ब्यौरा traces और logs में रहना चाहिए।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- trace sampling की रणनीति आप कैसे तय करते हैं?
- जो alert हर हफ्ते बजता है और हमेशा नज़रअंदाज़ होता है, उसका क्या करेंगे?
- high cardinality metrics की लागत कैसे काबू में रखते हैं?
DevOps इंजीनियर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें