टेक हर जगह है। आपका उद्योग कितना ऊंचा दांव पर है, इस पर निर्भर करते हुए, तकनीकी उत्पाद या सिस्टम की विफलता पूरी तरह से नगण्य से लेकर जीवन के अंत तक कहीं भी गिर सकती है जैसा कि आप जानते हैं।
अस्पताल मेनफ्रेम? महत्वपूर्ण प्रकार। आपके सेल फोन पर कैंडी क्रश ऐप का लचीलापन? प्राथमिकताओं की समग्र सूची में शायद थोड़ा कम।
नेटवर्क की एक वितरित प्रणाली में, विफलता अपरिहार्य है। तबाही को रोकना एक ठोस, निर्विवाद सुरक्षा डिजाइन के साथ शुरू होता है। लेकिन इसके अलावा और क्या किया जा सकता है?
नेटफ्लिक्स कैओस इंजीनियरिंग क्या है?
20 सितंबर 2015।
पश्चिमी मोर्चे पर सब कुछ शांत है, जब अचानक, कई महत्वपूर्ण कॉर्पोरेट अमेज़ॅन वेब सर्विसेज सर्वर बिना एक शब्द के नीचे जाते हैं।
कई बड़ी कंपनियां अपने ग्राहकों को कई घंटों तक मुहैया नहीं करा पा रही थीं। हालाँकि, नेटफ्लिक्स कुछ ही मिनटों में अपने पैरों पर वापस आ गया था। कैसे? नेटफ्लिक्स की आंतरिक कंपनी संस्कृति आपदा आने पर सिस्टम और इंजीनियरों दोनों को समान रूप से तैयार करने के लिए वास्तविक समय में लागू कई "विफलता-प्रेरक" प्रथाओं को शामिल करने के लिए विकसित हुई थी।
कंपनी के नेतृत्व ने इस तरह की घटनाओं के अध्ययन और तैयारी के लिए सिस्टम के निहित भागों में उद्देश्यपूर्ण रूप से नकली सर्वर आउटेज का संचालन किया। इससे उन्हें सिस्टम में छेदों की पहचान करने और अतिरेक का निर्माण करने में मदद मिली, जिससे सेवा को निर्बाध रूप से जारी रखने की अनुमति मिली, यहां तक कि एक बड़ी खराबी की स्थिति में भी जैसा कि पहले उल्लेख किया गया था।
इन जानबूझकर "अराजकता इंजीनियरिंग" अभ्यासों ने अपने इंजीनियरों को खुद को देखने के लिए पर्याप्त प्रतिस्पर्धात्मक बढ़त दी उपद्रव के माध्यम से, निवारक बुनियादी ढांचे के लिए धन्यवाद जो उन्होंने इस तरह के प्रलय के दिन की घटना के साथ बनाया था मन में।
जब बड़ी लहर आई तो कोई और तैयार नहीं था। नेटफ्लिक्स सिस्टम अपने आप को रोकने के लिए काफी मजबूत था। निष्कर्ष? ये अराजक मास्टरमाइंड यहां किसी चीज पर हो सकते हैं।
जानबूझकर उन लोगों का सफाया करना जो आपसे प्यार करते हैं
"कैओस इंजीनियरिंग उत्पादन में अशांत परिस्थितियों का सामना करने के लिए सिस्टम की क्षमता में विश्वास पैदा करने के लिए एक सिस्टम पर प्रयोग करने का अनुशासन है।"
अराजकता घोषणापत्र के सिद्धांत
यह अराजकता इंजीनियरिंग का दिल है - संक्षेप में, एक "फायर ड्रिल" जो काम के घंटों के दौरान सिस्टम पर लगाया जाता है जब प्रस्तुत चुनौती का समाधान करने के लिए आंखें और हाथ उपलब्ध होते हैं। किसी दी गई प्रणाली की विफलता को सहन करने की क्षमता का परीक्षण किया जाता है क्योंकि कोई भी कमजोरियां उजागर हो जाती हैं।
अपने मूल 2011 के संदर्भ में, अराजकता इंजीनियरिंग नेटफ्लिक्स के आईटी विभाग से संबंधित है। उनका नेतृत्व यह परीक्षण करना चाहता था कि टीम के प्रयास कितने लचीले थे जब उनके एक या अधिक कंप्यूटरों को जानबूझकर अक्षम कर दिया गया था। इन असफलताओं ने आईटी टीम को प्रमुख कमजोरियों की पहचान करने की अनुमति दी, इससे पहले कि वे सिस्टम-वाइड मुद्दे बन गए और बाहर से उनका फायदा उठाया जा सके।
वास्तविक विफलता? यह नरक के रूप में महंगा हो सकता है, और यह मौद्रिक प्रभाव से परे है. यहां तक कि डाउनटाइम की अवधि, सुरक्षा में कोई वास्तविक चूक नहीं होने के कारण, राजस्व अर्जित करने के बहुत सारे छूटे हुए अवसर होने की संभावना है। आपको अंधा करने के लिए किसी आपात स्थिति का इंतजार क्यों करें?
पागलपन के पीछे बंदर
कुछ कंपनियां एक "रेड टीम" मॉडल अपनाएंगी जो डेवलपर्स की टीमों को उनके भाइयों के खिलाफ विभागीय लाइनों में खड़ा करती है। हालांकि, नेटफ्लिक्स द्वारा स्थापित क्लासिक उदाहरण "सिमियन आर्मी" का उपयोग करता है। ये बॉट उनके लिए निष्पक्ष और पूरी तरह से बेतरतीब ढंग से गंदा काम करते हैं।
पागल? आम आदमी के लिए, शायद। "कैओस मंकीज़" लेखक एंटोनियो गार्सिया मार्टिनेज के शब्दों में:
"कल्पना कीजिए कि एक बंदर 'डेटा सेंटर' में प्रवेश कर रहा है, सर्वर के ये 'फ़ार्म' जो हमारी ऑनलाइन गतिविधियों के सभी महत्वपूर्ण कार्यों को होस्ट करते हैं। बंदर बेतरतीब ढंग से केबल फाड़ देता है और उपकरणों को नष्ट कर देता है। चुनौती उस सूचना प्रणाली को डिजाइन करने की है जिसके लिए वे जिम्मेदार हैं ताकि यह इन बंदरों के बावजूद काम कर सके, जिसे कोई नहीं जानता कि वे कब आएंगे और क्या नष्ट कर देंगे। ”
एक रंगीन सादृश्य। हालांकि, सभी सिमियन क्रूर नहीं हैं: डॉक्टर बंदर सिस्टम के प्रदर्शन की निगरानी करते हैं, उदाहरण के लिए। जब कैओस कोंग एक यात्रा के लिए रुकता है, हालांकि, सभी दांव बंद हो जाते हैं; यह वर्ण संपूर्ण AWS उपलब्धता क्षेत्र को नीचे ले जाएगा।
सम्बंधित: सुरक्षा कमजोरियों का आकलन कैसे किया जाता है?
कैओस इंजीनियरिंग और वैज्ञानिक विधि
कैओस इंजीनियरिंग प्रयोगों का संचालन करने वालों के लिए प्रणालीगत अंतर्दृष्टि के एक मूल्यवान स्रोत के रूप में कार्य करती है। यह केवल डेवलपर्स ही नहीं हैं जिन्हें यहां परीक्षण के लिए रखा जा रहा है; यह प्रणाली है क्योंकि यह स्वायत्त रूप से भी मौजूद है।
मेज पर बंदरों के बैरल को डंप करने से पहले, अराजकता इंजीनियरिंग के लिए थोड़ी सी जमीनी कार्य की आवश्यकता होती है।
- आपको सबसे पहले यह पहचानने की आवश्यकता है कि आप अपने सिस्टम के लिए "स्थिर", स्वस्थ, कार्यात्मक स्थिति क्या मानते हैं। यह "नियंत्रण" होगा जिसके खिलाफ आप किसी भी ठोस परिणाम को मापते हैं।
- इस बारे में सोचना शुरू करें कि ऑर्केस्ट्रेटेड विफलता की घुसपैठ से यह राज्य कैसे असंतुलित हो जाएगा। अपने जांच मालवेयर की योजना केवल आपके सिस्टम के नियंत्रित, नियंत्रित क्षेत्र को प्रभावित करने के लिए बनाएं।
- "घुसपैठिए" का परिचय दें और सिस्टम को जवाब देने की अनुमति दें।
- सिस्टम के बीच किसी भी अंतर को देखें और व्याख्या करें क्योंकि यह अभी मौजूद है और यह पहले कैसे व्यवहार कर रहा था, जबकि होमोस्टैसिस में। अपने प्रभाव के "विस्फोट त्रिज्या" को तब तक बढ़ाएं जब तक कि आप या तो एक भेद्यता का पता नहीं लगा लेते या पूर्ण पैमाने तक नहीं पहुंच जाते, जो भी पहले आए।
विचार यह है कि एक कार्यात्मक प्रणाली को बाधित करना जितना कठिन होता है, उतना ही अधिक विश्वास होता है कि आप में परिवर्तन और बमबारी के प्रति इसकी लचीलापन हो सकती है। यह दृष्टिकोण दिखाता है कि कैसे एक आउटेज की स्थिति में सिस्टम के विभिन्न पहलू एक-दूसरे की विफलताओं की भरपाई करेंगे।
"चूंकि कोई भी घटक 100% अपटाइम की गारंटी नहीं दे सकता (और यहां तक कि सबसे महंगा हार्डवेयर अंततः विफल हो जाता है), हमें करना होगा एक क्लाउड आर्किटेक्चर डिज़ाइन करें जहाँ व्यक्तिगत घटक संपूर्ण की उपलब्धता को प्रभावित किए बिना विफल हो सकते हैं प्रणाली।"
Netflix ब्लॉग
कभी-कभी, इस तरह से सिस्टम के साथ खिलवाड़ करना ग्राहक के अनुभव को प्रभावित करने के करीब भी नहीं आता है। दूसरी बार, गंभीर सुरक्षा खामियां सामने आएंगी। अब, नेटफ्लिक्स पर विशेष रूप से, उपयोगकर्ता स्तर पर सिस्टम की विफलता को छिपाने के लिए आकस्मिकता को सिस्टम की नींव में बनाया गया है।
सम्बंधित: जीरो-डे एक्सप्लॉइट क्या है?
क्या कैओस इंजीनियरिंग इसके लायक है?
यदि आप एक जटिल प्रणाली को समझना चाहते हैं — तो इसे विचलित करें
- फरहान थावर (@fnthawar) 26 मई, 2021
आलोचकों का कहना है कि कोई भी बैक-एंड गेम ग्राहक के अनुभव को प्रभावित करने के लायक नहीं है, भले ही केवल संक्षेप में और घटना से। हालांकि, अराजकता इंजीनियरिंग के पक्ष में, इस तथ्य के साथ खंडन करेंगे कि ये "नियोजित आउटेज" 2015 में AWS के अनुभव की तुलना में बहुत छोटे हैं। यदि एक छोटी, नियोजित समस्या आपको एक बड़ी समस्या को कभी भी स्वयं को प्रस्तुत करने से रोकने की स्थिति में रखती है, तो प्रारंभिक घटना की योजना बनाना तैयारी का सबसे अच्छा तरीका हो सकता है। कुल मिलाकर कम उपयोगकर्ता प्रभावित होंगे। गणित काम करता है।
मामले की मानवीय तरफ से मानसिकता यह है कि अब ये इंजीनियर जिनके सामने सर्वर क्रैश हो गया है और इससे निपटने के लिए सक्षम रूप से भविष्य में और अधिक सतर्क होगा और जो कुछ भी आता है उसे संभालने के लिए बौद्धिक रूप से सुसज्जित होगा मार्ग। कई मामलों में परिणाम देने वाली मजबूत प्रणाली अपने लिए बोलती है।
सिलिकॉन वैली: जहां सपने मरने के लिए जाते हैं
वे कहते हैं कि यदि आप इसे बड़ा बनाना चाहते हैं, तो आपको अपने प्रियजनों को मारने के लिए तैयार रहना होगा, या इस मामले में, दूसरों को आपके लिए उन्हें मारने देने के लिए तैयार रहना होगा। जब विकास की शुरुआत से ही सुरक्षा सबसे आगे होती है, तो आपकी टीम के ग्राहकों के लिए स्वतंत्र रूप से उपयोग करने के लिए कुछ अभेद्य और सुरक्षित होने की संभावना अधिक होती है।
कार्यस्थल के अनुभव को गेम-इफाइंग इस डोमेन में सफलता की संभावना को रोमांचक बनाता है; जब अंतिम परिणाम गुणवत्ता में से एक होता है, तो हर कोई स्तर पर पहुंच जाता है। मेरा नेटफ्लिक्स ठीक चलता है, और इसके लिए धन्यवाद देने के लिए हमारे पास केवल पागल लोग हैं।
अब जब आप अराजकता इंजीनियरिंग पर दृढ़ समझ रखते हैं, तो क्यों न आप अपने ज्ञान का विस्तार किसी अन्य सॉफ्टवेयर विकास पद्धति के साथ करें? Agile एक उत्कृष्ट प्रणाली है जिसे आप एक कार्यबल को एकीकृत करने और स्वच्छ, कुशल कोड तैयार करने के लिए शामिल कर सकते हैं।
चाहे आप प्रोग्रामिंग नौकरियों के लिए आवेदन कर रहे हों या आप काम करने का अधिक कुशल तरीका चाहते हों, आपको एजाइल के बारे में जानना होगा।
आगे पढ़िए
- प्रोग्रामिंग
- प्रोग्रामिंग
एम्मा गैरोफेलो वर्तमान में पिट्सबर्ग, पेनसिल्वेनिया में स्थित एक लेखिका हैं। जब एक बेहतर कल की चाह में अपने डेस्क पर मेहनत नहीं कर रही होती है, तो वह आमतौर पर कैमरे के पीछे या रसोई में पाई जा सकती है।
हमारे न्यूज़लेटर की सदस्यता
तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!
एक और क़दम…!
कृपया उस ईमेल में अपने ईमेल पते की पुष्टि करें जिसे हमने अभी आपको भेजा है।