API Gateway Deployment Patterns

Bobur Umurzokov

Bobur Umurzokov

December 16, 2022

Technology

APIs एप्लिकेशन बनाने के तरीके को बदल रहे हैं और डेटा को एक्सपोज़ करने के तरीके को बदल रहे हैं, चाहे वह हमारे संगठन के अंदर हो या बाहर। साथ ही, हमारे APIs की सफलता उनकी अखंडता, उपलब्धता और प्रदर्शन पर निर्भर करती है। API Gateway जैसे Apache APISIX के साथ, हम इन सफलता के संकेतकों को प्राप्त कर सकते हैं।

जब API Gateways के डिप्लॉयमेंट की बात आती है, तो 4 प्रसिद्ध पैटर्न हैं: केंद्रीकृत एज गेटवे, दो-स्तरीय गेटवे, माइक्रोगेटवे, और साइडकार। इस पोस्ट में, हम इन पैटर्न्स के बारे में जानेंगे और आपको अपने व्यवसाय के लिए सही API गेटवे डिप्लॉयमेंट पैटर्न चुनने का विचार देंगे।

API गेटवे क्या है?

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

API गेटवे डिप्लॉयमेंट कंपोनेंट्स

एक API गेटवे को दो उच्च-स्तरीय मूलभूत कंपोनेंट्स के साथ लागू किया जाता है: एक कंट्रोल प्लेन और एक डेटा प्लेन। ये कंपोनेंट्स आमतौर पर एक साथ पैकेज किए जा सकते हैं या अलग-अलग डिप्लॉय किए जा सकते हैं। कंट्रोल प्लेन वह जगह है जहां ऑपरेटर्स गेटवे के साथ इंटरैक्ट करते हैं और रूट्स, पॉलिसीज़, और आवश्यक टेलीमेट्री को परिभाषित करते हैं। डेटा प्लेन वह स्थान है जहां कंट्रोल प्लेन में निर्दिष्ट सभी कार्य होते हैं, नेटवर्क पैकेट्स को रूट किया जाता है, पॉलिसीज़ लागू की जाती हैं, और टेलीमेट्री उत्सर्जित की जाती है। उदाहरण के लिए, APISIX के पास विभिन्न प्रोडक्शन उपयोग के मामलों के लिए तीन अलग-अलग डिप्लॉयमेंट मोड (पारंपरिक, डिकपल्ड और स्टैंडअलोन) हैं।

केंद्रीकृत एज गेटवे

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

केंद्रीकृत एज API गेटवे

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

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

दो-स्तरीय गेटवे

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

जैसा कि नीचे दिए गए डायग्राम में दिखाया गया है कि Apache APISIX API गेटवे अक्सर सार्वजनिक इंटरनेट और एक निजी नेटवर्क के डिमिलिटराइज्ड ज़ोन (DMZ) के बीच स्थित होता है।

दो-स्तरीय API गेटवे

माइक्रोगेटवे

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

माइक्रोगेटवे

इसका विचार यह है कि माइक्रोसर्विसेज़ का प्रबंधन करने वाली व्यक्तिगत टीम को यह क्षमता (एक समर्पित गेटवे) प्रदान की जाए कि वे सेवाओं को सुरक्षित रूप से कैसे एक्सपोज़ करेंगे। वही डेवलपर टीम अपने माइक्रोसर्विसेज़ और माइक्रोगेटवे का प्रबंधन और रखरखाव करेगी, ताकि वे बग्स को ठीक कर सकें, अपडेट प्रदान कर सकें, सुधार कर सकें, और अन्य निर्भरताओं के साथ कम इंटरैक्शन के साथ और डिप्लॉयमेंट में अन्य एप्लिकेशन्स को प्रभावित किए बिना जल्दी से परिवर्तनों को प्रोडक्शन में पुश कर सकें।

साइडकार API गेटवे

साइडकार एक API गेटवे को एक कंटेनर के रूप में लागू करता है जो एक स्वतंत्र रनटाइम में एक सेवा से जुड़ा होता है, जैसे कि Kubernetes. साइडकार एक पैटर्न है जो एक मोटरसाइकिल से जुड़े साइडकार से मेल खाता है, इसी तरह, यह एक पैरेंट एप्लिकेशन (एक सॉफ्टवेयर कंपोनेंट जिसे सर्विस मेश कहा जाता है) से जुड़ा होता है और एप्लिकेशन के लिए सहायक सुविधाएं प्रदान करता है। साइडकार पैरेंट एप्लिकेशन के साथ ही जीवनचक्र साझा करता है, पैरेंट के साथ बनाया और रिटायर किया जाता है, और मॉनिटरिंग, लॉगिंग, कॉन्फ़िगरेशन, और नेटवर्किंग सेवाओं जैसी अतिरिक्त सुविधाएं प्रदान करता है।

इस पैटर्न को अपनाने के लाभ यह हैं कि प्रत्येक सेवा रनटाइम अपने API गेटवे को सबसे अच्छे तरीके से कॉन्फ़िगर कर सकता है। क्योंकि API गेटवे फंक्शनलिटी और सेटअप को सक्षम करने की आवश्यकता सेवा से सेवा में भिन्न हो सकती है। साथ ही, यह चिंताओं को अलग करता है यदि साझा API गेटवे इंफ्रास्ट्रक्चर में कोई समस्या होती है तो सभी सेवाएं प्रभावित नहीं होती हैं। उदाहरण के लिए, Amesh Apache APISIX पर आधारित एक अन्य सर्विस मेश समाधान है।

साइडकार API गेटवे

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

निष्कर्ष

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

संबंधित संसाधन

Apache APISIX डिप्लॉयमेंट मॉडल्स.

क्लाउड-नेटिव युग में API गेटवे क्या है, और यह क्यों आवश्यक है?.

अनुशंसित सामग्री

➔ ब्लॉग पोस्ट पढ़ें:

Tags: