5 क्लाउड-नेटिव जाने के लिए चुनौतियां - और उन्हें कैसे हल करें

हम एक क्लाउड-देशी दुनिया में रह रहे हैं। आप क्लाउड-टेक्नॉलॉजी या आर्किटेक्चर, जैसे कंटेनर, माइक्रोसर्विस और सर्वरलेस फ़ंक्शंस के सभी फायदों के बारे में सुने बिना किसी तकनीकी ब्लॉग को पढ़ सकते हैं या सम्मेलन में जा सकते हैं।

क्लाउड-देशी जाने के बारे में सभी उत्तेजनाओं के बीच, यह उन चुनौतियों को नजरअंदाज करना आसान हो सकता है जब आप विरासत, अखंड अनुप्रयोगों से क्लाउड-मूल रणनीति के लिए पलायन करते हैं। इन चुनौतियों को दूर किया जा सकता है, लेकिन केवल तभी जब आप उन्हें अपने क्लाउड-नेटिव माइग्रेशन रणनीति के हिस्से के रूप में संबोधित करें।

उस अंत तक, चलो सबसे आम क्लाउड-देशी चुनौतियों में से पांच पर एक नज़र डालते हैं, साथ ही उन पर काबू पाने की रणनीति भी।

मेघ-मूल क्या है?

सबसे पहले, हालांकि, इस बारे में एक शब्द कि क्लाउड-मूल वास्तव में क्या है।

सभी चीजों के 'क्लाउड' के आसपास प्रचार के साथ, 'क्लाउड-देशी' का इस्तेमाल कभी-कभी लोगों द्वारा किसी भी प्रकार की तकनीक या रणनीति के लिए किया जाता है, जिसे वे आधुनिक मानते हैं। उस दृष्टिकोण से, क्लाउड-मूल केवल एक और अपेक्षाकृत अर्थहीन buzzword के रूप में समाप्त होता है।

दूसरी ओर, जब विशिष्ट और सीमित अर्थ के साथ निवेश किया जाता है, तो क्लाउड-नेट एक उपयोगी शब्द और अवधारणा है। हम सीएनसीएफ की परिभाषा को पसंद करते हैं, जो "शिथिल युग्मित प्रणालियों" पर जोर देता है और क्लाउड-देशी कंप्यूटिंग की विशेषताओं के रूप में लचीलापन है। क्लाउड-देशी प्रौद्योगिकियों के उदाहरण के रूप में, सीएनसीएफ परिभाषा भी प्रौद्योगिकियों और आर्किटेक्चर की विशिष्ट और सीमित सूची की ओर इशारा करती है - "कंटेनर, सर्विस मेश, माइक्रोसेवर्स, अपरिवर्तनीय अवसंरचना, और घोषित एपीआई"।

इस लेख के प्रयोजनों के लिए, हम क्लाउड-देशी की सीएनसीएफ की परिभाषा से चिपके रहेंगे। अब, चलिए उन विशिष्ट चुनौतियों पर चर्चा करते हैं, जब आप उपरोक्त वर्णित तकनीकों और रणनीतियों का उपयोग करते हैं।

क्लाउड नेटिव को अपनाने के लिए चुनौती

1) लगातार डेटा स्टोरेज करना

कई क्लाउड-देशी तकनीकों के साथ एक आम चुनौती डेटा को लगातार बनाए रखना है। कंटेनर, सर्वर रहित फ़ंक्शन और एक अपरिवर्तनीय अवसंरचना मॉडल का उपयोग करके तैनात किए गए एप्लिकेशन में आमतौर पर डेटा को अपने अंदर स्थायी रूप से संग्रहीत करने का एक तरीका नहीं होता है क्योंकि एप्लिकेशन के शट डाउन होने पर सभी आंतरिक डेटा नष्ट हो जाते हैं।

इस चुनौती को हल करने के लिए एप्लिकेशन और होस्ट वातावरण से इसे हटाकर डेटा संग्रहण के लिए पुनर्विचार दृष्टिकोण की आवश्यकता होती है। अनुप्रयोग वातावरण में डेटा संग्रहीत करने के बजाय, क्लाउड-नेटिव वर्कफ़्लो इसे बाहरी रूप से संग्रहीत करता है और डेटा को सेवा के रूप में उजागर करता है। फिर, कार्यभार जिन्हें डेटा तक पहुंचने की आवश्यकता है, इसे उसी तरह से कनेक्ट करें जैसे वे किसी अन्य सेवा से कनेक्ट करेंगे।

यह दृष्टिकोण - जो विभिन्न उपकरणों द्वारा सक्षम है, जैसे कुबेरनेट्स में वॉल्यूम - दो लाभ हैं। उन अनुप्रयोगों के लिए लगातार डेटा संग्रहण को सक्षम करने के अलावा, जो स्वयं को लगातार बनाए रखने के लिए डिज़ाइन नहीं किए गए हैं, यह कई अनुप्रयोगों या सेवाओं के बीच एकल संग्रहण पूल साझा करना भी आसान बनाता है।

2) सेवा एकीकरण

क्लाउड-मूल एप्लिकेशन आमतौर पर विषम सेवाओं के एक सेट से बने होते हैं। यह वितरित प्रकृति है जो मोनोलिथ की तुलना में उन्हें स्केलेबल और लचीला बनाने में मदद करती है।

लेकिन इसका मतलब यह भी है कि क्लाउड-नेटिव वर्कलोड में बहुत अधिक चलते हुए टुकड़े होते हैं जिन्हें सफलता प्राप्त करने के लिए मूल रूप से एक साथ जुड़ा होना चाहिए।

भाग में, सेवा एकीकरण डेवलपर्स के लिए संबोधित करने का एक मुद्दा है क्योंकि वे क्लाउड-नेटिव एप्लिकेशन बनाते हैं। उन्हें यह सुनिश्चित करना चाहिए कि प्रत्येक सेवा ठीक से आकार की हो; एक सर्वोत्तम कार्य एक कार्यभार के भीतर प्रत्येक प्रकार की कार्यक्षमता के लिए एक अलग सेवा बनाने के लिए है, बजाय एक सेवा करने के लिए कई चीजें करने की कोशिश करने के लिए। केवल इसलिए कि आप कर सकते हैं सेवाओं को जोड़ने से बचना भी महत्वपूर्ण है। इससे पहले कि आप किसी अन्य सेवा के रूप में अपने ऐप में अधिक जटिलता का परिचय दें, सुनिश्चित करें कि सेवा किसी विशेष लक्ष्य को आगे बढ़ाती है।

आवेदन की वास्तुकला से परे, प्रभावी सेवा एकीकरण भी सही तैनाती तकनीकों को चुनने पर निर्भर करता है। कंटेनर संभवतः कई सेवाओं को तैनात करने और उन्हें एक एकल कार्यभार में एकीकृत करने का सबसे स्पष्ट तरीका है, लेकिन कुछ मामलों में, सर्वर रहित फ़ंक्शन, या एपीआई द्वारा जुड़े गैर-कंटेनरीकृत ऐप, सेवा तैनाती के बेहतर तरीके हो सकते हैं।

3) प्रबंधन और निगरानी

आपके पास एक एप्लिकेशन के हिस्से के रूप में जितनी अधिक सेवाएं चल रही हैं, उतना ही मुश्किल है कि उनकी निगरानी और प्रबंधन करना। यह सच है, न केवल सेवाओं की सरासर संख्या के कारण, जिन्हें आपको ट्रैक करना है, बल्कि इसलिए भी क्योंकि एप्लिकेशन स्वास्थ्य की गारंटी देने के लिए सेवाओं के बीच संबंधों की निगरानी की आवश्यकता होती है, न कि केवल सेवाओं की।

क्लाउड-नेटिव वातावरण में सेवाओं की सफलतापूर्वक निगरानी और प्रबंधन करना, फिर एक दृष्टिकोण की आवश्यकता होती है जो यह अनुमान लगा सकता है कि एक सेवा में विफलता दूसरों को कैसे प्रभावित करेगी, साथ ही साथ यह समझें कि कौन सी विफलताएं सबसे महत्वपूर्ण हैं। डायनेमिक आधारभूत, जिसका अर्थ है स्थैतिक थ्रेसहोल्ड को उन लोगों के साथ बदलना जो लगातार सामान्य और क्या एक विसंगति है, यह निर्धारित करने के लिए अनुप्रयोगों के वातावरण को आश्वस्त करते हैं, यह भी महत्वपूर्ण है।

4) क्लाउड लॉक-इन से बचना

क्लाउड में लॉक-इन जोखिम अद्वितीय नहीं हैं; वे लगभग किसी भी प्रकार की प्रौद्योगिकी से उत्पन्न हो सकते हैं, और वे दशकों से चपलता के लिए खतरा हैं। हालांकि, क्लाउड-मूल अनुप्रयोगों या आर्किटेक्चर के मामले में, किसी विशेष क्लाउड प्रदाता या सेवा पर बहुत अधिक निर्भर होने का खतरा विशेष रूप से महान हो सकता है, जिस कारण से आसानी से वर्कलोड को इस तरह से तैनात किया जा सकता है कि उन्हें किसी विशेष की आवश्यकता होती है एक विशेष बादल से सेवा।

सौभाग्य से, जब तक आप आगे की योजना बनाते हैं, तब तक इस क्लाउड लॉक-इन जोखिम को कम करना काफी आसान है। सामुदायिक-आधारित मानकों (जैसे कि OCCI द्वारा पदोन्नत किए गए) से चिपकना यह सुनिश्चित करने के लिए बहुत कुछ करेगा कि आप अपने वर्कलोड को एक क्लाउड से दूसरे में आसानी से स्थानांतरित कर सकते हैं। इसी तरह, जैसा कि आप योजना बनाते हैं कि क्लाउड-देशी जाने के लिए आप किस क्लाउड सेवाओं का उपयोग करेंगे, इस बात पर विचार करें कि क्या आप जिन सेवाओं पर विचार कर रहे हैं उनमें ऐसी विशेषताएं हैं जो वास्तव में अद्वितीय हैं और अन्य बादलों से उपलब्ध नहीं हैं। यदि वे करते हैं, तो उन सुविधाओं से बचें, क्योंकि वे आपको अंदर बंद कर सकते हैं।

उदाहरण के लिए, विभिन्न सार्वजनिक बादलों के सर्वर रहित कंप्यूटिंग प्लेटफार्मों द्वारा समर्थित विशिष्ट भाषा और रूपरेखा कुछ हद तक बदलती हैं। उदाहरण के लिए, AWS लैंबडा गो का समर्थन करता है, लेकिन Azure नहीं करता है। उस कारण से, आपको अपने सर्वर रहित कार्यों को गो में लिखने से बचना बुद्धिमानी होगी। यहां तक ​​कि अगर आप शुरू में उन्हें होस्ट करने के लिए AWS का उपयोग करने की योजना बनाते हैं, तो भी यह निर्भरता भविष्य में एक अलग बादल में स्थानांतरित करना मुश्किल बना देगी। जावा जैसी भाषा के साथ छड़ी, जिसे आप सुरक्षित रूप से दांव लगा सकते हैं, हर जगह समर्थित होगा।

5) क्लाउड-देशी डिलीवरी पाइपलाइन एप्लिकेशन का निर्माण करना

परिभाषा के अनुसार, क्लाउड में क्लाउड-देशी ऐप्स चलते हैं। हालांकि क्लाउड आपके संगठन के वातावरण पर सार्वजनिक क्लाउड, या निजी, ऑन-प्रिमाइसेस या हाइब्रिड क्लाउड रननिग हो सकता है- इसका अर्थ अपरिवर्तनीय अवसंरचना और क्लाउड प्रबंधन प्रक्रियाओं से है। लेकिन कई एप्लिकेशन डिलीवरी पाइपलाइन अभी भी काफी हद तक पारंपरिक ऑन-प्रिमाइसेस परिवेशों पर चलती हैं, जो सार्वजनिक क्लाउड पर या कंटेनरों पर चलने वाले एप्लिकेशन और सेवाओं के साथ एकीकृत होने पर बादल-रहित या क्लिंक नहीं हो सकते हैं।

यह कई मामलों में एक चुनौती पैदा करता है। एक यह है कि एक स्थानीय वातावरण से ऑन-प्रिमाइसेस पर कोड की तैनाती देरी का परिचय दे सकती है। एक और बात यह है कि स्थानीय स्तर पर विकास और परीक्षण से उत्पादन की स्थिति का अनुकरण करना कठिन हो जाता है, जिससे अप्रत्याशित अनुप्रयोग व्यवहार, पोस्ट-परिनियोजन हो सकता है।

इन बाधाओं को दूर करने का सबसे प्रभावी तरीका है अपने CI / CD पाइपलाइन को क्लाउड वातावरण में स्थानांतरित करना- न केवल अपरिहार्य बुनियादी ढांचे और क्लाउड की मापनीयता और अन्य लाभों से लाभान्वित करना, बल्कि उत्पादन की स्थिति की नकल करना और अपनी पाइपलाइन को करीब लाना - जितना संभव हो - अपने ऐप्स के लिए। इस तरह, कोड को वहां तैनात किया जाता है, जहां वह तैनात है, जिससे तैनाती तेजी से होती है। यह उन परीक्षण वातावरणों को भी स्पिन करना आसान हो जाता है जो उत्पादन के समान हैं।

जबकि विकास जो पूरी तरह से क्लाउड-आधारित है, सभी के लिए नहीं है और कुछ डेवलपर्स क्लाउड-आधारित लोगों पर स्थानीय आईडीई की परिचितता और जवाबदेही पसंद करते हैं, यह सुनिश्चित करने के लिए अपने सीआई / सीडी पाइपलाइनों को क्लाउड वातावरण पर चलाने की कोशिश करें, संभव हद तक।

निष्कर्ष

कोई फर्क नहीं पड़ता कि आप इसे कैसे स्पिन करते हैं, क्लाउड-देशी जाना मुश्किल है। विरासत अनुप्रयोगों की तुलना में, क्लाउड-मूल अनुप्रयोग अधिक जटिल हैं और कई और स्थान हैं जहां चीजें गलत हो सकती हैं। कहा कि, क्लाउड-नेट कंप्यूटिंग कंप्यूटिंग चुनौतियों को दूर किया जा सकता है - और उन रणनीतियों को लागू करना जो चुनौतियों को संबोधित कर सकते हैं, चपलता, विश्वसनीयता और मापनीयता को अनलॉक करने की कुंजी है जो केवल क्लाउड-मूल आर्किटेक्चर वितरित कर सकते हैं।