सर्वर रहित कंप्यूटिंग: मुख्य विशेषताएं और यह कैसे काम करती है
serverless कंप्यूटिंग वेब अनुप्रयोगों को होस्ट करने का एक अनूठा तरीका है जो सर्वर प्रबंधन के सभी काम को खत्म कर देता है, जिससे बिल्डरों को वह करने की अनुमति मिलती है जो वे सबसे अच्छी तरह जानते हैं।
लचीलापन, प्रबंधन में आसानी, स्केलिंग में आसानी और कम लागत कुछ ऐसे मुख्य आकर्षण हैं जो सर्वर रहित कंप्यूटिंग को विकास टीमों और कंपनियों के लिए बहुत आकर्षक बनाते हैं।
एक सर्वर रहित कंप्यूटिंग वातावरण मांग पर सर्वर-साइड कोड चलाता है, और इसके लिए एक समर्पित सर्वर, वर्चुअल मशीन या यहां तक कि निरंतर संचालन में एक कंटेनर की आवश्यकता नहीं होती है।
यह पोस्ट सर्वर रहित कंप्यूटिंग की दुनिया की पड़ताल करती है ताकि यह दिखाया जा सके कि यह आपकी कंपनी या अगली कंपनी को कैसे लाभ पहुंचा सकता है परियोजना.
सर्वर रहित कंप्यूटिंग कैसे काम करती है?
सर्वर रहित सेवा एक कंप्यूटिंग वातावरण है जिसे पूरी तरह से सेवा प्रदाता द्वारा प्रबंधित किया जाता है। एक डेवलपर को बस अपना फ़ंक्शन बनाना है और उसे प्लेटफ़ॉर्म पर अपलोड करना है, और फिर सब कुछ स्वचालित रूप से नियंत्रित हो जाता है। यहां बताया गया है कि यह कैसे होता है।
- ट्रिगर: प्रत्येक सर्वर रहित फ़ंक्शन में एक ईवेंट ट्रिगर होता है जो इसे क्रियान्वित करता है। यह HTTP या डेटाबेस अनुरोध, क्रॉन जॉब, फ़ाइल अपलोड, या कुछ भी हो सकता है। मुद्दा यह है कि हर कोई जानता है कि स्क्रिप्ट को निष्पादित करने के लिए क्या करना होगा।
- संसाधन आवंटन: यदि अपेक्षित घटना/ट्रिगर घटित होता है, तो यह प्लेटफ़ॉर्म पर निर्भर है कि वह सीपीयू, मेमोरी और नेटवर्किंग के साथ मिलीसेकंड के भीतर निष्पादन वातावरण को शीघ्रता से तैयार करे। यह आमतौर पर इसके साथ पूरा किया जाता है कंटेनर.
- कार्य निष्पादन: प्लेटफ़ॉर्म संसाधन आवंटन के बाद निष्पादन को स्क्रिप्ट में स्थानांतरित करता है, इसलिए एप्लिकेशन अब सेवा प्रदाता के निष्पादन वातावरण में निष्पादित कर सकता है।
- स्केलिंग: यदि अधिक संसाधनों की आवश्यकता है, तो लोड को संतुलित करने के लिए एप्लिकेशन के साथ अधिक कंटेनरों को घुमाकर सिस्टम स्वचालित रूप से स्केल करेगा।
- परिणाम एवं प्रबंधन: प्रदाता और सेवा के आधार पर, विभिन्न कार्य, परिणाम, प्रतिक्रियाएँ, निगरानी और लॉगिंग प्रक्रियाएँ चल सकती हैं। उपयोग किए गए संसाधनों को पे-एज़-यू-गो बिलिंग के लिए भी रिकॉर्ड किया जाता है।
सर्वर रहित सिस्टम की मुख्य विशेषताएं
कुछ ऐसी विशेषताएं हैं जो अधिकांश सर्वर रहित कंप्यूटिंग प्लेटफ़ॉर्म एक-दूसरे के साथ साझा करते हैं, भले ही उनके अन्य अंतर हों। तो, सर्वर रहित कंप्यूटिंग को बेहतर ढंग से समझने के लिए, ये प्रमुख विशेषताएं यहां दी गई हैं।
- क्लाउड-आधारित: सर्वर रहित कंप्यूटिंग एक क्लाउड-नेटिव एप्लिकेशन डेवलपमेंट और परिनियोजन तकनीक है।
- शून्य सर्वर प्रबंधन: सर्वर रहित कंप्यूटिंग प्लेटफ़ॉर्म उपयोगकर्ताओं के लिए सर्वर प्रबंधित किए बिना ऐप्स विकसित करना और तैनात करना आसान बनाता है। बस अपना कोड अपलोड करें और बाकी सभी चीज़ों का स्वचालित रूप से ध्यान रखा जाएगा।
- घटना/ट्रिगर संचालित: वर्चुअल मशीनों और कंटेनर सेवाओं के विपरीत, सर्वर रहित सिस्टम हमेशा नहीं चलते हैं। बल्कि, वे तभी सक्रिय होते हैं जब किसी घटना या ट्रिगर के कारण उनकी आवश्यकता होती है।
- उपयोगानुसार भुगतान करो: सर्वर रहित कंप्यूटिंग केवल ट्रिगर होने पर संसाधनों का उपयोग करती है। इससे उन्हें कंटेनरों की तुलना में चलाना सस्ता पड़ता है, जिन्हें हमेशा सक्रिय रहने की आवश्यकता होती है, चाहे उनका उपयोग किया जाए या नहीं। इसलिए, सर्वर रहित सेवाओं का बिल उपयोग के अनुसार भुगतान प्रारूप में किया जाता है।
- ऑटो स्केलिंग: सर्वर रहित प्लेटफ़ॉर्म किसी एप्लिकेशन की लोड मांगों को संतुलित करने के लिए स्वचालित रूप से संसाधन आवंटन को ऊपर या नीचे स्केल करेगा।
- डिफ़ॉल्ट रूप से स्टेटलेस: अधिकांश सर्वर रहित प्लेटफ़ॉर्म डिफ़ॉल्ट रूप से स्टेटलेस होते हैं, जिसका अर्थ है कि वे इनवोकेशन के बीच कोई डेटा संग्रहीत नहीं करते हैं। यह सुविधा उन्हें एक साथ कई कार्यों को संभालने के अतुल्यकालिक प्रोग्रामिंग दृष्टिकोण के लिए अल्पकालिक और आदर्श बनाती है।
सर्वर रहित कंप्यूटिंग के व्यावसायिक लाभ
यहां सर्वर रहित कंप्यूटिंग के कुछ व्यावसायिक लाभ दिए गए हैं।
- सरलीकृत विकास: बुनियादी ढांचे का प्रबंधन करने की कोई आवश्यकता नहीं है। कोई सर्वर कॉन्फ़िगरेशन नहीं, कोई वातावरण नहीं, कोई बजट नहीं, और सेट अप करने के लिए कुछ भी नहीं। आपको बस अपने ऐप डेवलपमेंट पर ध्यान केंद्रित करना है और आपका सर्वर रहित प्लेटफ़ॉर्म बाकी काम संभाल लेगा।
- बाज़ार में आने का तेज़ समय: बुनियादी ढांचे के प्रबंधन पर कम समय खर्च करने से आपकी टीम अधिक सुविधाओं और अनुप्रयोगों को विकसित करने और बाजार में लाने में सक्षम होती है।
- कीमत का सामर्थ्य: सर्वर रहित सिस्टम उन अनुप्रयोगों के लिए बिल्कुल सही हैं जिनका लगातार उपयोग नहीं किया जाता है। इस तरह, आप लगातार उपलब्ध सर्वर या कंटेनर को बनाए रखने में लगने वाली लागत बचाते हैं।
- ऑटो स्केलिंग: चिंता करने की कोई जरूरत नहीं है बजट सर्वर लोड के प्रबंधन के लिए। आपका एप्लिकेशन स्वचालित रूप से स्केल किया जाता है और आपको केवल उतना ही बिल मिलता है जितना आपने उपयोग किया है।
सर्वर रहित बनाम कंटेनर
सर्वर रहित कंप्यूटिंग और कन्टेनीकरण दो क्लाउड-नेटिव प्रौद्योगिकियां हैं जो आपको लागत बचाने, एप्लिकेशन को जल्दी और विश्वसनीय रूप से तैनात करने, अपने संचालन को स्वचालित करने और जरूरत पड़ने पर आसानी से चीजों को स्केल करने की अनुमति देती हैं।
यद्यपि वे समान उद्देश्यों को पूरा करते हैं, कंटेनर और सर्वर रहित सिस्टम अलग-अलग हैं। सबसे पहले, डेवलपर को एक कंटेनर शुरू करने और बनाए रखने की आवश्यकता होती है जो उसके निष्पादन वातावरण प्रदान करता है, जबकि सेवा प्रदाता सर्वर रहित सेटअप में यह सब करता है।
दूसरा, कंटेनर बड़े अनुप्रयोगों के लिए बेहतर अनुकूल हैं, जिन्हें लंबे समय तक चलाने की आवश्यकता होती है, जबकि सर्वर रहित छोटे ऐप्स के लिए बेहतर है जिनका अक्सर उपयोग नहीं किया जाता है। इसके अलावा, कंटेनर निष्पादन पर्यावरण पर पूर्ण नियंत्रण प्रदान करते हैं, जबकि सर्वर रहित बहुत कम या कोई पर्यावरणीय नियंत्रण प्रदान नहीं करता है।
अंत में, कंटेनर पोर्टेबल होते हैं, क्योंकि आप अपने कंटेनर को बिना किसी समस्या के एक प्रदाता से दूसरे प्रदाता तक ले जा सकते हैं, जबकि सर्वर रहित ऐप्स विक्रेता लॉक-इन से पीड़ित हो सकते हैं, क्योंकि प्रत्येक विक्रेता का निष्पादन वातावरण अद्वितीय होता है।
सर्वर रहित बनाम FaaS बनाम BaaS
समान लेकिन भिन्न शब्दों का एक अन्य समूह सर्वर रहित, FaaS और BaaS हैं। FaaS का अर्थ है एक सेवा के रूप में कार्य, जबकि BaaS का अर्थ है एक सेवा के रूप में बैकएंड। दोनों प्रौद्योगिकियाँ सर्वर रहित के सबसेट हैं, लेकिन वे दृष्टिकोण में भिन्न हैं।
सेवा के रूप में कार्य वह शब्द है जो अधिकतर सर्वर रहित कंप्यूटिंग से जुड़ा है। यह एक ऐसी प्रणाली है जहां प्रदाता क्लाउड में किसी एप्लिकेशन को निष्पादित करने के लिए आवश्यक सभी संसाधन प्रदान करता है। FaaS एप्लिकेशन आमतौर पर एक प्रोग्रामिंग भाषा के लिए विशिष्ट होते हैं और अक्सर प्रत्येक आह्वान के साथ एक एकल, विशिष्ट कार्रवाई करते हैं।
दूसरी ओर, एक सेवा के रूप में बैकएंड में वे सभी सेवाएँ शामिल होती हैं जिनकी क्लाउड-आधारित ऐप को कार्य करने के लिए आवश्यकता होती है। इनमें होस्टिंग, डेटाबेस सेवाएँ, प्रमाणीकरण सेवाएँ, स्केलेबिलिटी इत्यादि शामिल हो सकते हैं। BaaS सेवाएँ भी FaaS की तरह सर्वर, वर्चुअल मशीन और कंटेनर प्रबंधन की आवश्यकता को दूर करती हैं।
सर्वर रहित सिस्टम और उद्योग अनुप्रयोगों के प्रकार
सर्वर रहित तकनीक अधिकांश कंप्यूटिंग फ़ंक्शन प्रदान करती है जिनकी उपयोगकर्ताओं को अपने अंतर्निहित बुनियादी ढांचे को प्रबंधित करने की आवश्यकता के बिना क्लाउड वातावरण में आवश्यकता होती है। इन सर्वर रहित सेवाओं की पेशकश के कई तरीकों में से कुछ निम्नलिखित हैं।
- FaaS (एक सेवा के रूप में कार्य): PHP से लेकर जावास्क्रिप्ट या GO फ़ंक्शंस तक, कई प्रदाता विभिन्न भाषाओं के लिए अलग-अलग FaaS पैकेज पेश करते हैं जो स्वचालित रूप से स्केल भी होंगे।
- BaaS (एक सेवा के रूप में बैकएंड): से शुद्ध करना सेवा मेरे AWS प्रवर्धित करें, Firebase, ऐप लिखें, और कई अन्य, बैकएंड-ए-ए-सर्विस विशिष्ट प्रकार के वेब ऐप्स विकसित करना आसान बनाता है।
- स्टेटिक वेब होस्टिंग: स्टेटिक वेबसाइटों को PHP और MySQL जैसे बैकएंड सर्वर की आवश्यकता नहीं होती है। वे केवल पहले से रेंडर की गई HTML और JavaScript फ़ाइलें परोसते हैं, जिससे उन्हें बनाए रखना आसान और सस्ता हो जाता है। वे सबसे तेजी से लोड होने वाली और बेहतरीन साइटें भी हैं एसईओ.
- स्ट्रीमिंग डेटा प्रोसेसिंग: सर्वर रहित एप्लिकेशन स्ट्रीमिंग डेटा प्रोसेसिंग के लिए आदर्श हैं, क्योंकि वे आवश्यकतानुसार स्केल कर सकते हैं और सभी प्रकार के वास्तविक समय विश्लेषण के लिए बिल्कुल सही हैं।
- मोबाइल और वेब ऐप्स: कम उपयोग किए जाने वाले मोबाइल और वेब ऐप्स को सर्वर रहित तैनाती से समान रूप से बहुत लाभ होगा।
- डेटाबेस: परिवर्तनशील या अप्रत्याशित लोड वाले डेटाबेस एप्लिकेशन सर्वर रहित कंप्यूटिंग के कई लाभों का समान रूप से लाभ उठा सकते हैं।
- सूक्ष्म सेवाएँ और एपीआई: सर्वर रहित सिस्टम अप्रत्याशित मांग के साथ सूक्ष्म सेवाओं और एपीआई को विकसित करने और तैनात करने के लिए आदर्श मंच हैं।
- ऑन-डिमांड/इवेंट-संचालित प्रक्रियाएं: कोई भी गैर-स्थिर घटना जिसे प्रसंस्करण की आवश्यकता है, सर्वर रहित से लाभान्वित होगी।
- IoT ऐप्स: इंटरनेट ऑफ थिंग्स एप्लिकेशन अपने छोटे पेलोड और अन्य न्यूनतम आवश्यकताओं के साथ सर्वर रहित अनुप्रयोगों से जुड़ने में अच्छा प्रदर्शन करेंगे।
- क्रॉन/अनुसूचित कार्य: सर्वर रहित लोगों के लिए एक और बढ़िया अवसर।
- अतुल्यकालिक कार्य और बैच प्रोसेसिंग: एक स्टेटलेस, सर्वर रहित वातावरण अतुल्यकालिक कार्यों को संभालने और अप्रत्याशित मांग के साथ डेटा के बैच प्रोसेसिंग के लिए समान रूप से आदर्श है।
सर्वर रहित सिस्टम की चुनौतियाँ
सर्वर रहित कंप्यूटिंग की भी अपनी चुनौतियाँ और नुकसान हैं। ये विभिन्न कारण हैं जो या तो इसके कार्यान्वयन को सीमित करते हैं या कुछ परियोजनाओं में इसका उपयोग असंभव बना देते हैं। वे इस प्रकार हैं.
- ठंडी शुरुआत: सर्वर रहित एप्लिकेशन को कुछ अनुभव होगा स्टार्टअप जब इसका बार-बार उपयोग नहीं किया जाता तो इसमें देरी होती है। यह देरी या ठंडी शुरुआत इसलिए होती है क्योंकि जब संसाधनों का उपयोग नहीं किया जा रहा हो तो प्लेटफ़ॉर्म स्वचालित रूप से सर्वर रहित एप्लिकेशन को निष्क्रिय कर देगा। जब ऐप से दोबारा अनुरोध किया जाता है, तो प्लेटफ़ॉर्म तुरंत अपने निष्पादन वातावरण को फिर से बना देगा।
- विक्रेता बंदी: वर्चुअल मशीन और कंटेनर प्रौद्योगिकियों के विपरीत, सर्वर रहित कंप्यूटिंग तकनीक पूरी तरह से सेवा प्रदाता पर निर्भर करती है। वे वातावरण प्रदान करते हैं, एप्लिकेशन अनुमतियाँ, मेमोरी और सीपीयू क्षमता, निष्पादन सीमाएँ इत्यादि निर्धारित करते हैं। ऐसी स्थिति डेवलपर्स को सेवा प्रदाता के प्लेटफ़ॉर्म पर निर्भर बना देती है क्योंकि प्रदाताओं को बदलना अधिक कठिन हो जाता है।
- नियंत्रण खोना: एक डेवलपर के रूप में, निष्पादन परिवेश पर आपका नियंत्रण सीमित है। सबसे अच्छा जो आप अक्सर कर सकते हैं वह सटीक निष्पादन वातावरण, चर और अनुमतियों के साथ एक सेवा प्रदाता चुनना है जिसकी आपको आवश्यकता है।
- परीक्षण और डिबगिंग मुद्दे: सर्वर रहित वातावरण में निष्पादन और सिस्टम त्रुटियाँ प्लेटफ़ॉर्म पर निर्भर करती हैं। कुछ दूसरों से बेहतर हैं, लेकिन कंटेनर या वीएम सेटअप जितने अच्छे नहीं हैं।
- सीमाएं: मेमोरी और निष्पादन समय सीमा प्रदाता द्वारा निर्धारित की जाती है और इसे बदला नहीं जा सकता।
लोकप्रिय सर्वर रहित सेवाओं की सूची
नेट पर कुछ सबसे लोकप्रिय सर्वर रहित सेवाएँ निम्नलिखित हैं।
- AWS सर्वर रहित: लैम्ब्डा, फ़ार्गेट, स्टेप फ़ंक्शंस और बहुत कुछ शामिल हैं
- Google क्लाउड सर्वर रहित: क्लाउड रन, फ़ंक्शंस, इवेंटार्क, फायरस्टोर, क्लाउड एसक्यूएल, शेड्यूलर सहित
- माइक्रोसॉफ्ट नीला: स्टोरेज, डेटाबेस, कंप्यूट और DevOps सहित
- आईबीएम क्लाउड फ़ंक्शंस
- अलीबाबा क्लाउड फ़ंक्शन कंप्यूट
- नेटलिफाई फंक्शंस
- वर्सेल एज फ़ंक्शंस
- ट्विलो फ़ंक्शंस
- फायरबेस क्लाउड फ़ंक्शंस
- AWS प्रवर्धित करें
- ऐप लिखें
अक्सर पूछे जाने वाले प्रश्न
यहां सर्वर रहित कंप्यूटिंग के संबंध में अक्सर पूछे जाने वाले प्रश्न दिए गए हैं।
प्रश्न: सर्वर रहित प्रणाली का प्रमुख लाभ क्या है?
उत्तर: बड़े पैमाने पर विश्वसनीय वेब एप्लिकेशन चलाने के दौरान सर्वर को सेट अप या प्रबंधित करने की आवश्यकता न होने का मुख्य लाभ उपयोग में आसानी है।
प्रश्न: सर्वर रहित सिस्टम में कोल्ड स्टार्ट क्या है?
ए: सर्वर रहित सिस्टम की कोल्ड स्टार्ट का तात्पर्य किसी एप्लिकेशन या फ़ंक्शन को निष्पादित करने में प्रारंभिक देरी से है यदि इसका कुछ समय तक उपयोग नहीं किया गया हो। यह देरी सिस्टम को कोड चलाने के लिए नए संसाधन स्थापित करने के कारण होती है।
प्रश्न: क्या मैं किसी भी प्रकार के एप्लिकेशन के लिए सर्वर रहित सिस्टम का उपयोग कर सकता हूं?
उत्तर: सीमित निष्पादन समय के कारण सभी प्रकार के एप्लिकेशन को सर्वर रहित पर चलाना असंभव हो जाता है। आप सर्वर रहित केवल कुछ मिनट या उससे कम समय तक चलने वाले एप्लिकेशन ही चला सकते हैं क्योंकि सेवा प्रदाता आमतौर पर समय सीमा लगाते हैं।
प्रश्न: सर्वर रहित कंप्यूटिंग के लिए मैं कौन सी प्रोग्रामिंग भाषाओं का उपयोग कर सकता हूं?
उत्तर: आप सर्वर रहित ऐप के लिए किसी भी प्रोग्रामिंग भाषा का उपयोग कर सकते हैं, हालांकि, आपको पहले यह सुनिश्चित करना होगा कि आपका सेवा प्रदाता उस भाषा का समर्थन करता है। अधिकांश प्रदाता उन भाषाओं को सूचीबद्ध करते हैं जिनका वे समर्थन करते हैं।
प्रश्न: क्या सर्वर रहित एप्लिकेशन को डीबग करना संभव है?
उत्तर: सेवा प्रदाता द्वारा उपलब्ध कराए गए उपकरणों के आधार पर यह संभव हो सकता है। हालाँकि कंटेनरीकृत एप्लिकेशन की तुलना में डीबग करना आम तौर पर अधिक कठिन होता है।
प्रश्न: क्या मैं सर्वर रहित को सर्वर-आधारित सेवाओं के साथ जोड़ सकता हूँ?
उत्तर: हाँ, ज़रूर।
निष्कर्ष
क्लाउड में एप्लिकेशन विकसित करने और होस्ट करने के लिए सर्वर रहित कंप्यूटिंग एक क्रांतिकारी दृष्टिकोण है। यह चीज़ों को प्रबंधित करना आसान बनाता है, चलाना सस्ता बनाता है और इसमें एंटरप्राइज़-ग्रेड स्केलिंग की क्षमता शामिल होती है।
इसलिए, चाहे आप एक डेवलपर हैं जो अपने वर्कफ़्लो को सरल बनाना चाहते हैं या एक व्यवसाय हैं जो अपने आईटी बुनियादी ढांचे को अनुकूलित करने की कोशिश कर रहे हैं, आप इस बात से सहमत होंगे कि सर्वर रहित कंप्यूटिंग यहाँ रहने के लिए है और आपके अगले प्रोजेक्ट को बेहतर बनाने में आपकी मदद कर सकती है।