फंक्शन ऐज अ सर्विस (FaaS) क्लाउड कंप्यूटिंग सेवाओं की एक श्रेणी का प्रतिनिधित्व करता है जो ग्राहकों को एक ऐसा प्लेटफ़ॉर्म प्रदान करता है जो ऐप विकसित करने और लॉन्च करने से जुड़े बुनियादी ढांचे के निर्माण और रखरखाव की जटिलता के बिना एप्लिकेशन कार्यक्षमताओं को विकसित, चलाने और प्रबंधित करने की अनुमति देता है। यह आर्किटेक्चरल पैटर्न आमतौर पर सर्वरलेस कंप्यूटिंग से जुड़ा होता है, जहाँ डेवलपर्स अपने एप्लिकेशन का कोड लिखने पर ध्यान केंद्रित कर सकते हैं, और क्लाउड प्रदाता निष्पादन वातावरण का प्रबंधन करता है।
फंक्शन ऐज़ अ सर्विस (FaaS) के इतिहास और उत्पत्ति का पता लगाना
फंक्शन ऐज ए सर्विस (FaaS) की शुरुआत क्लाउड कंप्यूटिंग के विकास से दृढ़ता से जुड़ी हुई है। 2000 के दशक की शुरुआत में क्लाउड कंप्यूटिंग के जन्म ने इंफ्रास्ट्रक्चर ऐज ए सर्विस (IaaS) और प्लेटफॉर्म ऐज ए सर्विस (PaaS) को सुर्खियों में ला दिया। हालाँकि, डेवलपर्स को अभी भी दोनों मॉडलों में सर्वर को प्रबंधित करने की आवश्यकता थी, हालाँकि PaaS के साथ यह कम था।
सफलता 2014 में मिली जब Amazon Web Services (AWS) ने AWS Lambda को पहले FaaS प्लेटफ़ॉर्म के रूप में पेश किया। इसने डेवलपर्स को सर्वर के बारे में चिंता करने की ज़रूरत को पूरी तरह से खत्म कर दिया। लैम्बडा ने डेवलपर्स को Amazon S3 बकेट में डेटा में बदलाव या Amazon DynamoDB टेबल में अपडेट जैसी घटनाओं के जवाब में अपना कोड चलाने की अनुमति दी। इसने एप्लिकेशन बनाने और वितरित करने के तरीके में एक क्रांतिकारी बदलाव को चिह्नित किया।
फंक्शन ऐज़ अ सर्विस (FaaS) के बारे में गहराई से जानें
FaaS एज पर कोड के मॉड्यूलर टुकड़ों को निष्पादित करने की एक सर्वर रहित विधि है। संपूर्ण ऐप या सेवा को तैनात करने के बजाय, डेवलपर्स फ़ंक्शन के छोटे-छोटे हिस्सों को निष्पादित कर सकते हैं जो एकल, निश्चित कार्य करते हैं। ये फ़ंक्शन 'स्टेटलेस' हैं क्योंकि उन्हें अल्पकालिक होने के लिए डिज़ाइन किया गया है और स्टेटलेस वातावरण के भीतर निष्पादित किया जाता है। क्लाउड प्रदाता स्वचालित रूप से उन संसाधनों का प्रबंधन करता है जिनकी उन्हें चलाने और स्केल करने के लिए आवश्यकता होती है।
HTTP अनुरोध, डेटाबेस संचालन, कतार, भंडारण, इत्यादि जैसी घटनाओं द्वारा फ़ंक्शन ट्रिगर किए जाते हैं। प्रदाता फ़ंक्शन निष्पादित करता है और सफलतापूर्वक पूरा होने पर परिणाम लौटाता है। FaaS की एक प्रमुख विशेषता यह है कि आप केवल फ़ंक्शन के वास्तविक प्रसंस्करण समय के लिए भुगतान करते हैं, न कि अंतर्निहित बुनियादी ढांचे के लिए।
FaaS की आंतरिक संरचना और कार्य प्रणाली को उजागर करना
FaaS मॉडल में, एप्लिकेशन लॉजिक को अलग-अलग फ़ंक्शन में विभाजित किया जाता है। इन्हें एक अंतर्निहित प्लेटफ़ॉर्म द्वारा प्रबंधित किया जाता है और आमतौर पर स्टेटलेस होते हैं। किसी ईवेंट को प्राप्त करने पर, प्लेटफ़ॉर्म फ़ंक्शन को चलाने के लिए संसाधनों को तेज़ी से स्पिन करता है, ईवेंट को प्रोसेस करता है, और फिर प्रोसेसिंग पूरी होने पर संसाधनों को बंद कर देता है।
- इवेंट ट्रिगर: कोई घटना जैसे HTTP अनुरोध, फ़ाइल अपलोड या डेटाबेस ऑपरेशन फ़ंक्शन को ट्रिगर करता है।
- फ़ंक्शन आरंभीकरण: क्लाउड प्रदाता निष्पादन के लिए फ़ंक्शन तैयार करता है। इसमें कंटेनर शुरू करना और उसमें फ़ंक्शन कोड लोड करना शामिल हो सकता है।
- कार्यान्वयन: फ़ंक्शन प्रदान किए गए ईवेंट डेटा के साथ चलाया जाता है।
- प्रतिक्रिया: फ़ंक्शन इवेंट डेटा को प्रोसेस करता है और परिणाम लौटाता है। यह इस प्रोसेसिंग के हिस्से के रूप में अन्य सेवाओं या डेटाबेस के साथ भी इंटरैक्ट कर सकता है।
- शट डाउनजब फ़ंक्शन चलना समाप्त हो जाता है, तो क्लाउड प्रदाता फ़ंक्शन को चलाने के लिए उपयोग किए जाने वाले संसाधनों को बंद कर देगा।
फंक्शन ऐज़ अ सर्विस (FaaS) की मुख्य विशेषताएं
- घटना संचालित की गई: कार्यों को घटनाओं या ट्रिगर्स के जवाब में निष्पादित किया जाता है।
- राज्यविहीन: फ़ंक्शन निष्पादन के बीच जानकारी को बरकरार नहीं रखते हैं।
- मापनीय: क्लाउड प्रदाता स्वचालित रूप से फ़ंक्शन की स्केलिंग का प्रबंधन करता है।
- अल्पकालिक: कार्यों से अपेक्षा की जाती है कि वे शीघ्रता से शुरू हों, थोड़े समय तक चलें, और फिर बंद हो जाएं।
- जितना उपयोग उतना भुगतान: मूल्य निर्धारण फ़ंक्शन द्वारा उपयोग किए गए वास्तविक कंप्यूट समय पर आधारित है।
सेवा के रूप में कार्य के विभिन्न प्रकार (FaaS)
जबकि FaaS की मूल अवधारणा एक ही है, विभिन्न क्लाउड प्रदाता थोड़े अलग FaaS उत्पाद प्रदान करते हैं। इनमें से कुछ सबसे लोकप्रिय हैं:
प्रदाता | FaaS उत्पाद |
---|---|
एडब्ल्यूएस | लैम्ब्डा |
गूगल क्लाउड | क्लाउड फ़ंक्शन |
माइक्रोसॉफ्ट एज़्योर | Azure फ़ंक्शन |
आईबीएम | क्लाउड फ़ंक्शन |
आकाशवाणी | एफएन परियोजना |
फंक्शन एज़ अ सर्विस (FaaS) का उपयोग करने के तरीके, समस्याएं और समाधान
FaaS उन अनुप्रयोगों के लिए विशेष रूप से उपयोगी है जिन्हें वास्तविक समय की जानकारी या छिटपुट अनुरोधों का जवाब देने की आवश्यकता होती है। उदाहरण के लिए, इसका उपयोग वास्तविक समय की फ़ाइल प्रोसेसिंग, डेटा ट्रांसफ़ॉर्मेशन या इवेंट स्ट्रीम प्रोसेसिंग के लिए किया जा सकता है। हालाँकि, निष्पादन समय सीमा, स्थिति प्रबंधन, परीक्षण और डिबगिंग से संबंधित संभावित चुनौतियाँ हैं। समाधानों में निष्पादन समय सीमा का पालन करने के लिए फ़ंक्शन कोड का सावधानीपूर्वक डिज़ाइन और स्थिति को प्रबंधित करने के लिए अतिरिक्त क्लाउड सेवाओं का उपयोग करना शामिल है।
समान अवधारणाओं के साथ तुलना
अवधारणा | विवरण |
---|---|
एफएएएस | डेवलपर्स फ़ंक्शन कोड प्रदान करते हैं। प्लेटफ़ॉर्म स्वचालित रूप से सभी बुनियादी ढांचे को संभालता है। |
आईएएस | डेवलपर्स एप्लिकेशन, डेटा, रनटाइम और मिडलवेयर का प्रबंधन करते हैं। प्रदाता वर्चुअलाइजेशन, सर्वर, स्टोरेज और नेटवर्किंग को संभालता है। |
पास | डेवलपर्स एप्लिकेशन और डेटा का प्रबंधन करते हैं। प्रदाता रनटाइम, मिडलवेयर, ओएस, वर्चुअलाइजेशन, सर्वर, स्टोरेज और नेटवर्किंग को संभालता है। |
FaaS से संबंधित भविष्य के परिप्रेक्ष्य और प्रौद्योगिकियां
FaaS के व्यापक सर्वरलेस इकोसिस्टम के साथ विकसित होने की संभावना है। एज कंप्यूटिंग में प्रगति से नेटवर्क के किनारे पर, डेटा के स्रोतों के करीब FaaS का प्रचलन बढ़ सकता है। इसके अलावा, हम और अधिक हाइब्रिड सर्वरलेस वातावरण देख सकते हैं जहाँ FaaS का उपयोग किसी एप्लिकेशन के विभिन्न भागों के लिए अन्य कंप्यूट मॉडल के साथ संयोजन में किया जाता है।
फंक्शन ऐज़ अ सर्विस (FaaS) में प्रॉक्सी सर्वर की भूमिका
प्रॉक्सी सर्वर अन्य सर्वर से संसाधन मांगने वाले क्लाइंट के अनुरोधों के लिए मध्यस्थ के रूप में कार्य करके FaaS में भूमिका निभा सकते हैं। वे प्रदर्शन में सुधार कर सकते हैं, सुरक्षा प्रदान कर सकते हैं और गुमनामी बनाए रख सकते हैं। FaaS संदर्भ में, प्रॉक्सी सर्वर का उपयोग उन अनुरोधों को संभालने के लिए किया जा सकता है जो फ़ंक्शन को ट्रिगर करते हैं, अतिरिक्त नियंत्रण, लॉगिंग और संशोधन क्षमताएँ प्रदान करते हैं।