AWS लैम्ब्डा क्या है? उदाहरण के साथ लैम्ब्डा फंक्शन

विषय - सूची

AWS लाम्बा समारोह से पहले, आइए समझते हैं:

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

सर्वरलेस एक ऐसा शब्द है जो आम तौर पर सर्वर रहित एप्लिकेशन को संदर्भित करता है। सर्वर रहित अनुप्रयोग वे होते हैं जिन्हें किसी सर्वर प्रावधान की आवश्यकता नहीं होती है और उन्हें सर्वर का प्रबंधन करने की आवश्यकता नहीं होती है।

AWS लैम्ब्डा क्या है?

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

AWS लैंबडा में AWS सेवाओं में घटनाओं की प्रतिक्रिया के आधार पर कोड निष्पादित किया जाता है जैसे S3 बकेट में फाइलें जोड़ना / हटाना, Amazon API गेटवे से HTTP रिक्वेस्ट आदि। हालांकि, Amazon Lambda का उपयोग केवल बैकग्राउंड टास्क को निष्पादित करने के लिए किया जा सकता है।

AWS लैम्ब्डा फ़ंक्शन आपको ऑपरेटिंग सिस्टम (OS) एक्सेस कंट्रोल, OS पैचिंग, राइट-साइज़िंग, प्रोविजनिंग, स्केलिंग, आदि के प्रबंधन के बजाय अपने मुख्य उत्पाद और व्यावसायिक तर्क पर ध्यान केंद्रित करने में मदद करता है।

शुरुआती लोगों के लिए इस एडब्ल्यूएस लैंबडा ट्यूटोरियल में, आप सीखेंगे:

  • AWS लैम्ब्डा कैसे काम करता है?
  • घटनाओं कि ट्रिगर AWS लैम्ब्डा
  • AWS लाम्बा अवधारणाओं
  • AWS लाम्बा VS AWS EC2
  • AWS लैंबडा VS AWS इलास्टिक बीनस्टॉक
  • AWS लैम्ब्डा के मामलों का उपयोग करें
  • लैंबडा फ़ंक्शन की सर्वोत्तम प्रथाएँ
  • जब AWS लैम्ब्डा का उपयोग नहीं करना है
  • AWS लैम्ब्डा के उपयोग के लाभ
  • AWS लाम्बा की सीमाएँ

AWS लैम्ब्डा कैसे काम करता है?

ब्लॉक आरेख के साथ निम्न AWS लैम्ब्डा उदाहरण कुछ आसान चरणों में AWS लैम्ब्डा के काम करने की व्याख्या करता है:

चरण 1: पहले AWS लैम्ब्डा द्वारा समर्थित किसी भी भाषा में अपना AWS लैम्ब्डा कोड अपलोड करें। जावा, पायथन, गो और सी # कुछ ऐसी भाषाएं हैं जो AWS लैम्ब्डा फ़ंक्शन द्वारा समर्थित हैं।

चरण 2: ये कुछ एडब्ल्यूएस सेवाएं हैं जो आपको एडब्ल्यूएस लैंबडा को ट्रिगर करने की अनुमति देती हैं।

चरण 3: AWS लैम्ब्डा आपको कोड और घटना के विवरण को अपलोड करने में मदद करता है, जिस पर इसे ट्रिगर किया जाना चाहिए।

चरण 4: AWS सेवाओं द्वारा ट्रिगर होने पर AWS लैम्ब्डा कोड निष्पादित करें:

चरण 5: AWS केवल तभी चार्ज करता है जब AWS लैम्ब्डा कोड निष्पादित करता है, और अन्यथा नहीं।

यह निम्नलिखित परिदृश्यों में होगा:

  • S3 बाल्टी में फ़ाइलें अपलोड करें
  • जब HTTP मिलता है / पोस्ट समापन बिंदु URL मारा जाता है
  • डायनमो डीबी तालिकाओं को जोड़ने / संशोधित करने और हटाने के लिए
  • डेटा स्ट्रीम संग्रह की प्रक्रिया में
  • सर्वर पुश नोटीफिकेशन
  • वेबसाइट की होस्टिंग
  • ईमेल भेजना

नोट: आपको याद रखना चाहिए कि आप AWS सेवाओं के लिए तभी शुल्क लेंगे जब AWS लैम्ब्डा कोड निष्पादित करता है, अन्यथा आपको कुछ भी भुगतान करने की आवश्यकता नहीं है।

घटनाओं कि ट्रिगर AWS लैम्ब्डा

यहाँ, वे घटनाएँ हैं जो तब शुरू होंगी जब आप AWS लैम्ब्डा का उपयोग करेंगे।

  • डेटा डायनामो डीबी टेबल डालें, अपडेट और डिलीट करें
  • एसएनएस में पुश सूचनाएं शामिल करने के लिए
  • CloudTrail में लॉग इतिहास की खोज करने के लिए
  • S3 ऑब्जेक्ट में प्रवेश
  • जब भी डेटा जोड़ा जाता है, संशोधित किया जाता है, और तालिका में हटा दिया जाता है, तो डायनमोडीबी एडब्ल्यूएस लैंबडा को ट्रिगर कर सकता है।
  • नियमित समय पैटर्न पर कार्य को पूरा करने के लिए कार्यक्रम को निर्धारित करने में आपकी मदद करता है।
  • S3 बाल्टी में वस्तुओं के लिए संशोधन
  • अमेज़न SNS से ​​भेजे गए नोटिफिकेशन।
  • क्लाउड एड्रिल लॉग को संसाधित करने के लिए AWS लैंबडा का उपयोग किया जा सकता है
  • एपीआई गेटवे आपको GET / POST विधियों पर AWS लैम्ब्डा को ट्रिगर करने की अनुमति देता है।

AWS लाम्बा अवधारणाओं

समारोह:

फंक्शन एक प्रोग्राम या स्क्रिप्ट है जो AWS लैम्ब्डा में चलती है। लैंबडा आपके फ़ंक्शन में मंगलाचरण की घटनाओं को पारित करता है, जो एक घटना को संसाधित करता है और अपनी प्रतिक्रिया देता है।

Runtimes:

रनटाइम विभिन्न भाषाओं में फ़ंक्शन की अनुमति देता है जो एक ही आधार निष्पादन वातावरण पर चलता है। यह आपको रनटाइम में अपने फ़ंक्शन को कॉन्फ़िगर करने में मदद करता है। यह आपकी चयनित प्रोग्रामिंग भाषा से भी मेल खाता है।

इवेंट स्रोत:

इवेंट स्रोत AWS सेवा है, जैसे Amazon SNS, या एक कस्टम सेवा। यह ट्रिगर फ़ंक्शन आपको इसके तर्क को निष्पादित करने में मदद करता है।

लम्बोर्ड लेयर्स:

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

लॉग स्ट्रीम:

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

AWS लैम्ब्डा का उपयोग कैसे करें

अब, हम सीखेंगे कि AWS लैम्ब्डा के साथ AWS लैम्ब्डा का उपयोग कैसे करें:

चरण 1 ) गोटो https://aws.amazon.com/lambda/ और आरंभ करें

चरण 2 ) एक खाता बनाएं या अपने मौजूदा खाते से साइन इन करें

चरण 3 ) अगले लैम्बडा पृष्ठ में,

  1. कोड संपादित करें
  2. रन पर क्लिक करें

चरण 4 ) आप आउटपुट देखेंगे

AWS लाम्बा VS AWS EC2

यहां, AWS लाम्बा और EC2 के बीच कुछ प्रमुख अंतर हैं।

मापदंडों AWS लाम्बा AWS EC2
परिभाषा AWS लाम्बा एक प्लेटफार्म है जो सेवा के रूप में है (PaaS)। यह आपको अपने बैकएंड कोड को चलाने और निष्पादित करने में मदद करता है। AWS EC2 एक सेवा (laaS) के रूप में एक बुनियादी ढांचा है। यह वर्चुअलाइज्ड कंप्यूटिंग संसाधन प्रदान करता है।
FLEXIBILITY उदाहरणों की गणना करने के लिए लॉग इन करने के लिए कोई लचीलापन प्रदान नहीं करता है। यह आपको एक अनुकूलित ऑपरेटिंग सिस्टम या भाषा रनटाइम चुनने की अनुमति देता है। विभिन्न प्रकार के उदाहरणों, कस्टमऑपरेटिंग सिस्टम, सुरक्षा पैच और नेटवर्क, आदि का चयन करने के लिए लचीलापन प्रदान करता है।
स्थापना प्रक्रिया आपको अपना वातावरण चुनने की आवश्यकता है जहां आप कोड चलाना चाहते हैं और कोड को एडब्ल्यूएस लैम्ब्डा में धकेल दें। EC2 में पहली बार, आपको ओएस चुनना होगा और आवश्यक सभी सॉफ़्टवेयर स्थापित करना होगा और फिर EC2 में अपना कोड धक्का देना होगा।
पर्यावरण प्रतिबंध यह कुछ भाषाओँ तक ही सीमित है। कोई पर्यावरण प्रतिबंध नहीं।

AWS लैंबडा VS AWS इलास्टिक बीनस्टॉक

यहाँ, AWS लैम्ब्डा और इलास्टिक बीनस्टॉक के बीच कुछ प्रमुख अंतर हैं।

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

AWS लैम्ब्डा के मामलों का उपयोग करें

AWS लम्बे अनुप्रयोगों की एक विस्तृत श्रृंखला के लिए इस्तेमाल किया:

  • ईटीएल प्रक्रिया के लिए आपकी मदद करता है
  • आपको वास्तविक समय फ़ाइल प्रसंस्करण और वास्तविक समय स्ट्रीम प्रसंस्करण करने की अनुमति देता है
  • वेब एप्लिकेशन बनाने के लिए उपयोग करें
  • एलेक्सा चैटबॉट और अमेज़ॅन इको / एलेक्सा जैसे अमेज़ॅन उत्पादों में उपयोग करें
  • डाटा प्रोसेसिंग (वास्तविक समय स्ट्रीमिंग एनालिटिक्स)
  • रोजमर्रा के कार्यों का स्वचालित बैकअप
  • स्केलेबल बैक एंड (मोबाइल एप्लिकेशन, एलओटी डिवाइस)
  • आपको सर्वर-साइड बैकएंड लॉजिक को निष्पादित करने में मदद करता है
  • आपको डेटा को फ़िल्टर और ट्रांसफ़ॉर्म करने की अनुमति देता है

लैंबडा फ़ंक्शन की सर्वोत्तम प्रथाएँ

यहाँ AWS लाम्बा कार्यों के कुछ सर्वोत्तम अभ्यास दिए गए हैं:

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

जब AWS लैम्ब्डा का उपयोग नहीं करना है

निम्नलिखित ऐसी स्थिति है जहाँ लैम्बडा निश्चित रूप से एक आदर्श विकल्प नहीं है:

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

AWS लैम्ब्डा के उपयोग के लाभ

यहां, AWS लैम्ब्डा के उपयोग के लाभ / लाभ हैं:

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

AWS लाम्बा की सीमाएँ

AWS लैम्ब्डा का उपयोग करने के विपक्ष / नुकसान इस प्रकार हैं:

  • छोटी परियोजनाओं के लिए AWS लाम्बा उपकरण उपयुक्त नहीं है।
  • AWS लैंबडा पूरी तरह से बुनियादी ढांचे के लिए AWS पर निर्भर करता है, इसलिए यदि आपका कोड इसकी मांग करता है तो आप कोई अतिरिक्त सॉफ़्टवेयर स्थापित नहीं कर सकते।
  • समवर्ती निष्पादन 100 तक सीमित है
  • बुनियादी ढांचे के लिए AWS लैम्ब्डा पूरी तरह से AWS पर निर्भर था; यदि आपका कोड इसकी मांग करता है तो आप कुछ अतिरिक्त सॉफ़्टवेयर स्थापित नहीं कर सकते।
  • इसकी मेमोरी वॉल्यूम 128 से 1536 एमबी के बीच भिन्न हो सकती है।
  • ईवेंट अनुरोध 128 केबी से अधिक नहीं होना चाहिए।
  • लैम्ब्डा फ़ंक्शंस आपको अपने लॉग केवल क्लाउडवेच में लिखने में मदद करते हैं। यह एकमात्र उपकरण है जो आपको अपने कार्यों की निगरानी या समस्या निवारण करने की अनुमति देता है।
  • इसका कोड निष्पादन समय केवल 5 मिनट है।

सारांश

  • सर्वरलेस एक ऐसा शब्द है जो आम तौर पर सर्वर रहित एप्लिकेशन को संदर्भित करता है।
  • AWS लैंबडा एक ऐसी सर्वर रहित कम्प्यूट सेवा है। इसलिए, आपको चिंता करने की ज़रूरत नहीं है कि कौन से एडब्ल्यूएस संसाधनों को लॉन्च करना है, या वे उन्हें कैसे प्रबंधित करेंगे।
  • एक फ़ंक्शन एक प्रोग्राम या एक स्क्रिप्ट है जो AWS सर्वर रहित लैम्ब्डा में चलती है।
  • रनटाइम विभिन्न भाषाओं में फ़ंक्शन की अनुमति देता है जो एक ही आधार निष्पादन वातावरण पर चलता है।
  • इवेंट स्रोत AWS सेवा है, जैसे Amazon SNS, या एक कस्टम सेवा।
  • लैंबडा परतें पुस्तकालयों के लिए एक महत्वपूर्ण वितरण तंत्र, कस्टम रनटाइम और अन्य महत्वपूर्ण फ़ंक्शन निर्भरताएं हैं।
  • लॉग स्ट्रीम आपको कस्टम लॉगिंग स्टेटमेंट के साथ अपने फ़ंक्शन कोड को एनोटेट करने की अनुमति देता है जो आपको अपने लैम्ब्डा कार्यों के निष्पादन प्रवाह और प्रदर्शन का विश्लेषण करने में मदद करता है।
  • AWS लाम्बा एक प्लेटफार्म है जो सेवा के रूप में है (PaaS)। यह आपको अपने बैकएंड कोड को चलाने और निष्पादित करने में मदद करता है।
  • AWS EC2 एक सेवा (laaS) के रूप में एक बुनियादी ढांचा है। यह वर्चुअलाइज्ड कंप्यूटिंग संसाधन प्रदान करता है।
  • उन अनुप्रयोगों को चलाने वाले बुनियादी ढांचे की चिंता किए बिना AWS क्लाउड पर ऐप्स तैनात और प्रबंधित करें।
  • AWS लैम्ब्डा का उपयोग आपके बैक-एंड कोड को चलाने और निष्पादित करने के लिए किया जाता है। आप किसी एप्लिकेशन को परिनियोजित करने के लिए इसका उपयोग नहीं कर सकते।
  • एडब्ल्यूएस लाम्बा आपको ईटीएल प्रक्रिया के लिए मदद करता है।
  • AWS में लैम्ब्डा फ़ंक्शन का सबसे अच्छा अभ्यास सही "टाइमआउट" का उपयोग करना है।
  • एडब्ल्यूएस लैंबडा सॉफ्टवेयर पैकेज या एप्लिकेशन का उपयोग करना उचित नहीं है जो अंतर्निहित विंडोज आरपीसी को कॉल करने पर भरोसा करते हैं
  • AWS लाम्बा एक अत्यधिक लचीला उपकरण है।
  • छोटी परियोजनाओं के लिए AWS लाम्बा उपकरण उपयुक्त नहीं है।
  • जब आप AWS लैम्ब्डा का उपयोग करते हैं, तो एक सामान्य ईवेंट ट्रिगर किया जाएगा, डेटा डायनमो डीबी टेबल को अपडेट और डिलीट करेगा।

दिलचस्प लेख...