टीएल; डीआर: निरर्थक, मॉड्यूलर बनाएँ; उपलब्धता के लिए परीक्षण; बारीकी से निगरानी करें।
यह महसूस करने के बाद कि किसी भी स्पष्टीकरण में निचोड़ने की कोशिश बहुत लंबी हो सकती है, इसलिए मैं अपने द्वारा किए गए सभी टिप्पणियों को लिखूंगा।
आधार पर सवाल उठाना
क्लाउड सिस्टम रामबाण है
यहां तक कि अगर आप क्लाउड पर पूरी तरह से जाने वाले थे, तो एक शीर्ष क्लाउड प्रदाता के साथ, आपको अभी भी लचीलापन, आधार के लिए अपने आवेदन को डिजाइन करने की आवश्यकता होगी। एडब्ल्यूएस आपके वीएम को बदल सकता है, लेकिन आपके आवेदन को गणना के बीच में छोड़ने पर फिर से शुरू करने में सक्षम होना चाहिए।
हम x / y / z के कारण क्लाउड सिस्टम का उपयोग नहीं करना चाहते हैं
जब तक आप एक अल्ट्रा बड़े संगठन नहीं हैं, तब तक आप क्लाउड सिस्टम का उपयोग करना बेहतर समझते हैं। शीर्ष -3 क्लाउड सिस्टम (AWS, MSFT, Google), आपको वादा किया गया SLA और डैशबोर्ड प्रबंधित करने में आसान देने के लिए हजारों इंजीनियरों को नियुक्त करते हैं। यह वास्तव में इस घर में एक पैसा खर्च करने के एवज में उनका उपयोग करने के लिए एक अच्छा सौदा है।
स्कूपिंग और डिज़ाइन में समस्याएं
परिभाषित करना, मात्रा निर्धारित करना और फिर किसी सेवा की उपलब्धता को लगातार मापना उपलब्धता की समस्याओं के लिए समाधान लिखने की तुलना में एक बड़ी चुनौती है।
Ining उपलब्धता ’को परिभाषित और मापना अपेक्षा से अधिक कठिन है
कई हितधारकों की उपलब्धता के बारे में एक अलग दृष्टिकोण है, और ऐसा हो सकता है कि उच्चतम वेतन वाले व्यक्ति द्वारा पसंद की जाने वाली परिभाषा अन्य परिभाषा है। यह कभी-कभी सही परिभाषा है, लेकिन अक्सर इको-सिस्टम को एक ही चीज़ को मापने के आसपास नहीं बनाया जाता है क्योंकि यह आदर्श परिभाषा मापने के लिए बहुत मुश्किल है, वास्तविक समय में अकेले निगरानी करें। यदि आपके पास उपलब्धता की परिभाषा है जिसे वास्तविक समय में मॉनिटर नहीं किया जा सकता है, तो आप अपने आत्म-समान प्रोजेक्ट को बार-बार समानताओं के साथ पाएंगे। ऐसी चीज़ के साथ रहना जो समझ में आए और कुछ ऐसा जिसे आसानी से मॉनिटर किया जा सके।
लोग हमेशा उपलब्ध प्रणाली की जटिलताओं को कम आंकते हैं।
कमरे में हाथी को संबोधित करने के लिए, मुझे यह कहना चाहिए: "कोई मल्टी-कंप्यूटर सिस्टम 100% उपलब्ध नहीं है, यह भविष्य में हो सकता है लेकिन वर्तमान तकनीक के साथ नहीं।" यहां वर्तमान तकनीक द्वारा, मैं अपनी अक्षमता का उल्लेख कर रहा हूं प्रकाश की गति और इस तरह की चीजों की तुलना में तेजी से संकेत भेजते हैं। उनके नमक के लायक सभी COMP-sci इंजीनियरों ने कंप्यूटिंग सीमाएं वितरित कीं, और उनमें से अधिकांश ने बैठकों में इसका उल्लेख नहीं किया, डरते हुए वे नोब्स की तरह दिखेंगे। उन सभी लोगों के लिए, जिन्होंने गणना की गई सीमाओं का उल्लेख नहीं किया है , मैं इसके जटिल, लेकिन कंप्यूटर पर हमेशा भरोसा नहीं करता ।
लोग उनकी / उनके इंजीनियर की क्षमताओं को नजरअंदाज करते हैं
दुर्भाग्य से, उपलब्धता उस श्रेणी में आती है, जहाँ आप नहीं जानते कि आप क्या चाहते हैं लेकिन आप जानते हैं कि आप क्या नहीं चाहते हैं। यह थोड़ा मुश्किल है कि यूआई जैसे 'वॉन्ट्स' श्रेणी को जानते हैं। इसके लिए थोड़ा अनुभव और बहुत कुछ पढ़ने के लिए दूसरे के अनुभव और कुछ और सीखने की आवश्यकता होती है।
मैदान-अप से उपलब्ध प्रणाली का निर्माण
सुनिश्चित करें कि आप हर वास्तुकला और डिजाइन टीम को एक सिस्टम आवश्यकता के रूप में उपलब्धता की सही प्राथमिकता के बारे में बताएंगे।
उपलब्धता में मदद करने वाली प्रणाली की विशेषताएं
निम्नलिखित सिस्टम विशेषताओं ने सिस्टम उपलब्धता में योगदान दिया है:
फालतूपन
इसके कुछ उदाहरण हैं कि कभी भी एक वीएम के पीछे केवल एक वीएम नहीं होना चाहिए या कभी भी अपने डेटा की केवल एक कॉपी जमा न करें। ये ऐसे प्रश्न हैं जो एक अच्छा IAAS आपके लिए हल करना आसान बना देंगे लेकिन फिर भी आपको ये निर्णय लेने होंगे।
प्रतिरूपकता
एक मॉड्यूलर REST अखंड SOA से बेहतर है। यहां तक कि एक मॉड्यूलर microservice वास्तव में सामान्य HATEOS REST की तुलना में अधिक उपलब्ध है । तर्क अगले अनुभाग में यील्ड संबंधित चर्चा में पाया जा सकता है। यदि आप बैच प्रोसेसिंग कर रहे हैं तो 1,000,000 के बैच से निपटने की तुलना में 10s के उचित बैच में बैच प्रोसेसिंग करना बेहतर है।
लचीलाता
"I am always angry"
- Hulk
एक लचीलापन प्रणाली हमेशा ठीक होने के लिए तैयार है। यह रिज़ॉल्यूशन ऐसे उदाहरणों पर लागू होता है जैसे ACK को केवल RAID डिस्क पर लिखने के बाद स्वीकार करना, और संभवतः कम से कम दो डेटा केंद्रों पर। एक और नवीनतम ट्रेंडिंग संघर्ष-मुक्त डेटा संरचनाओं का उपयोग करना है , जहां डेटा संरचना दो अलग-अलग संस्करणों के साथ प्रस्तुत होने पर संघर्ष को हल करने की जिम्मेदारी लेती है। एक प्रणाली को एक विचार के रूप में लचीला नहीं किया जा सकता है, इसे भविष्यवाणी और अंतर्निहित करना होगा। लंबे समय तक विफलता की गारंटी दी जाती है, इसलिए हमें ठीक होने की योजना के साथ हमेशा तैयार रहना चाहिए।
लॉग ट्रेल
यह तकनीकी रूप से लचीलेपन का एक उपप्रकार है, लेकिन सभी क्षमताओं को पकड़ने के कारण यह एक बहुत ही खास है। सर्वोत्तम प्रयास के बावजूद, हम अनुपलब्धता के पैटर्न की भविष्यवाणी करने में सक्षम नहीं हो सकते हैं। यदि संभव हो तो, सिस्टम गतिविधियों के पर्याप्त लॉग ट्रेल को बनाए रखने के लिए सिस्टम इवेंट प्लेबैक करने में सक्षम हो। यह महान मैनुअल लागत पर आपको अप्रत्याशित परिस्थितियों से उबरने की अनुमति देगा।
उपलब्धता के गुण
'उपलब्धता' की गैर-संपूर्ण शीर्ष-स्तरीय विशेषता सूची: चर्चा के लिए, मान लें कि उपयोगकर्ता द्वारा पूछा गया प्रश्न है, "मेरी शॉपिंग कार्ट में मेरे पास कितनी आइटम हैं?"
यथार्थता
क्या आपको सबसे सटीक संभव उत्तर का उत्पादन करना चाहिए या क्या यह गलत है? सिर्फ एक संदर्भ के लिए, जब आप एटीएम से पैसे निकालते हैं, तो यह सही होने की गारंटी नहीं है। अगर बैंक को पता चला कि उसने गलती की है, तो हो सकता है कि आप लेनदेन को उलट दें। यदि आपका सिस्टम प्राइम नंबर का उत्पादन कर रहा है, तो मुझे लगता है, आप हर समय सही उत्तर चाहते हैं।
प्राप्ति
इस बिंदु को छोड़ दें, यदि आपने पिछले विषय के प्रश्न के लिए हमेशा सही उत्तर दिया है। कभी-कभी प्रश्नों के उत्तर सटीक नहीं होते, जैसे कि मेरे अभी फेसबुक पर कितने दोस्त हैं? लेकिन इसका उत्तर हर समय बॉलपार्क +/- 1 में रहने की उम्मीद है। जब आप अपेक्षित परिणाम दे रहे हैं तो आपकी उपज 100 है।
संगति
आपका उत्तर एक समय में सही हो सकता है, लेकिन जब तक प्रकाश स्क्रीन को छोड़कर पर्यवेक्षक के रेटिना में प्रवेश करता है, तब तक चीजें बदल सकती थीं। क्या यह आपके उत्तर को गलत बनाता है? नहीं, यह सिर्फ असंगत बनाता है। अधिकांश एप्लिकेशन अंतिम रूप से सुसंगत हैं, लेकिन ट्रिक यह परिभाषित कर रही है कि आपके एप्लिकेशन को किस प्रकार की संगतता मॉडल प्रदान करना है। बंद संयोग से आपका आवेदन एक ही कंप्यूटर पर चल सकता है, आप कैप प्रमेय पर इस सुंदर पढ़ने को छोड़ सकते हैं ।
लागत
अल्पकालिक प्रभाव (राजस्व की हानि) और दीर्घकालिक प्रभाव (बीमार प्रतिष्ठा, ग्राहक प्रतिधारण) के कुल प्रभाव पर बहुत कुछ निर्भर करता है। ग्राहक प्रकार (भुगतान / मुफ्त, दोहराना / अद्वितीय, कैप्टिव) और संसाधन उपलब्धता के आधार पर उपलब्धता की गारंटी के विभिन्न स्तरों का निर्माण किया जाना चाहिए।
मौजूदा प्रणाली की उपलब्धता में सुधार करने की ओर
व्यक्तिगत मशीनों और एक नेटवर्क का संचालन प्रबंधन इतना जटिल है, कि मैं मानता हूं कि आपने इसे क्लाउड प्रदाता पर छोड़ दिया है या आप पहले से ही विशेषज्ञ हैं कि आप क्या कर रहे हैं। मैं उपलब्धता के तहत अन्य विषयों को छूऊंगा। दीर्घकालिक रणनीति के लिए परिभाषित-माप-विश्लेषण-नियंत्रण एक स्वर्गीय मैच है, कुछ मैंने खुद देखा है।
- अपने हितधारकों के लिए 'उपलब्धता' को परिभाषित करें
- आप जो परिभाषित करेंगे, उसे कैसे मापेंगे
- बाधाओं की पहचान करने के लिए मूल कारण विश्लेषण
- सुधार के लिए कार्य
- प्रणाली की सतत निगरानी ( नियंत्रण )
अन-उपलब्धता के कारण
चूंकि हम सहमत थे कि परिचालन प्रबंधन जो किसी भी भौतिक बुनियादी ढांचे के प्रबंधन को कवर करेगा, पेशेवरों द्वारा किया जाना चाहिए, मैं संपूर्णता के लिए अनुपलब्धता के अन्य कारणों को छूऊंगा। IMO उपलब्धता में अपेक्षित व्यवहार की कमी भी शामिल होनी चाहिए, जिसका अर्थ है कि यदि उपयोगकर्ता को अपेक्षित अनुभव नहीं दिखाया गया है, तो कुछ अनुपलब्ध है। मन में उस व्यापक परिभाषा के साथ, निम्नलिखित अनुपलब्धता का कारण बन सकता है: - कोड बग - सुरक्षा घटनाओं - प्रदर्शन के मुद्दे