सर्वर रहित क्या है?


42

सभी क्लाउड प्रदाता अपने "सर्वर रहित" समाधानों का विपणन कर रहे हैं। वादा यह है कि सर्वर रहित वर्तमान में डेवलपर्स अपने सॉफ़्टवेयर को विकसित करने के तरीके को बदलने जा रहा है, और संचालन इसे उत्पादन में प्रबंधित करते हैं।

"सर्वर रहित" क्या है? कोई इसके बारे में और अधिक कैसे सीख सकता है, और आज इसका उपयोग कैसे किया जा सकता है?


सर्वर रहित कंप्यूटिंग "सर्वर कम" एक "चिकन बर्गर" के रूप में शाकाहारी है क्योंकि आप व्यक्तिगत रूप से चिकन से नहीं मिलते थे
साईं अडांकी

जवाबों:


43

सर्वरलेस कंप्यूटिंग पर विकिपीडिया का लेख विषय का एक अच्छा परिचय प्रदान करता है:

सर्वर रहित कंप्यूटिंग, जिसे एक सेवा (FaaS) के रूप में कार्य के रूप में भी जाना जाता है, एक क्लाउड कंप्यूटिंग कोड निष्पादन मॉडल है जिसमें क्लाउड प्रदाता किसी फ़ंक्शन के कंटेनर प्लेटफ़ॉर्म को सेवा (PaS) के रूप में शुरू करने और रोकने के लिए पूरी तरह से प्रबंधित करता है, जो अनुरोधों और अनुरोधों की सेवा के लिए आवश्यक है वर्चुअल मशीन, प्रति घंटे के बजाय, अनुरोध को पूरा करने के लिए आवश्यक संसाधनों के एक सार उपाय द्वारा बिल किया जाता है।

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

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

सर्वर रहित करने के लिए काफी कुछ फायदे हैं (हालांकि आपको कुछ मामलों में उपयोग किए जाने की तुलना में थोड़ा अलग तरीके से लिखने की आवश्यकता है, क्योंकि यह पूरी तरह से अलग वास्तुकला है):

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

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

  • यह डेवलपर्स को इस बात पर ध्यान केंद्रित करने के लिए मुक्त करता है कि वे किस कोड में अच्छे हैं । अधिकांश डेवलपर्स शायद सर्वर इन्फ्रास्ट्रक्चर और प्रोग्रामिंग दोनों में महान नहीं होंगे - सर्वर रहित बस एक समस्या को समीकरण से बाहर ले जाता है।


"मुझे सर्वर इन्फ्रास्ट्रक्चर की बिल्कुल भी परवाह नहीं करनी चाहिए"। यह एक बहुत अच्छा बात है, क्योंकि, मेरे अनुभव में, विनाशकारी परिणामों के साथ उनमें से बहुत पहले से ही / नहीं /!
फिल डब्ल्यू

15

मार्टिन फाउलर का एक अच्छा अवलोकन है:
https://martinfowler.com/articles/serverless.html

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


2
न केवल पंचांग, ​​लेकिन पूरी तरह से दूर सार। कई आधुनिक गैर-सर्वरहित सेटअपों (जैसे एडब्ल्यूएस ईसी 2 एएसजी) में, बुनियादी ढांचा भी अल्पकालिक है; ASG में EC2 का उदाहरण किसी भी समय समाप्त किया जा सकता है।
एड्रियन

14

'सर्वर रहित', हमारे अंतरिक्ष में कई चीजों की तरह, एक अतिभारित शब्द बन रहा है .. लेकिन आम तौर पर इसका मतलब है "कार्यात्मक रूप से, हमारी वास्तुकला सर्वर के प्रावधान या चल रहे रखरखाव पर निर्भर नहीं करती है"

पहला उदाहरण जो मन में आता है वह एक एकल पेज जावास्क्रिप्ट ऐप है, जो स्थानीय भंडारण का उपयोग करता है, और अमेज़ॅन एस # या जीथूब पेज (या किसी भी स्थिर साइट - जैसे वे केवल सामान्य उदाहरण हैं) पर संग्रहीत हैं। एक 'टूडू' या 'हो रही चीजें'-शैली के अनुप्रयोग की तरह कुछ कल्पना करें जो आपके ब्राउज़र में पूरी तरह से चलता है। आपका ब्राउज़र कोड को डाउनलोड करने के लिए S3 जैसी सेवा को हिट करता है, और आपके द्वारा संग्रहीत आइटम सभी आपके ब्राउज़र में स्थानीय भंडारण में संग्रहीत किए जाते हैं। इसके लिए आपके पास कोई सर्वर नहीं है।

दूसरा उदाहरण, और थोड़ा और अधिक जटिल है (और यह भी कि 'सर्वरहित' शब्द को लोकप्रिय बनाने वाला), AWS लाम्बा जैसी सेवा का उपयोग करता है। इसे हल करने की समस्या पेश करके मुझे इसकी व्याख्या करें:

अपने कैरियर में कई बार मैंने एक रूबी कोड से थोड़ा अधिक क्लाइंट के लिए एक व्यावसायिक समस्या को हल किया है जो एक आवधिक अर्क, रूपांतरण और लोड करता है (आमतौर पर एक रेक कार्य के रूप में लिखा जाता है)। एक बार हल हो जाने पर, मैं आमतौर पर इसे क्रोन के साथ स्वचालित कर देता हूं। फिर समस्या यह हो जाती है कि 'मैं इस बात को कहाँ होस्ट करता हूँ जो हर घंटे में एक बार चलती है?' कुछ ग्राहकों के लिए, हम उनके मौजूदा बुनियादी ढांचे में एक सर्वर स्थापित करेंगे। दूसरों के लिए, हम एक EC2 उदाहरण सेट करेंगे, भले ही यह समय का 99% निष्क्रिय था। या तो उन परिस्थितियों में, एक सर्वर है जिसमें प्रावधान, पैचिंग, निगरानी, ​​अद्यतन आदि की आवश्यकता होती है।

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

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


एक घंटे की नौकरी में एक बार वास्तविक जीवन उदाहरण के लिए मेरा उत्थान जो आम तौर पर ईसी 2 की आवश्यकता थी। अब आपको बस एक लैम्ब्डा फ़ंक्शन की आवश्यकता है!
होपकिंग

10

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

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

और, सर्वर रहित बुनियादी ढांचे के निर्माण में मेरे व्यक्तिगत अनुभव से एक और सीख है:

  • सर्वर रहित डेटा पाइपलाइनों को वास्तव में केवल वास्तविक समय होने की आवश्यकता नहीं है। AWS के CloudWatch अलर्ट मैकेनिज्म के माध्यम से कुशल बैच-प्रोसेसिंग सर्वर रहित पाइपलाइनों का निर्माण कर सकता है, जो किसी को टूल की निगरानी करने और कम्प्यूट करने के लिए (AWS) लैंबडा के लिए अलर्ट जुटाने की अनुमति देता है।

उदाहरण के लिए: AWS SQS कतार में फ़ाइलों को संग्रहीत करें। एक बार कतार में संदेशों की संख्या 10 तक पहुंचने के बाद, एक घटना को लैम्ब्डा में आग लगा दें।


6

बस सर्वर रहित शब्द की परिभाषा की व्याख्या करने के अलावा, इस शब्द की उत्पत्ति और यह इतिहास के साथ-साथ कुछ अर्थ भी देता है। इस अवधारणा की उत्पत्ति ऑस्टेन कॉलिंस द्वारा JAWS फ्रेमवर्क के साथ हुई , जिसे बाद में सर्वरलेस के रूप में नाम दिया गया । मैंने इसे पहले AWS re: Invent 2015 सेशन में सीखा है , जिसे कॉन्सेप्ट को डेट करने में मदद की जा सकती है। यह वास्तव में सर्वर रहित शब्द को गढ़ा है, जो तब अन्य क्लाउड सिस्टम में तेजी से फैलता है:

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.