API मुद्रीकरण क्या है?
Liu Wei
November 11, 2022
कल्पना कीजिए कि आपने एक सेवा विकसित की है जो आपके शहर के सभी सुपरमार्केट से छूट की जानकारी एकत्र करती है। यदि कुछ अन्य डेवलपर्स इस डेटा तक पहुंचना चाहते हैं, तो वे API का उपयोग करके वह जानकारी प्राप्त कर सकते हैं जो वे चाहते हैं, और हम उनके API उपयोग पर शुल्क लगा सकते हैं। API के माध्यम से डेटा को पैसे में बदलने को API मुद्रीकरण कहा जाता है। API मुद्रीकरण आपकी सेवाओं को लाभदायक बनाने का एक आदर्श तरीका है।

एक बार जब कोई कंपनी API मुद्रीकरण के व्यवसाय मॉडल को अपना लेती है, तो अगली चीज जिस पर विचार करना होता है वह है मूल्य निर्धारण मॉडल। अधिकांश API प्रदाता तीन मानक मूल्य निर्धारण मॉडल में से एक का उपयोग करते हैं: बंडल्ड एक्सेस, पे-पर-कॉल, और पे-पर-मंथ। इन सभी मूल्य निर्धारण मॉडल में, API प्रदाताओं को प्रत्येक उपयोगकर्ता के API कॉल की संख्या गिनने की आवश्यकता होती है। इसलिए, उपयोगकर्ता की पहचान करना महत्वपूर्ण है क्योंकि यदि API कॉल की संख्या सेवा पैकेज से अधिक हो जाती है तो उपयोगकर्ता को थ्रॉटल किया जा सकता है। हालांकि, केवल व्यक्तिगत उपयोगकर्ता की पहचान करना पर्याप्त नहीं है। अक्सर, सेवाएं खरीदने वाले कॉर्पोरेट उपयोगकर्ता होते हैं। इस मामले में, कॉर्पोरेट कर्मचारी अपने संगठन से जुड़े होने पर एक ही बिलिंग खाता साझा करते हैं। इसलिए, उपयोगकर्ता के संगठन की पहचान करना भी उतना ही महत्वपूर्ण है।
API मुद्रीकरण के अनुप्रयोग
API मुद्रीकरण के अनुप्रयोग हर जगह हैं। SMS (शॉर्ट मैसेज/मैसेजिंग सर्विस) वेरिफिकेशन कोड API मुद्रीकरण का एक विशिष्ट उदाहरण है। क्लाउड वेंडर भी इस मॉडल का उपयोग संदेश कतार, टेक्स्ट पहचान, आदि जैसी सेवाओं के लिए करते हैं। सुरक्षा वेंडर इसे WAF (वेब एप्लिकेशन फायरवॉल) और कंटेंट फ़िल्टरिंग सेवाओं के लिए उपयोग करते हैं। यह मुद्रीकरण मॉडल इतना सफल है कि हमें इसे समर्थन देने के लिए एक उचित तकनीकी स्टैक की सख्त आवश्यकता है। यानी, हमें अपने APIs को सावधानीपूर्वक प्रबंधित करने के लिए कुछ चाहिए।
APIs को प्रबंधित करते समय, हमें यह प्रशासित करने की आवश्यकता है कि कौन प्रकाशित कर सकता है, क्या प्रकाशित करना है, और कहां प्रकाशित करना है, यह सुनिश्चित करते हुए कि APIs संगठनात्मक मानकों जैसे URL पैटर्न, नामकरण सम्मेलन, और एक्सेस कंट्रोल नियमों का पालन करते हैं। इसके अलावा, प्रत्येक विभाग को अपने स्वयं के APIs को स्वतंत्र रूप से प्रबंधित करने में सक्षम होना चाहिए, जिसमें API अपडेट या डिज़ाइन सुधार, ट्रैफ़िक कंट्रोल, दर सीमित करना, और सुरक्षा रणनीतियों को निष्पादित करना शामिल है। हमें उपयोग, प्रदर्शन, और अन्य मेट्रिक्स को वास्तविक समय में देखने की भी आवश्यकता है।
API गेटवे APIs को प्रबंधित करने के लिए पेश किया गया उपकरण है। API गेटवे API को संभालने में विभिन्न समस्याओं को हल कर सकते हैं। एक केंद्रीय प्रॉक्सी के रूप में, API गेटवे सभी आने वाले क्लाइंट अनुरोधों को इच्छित गंतव्य (बैकएंड सेवा) तक रूट करता है, जिससे आपका API अधिक सुरक्षित और प्रबंधित करने में आसान हो जाता है। अधिकांश API गेटवे विभिन्न प्राधिकरण और प्रमाणीकरण प्रोटोकॉल का भी समर्थन करते हैं ताकि उपयोगकर्ता जटिल अनुमति नियंत्रण और कई अन्य कार्यों, जैसे दर सीमित करना, कर सकें।
API गेटवे के लिए कई लोकप्रिय ओपन-सोर्स प्रोजेक्ट हैं, जिनमें सबसे उल्लेखनीय Apache APISIX और इसका वैकल्पिक एंटरप्राइज़ SaaS समाधान, API7 क्लाउड हैं।
APISIX का API मुद्रीकरण अभ्यास
Apache APISIX इन आवश्यक कार्यों का समर्थन करता है और विभिन्न ऑब्जर्वेबिलिटी प्लेटफॉर्म (Prometheus, OpenTelemetry, Apache Skywalking, आदि) के साथ एकीकृत होता है। ये एकीकृत प्लगइन्स Apache APISIX की API विश्लेषण क्षमता को बढ़ाते हैं, जिससे अत्यधिक व्यापक ऑब्जर्वेबिलिटी प्राप्त होती है। इसके अलावा, उपयोगकर्ता पहचान की समस्या के लिए, Apache APISIX ने "उपभोक्ता" की अवधारणा प्रस्तावित की।

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

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

APISIX के API मुद्रीकरण अभ्यास को समझने के बाद, आइए एक विशिष्ट अनुप्रयोग देखें।
- एंटरप्राइज़ के लिए दर सीमित करने की कार्यक्षमता कॉन्फ़िगर करें, और एंटरप्राइज़ के उपयोगकर्ता एक ही कॉन्फ़िगरेशन साझा करते हैं
# उपभोक्ता समूह बनाएं curl http://127.0.0.1:9180/apisix/admin/consumer_groups/company_a -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "plugins": { "limit-count": { "count": 200, "time_window": 60, "rejected_code": 503, "group": "$consumer_group_id" } } }' # उपभोक्ता 1 बनाएं curl http://127.0.0.1:9180/apisix/admin/consumers -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "username": "jack", "plugins": { "key-auth": { "key": "auth-one" } }, "group_id": "company_a" }' # उपभोक्ता 2 बनाएं curl http://127.0.0.1:9180/apisix/admin/consumers -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "username": "johnson", "plugins": { "key-auth": { "key": "auth-two" } }, "group_id": "company_a" }' # रूट बनाएं curl http://127.0.0.1:9180/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "uri": "/get", "plugins": { "key-auth": {} }, "upstream": { "type": "roundrobin", "nodes": { "httpbin.org": 1 } } }' # रूट को हिट करें curl -i http://127.0.0.1:9180/get -H 'apikey: auth-one' ... X-RateLimit-Limit: 200 X-RateLimit-Remaining: 199 ... curl -i http://127.0.0.1:9180/get -H 'apikey: auth-two' ... X-RateLimit-Limit: 200 X-RateLimit-Remaining: 198 ... # प्रति मिनट 2 अनुरोधों के लिए काउंट मान बदलें curl http://127.0.0.1:9180/apisix/admin/consumer_groups/company_a -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "plugins": { "limit-count": { "count": 2, "time_window": 60, "rejected_code": 503, "group": "$consumer_group_id" } } }' # रूट को हिट करें curl -i http://127.0.0.1:9180/get -H 'apikey: auth-two' ... X-RateLimit-Limit: 2 X-RateLimit-Remaining: 1 ... curl -i http://127.0.0.1:9180/get -H 'apikey: auth-one' ... X-RateLimit-Limit: 2 X-RateLimit-Remaining: 0 ... # कोई काउंट नहीं, HTTP 503 curl -i http://127.0.0.1:9180/get -H 'apikey: auth-one' HTTP/1.1 503 Service Temporarily Unavailable # एक मिनट के बाद, काउंट पुनर्प्राप्त होता है curl -i http://127.0.0.1:9180/get -H 'apikey: auth-one' ... X-RateLimit-Limit: 2 X-RateLimit-Remaining: 1 ... # एक और रूट बनाएं curl http://127.0.0.1:9180/apisix/admin/routes/2 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "uri": "/anything", "plugins": { "key-auth": {} }, "upstream": { "type": "roundrobin", "nodes": { "httpbin.org": 1 } } }' # आप देख सकते हैं कि दोनों रूट एक ही काउंट साझा करते हैं curl -i http://127.0.0.1:9180/get -H 'apikey: auth-one' ... X-RateLimit-Limit: 2 X-RateLimit-Remaining: 1 ... curl -i http://127.0.0.1:9180/anything -H 'apikey: auth-one' HTTP/1.1 503 Service Temporarily Unavailable ...
सारांश
API मुद्रीकरण के माध्यम से सेवाओं और डेटा को राजस्व में बदलने के लिए, उद्यमों को पेशेवर API प्रबंधन उपकरण: API गेटवे को पेश करने की आवश्यकता है। सबसे लोकप्रिय API गेटवे Apache APISIX है, जिसके पास API मुद्रीकरण में समृद्ध अभ्यास हैं। APISIX ने उपभोक्ता और उपभोक्ता समूह जैसी अवधारणाएं बनाई हैं जो APIs के प्रबंधन को बहुत सुविधाजनक बनाती हैं और उद्यमों को APIs को अधिक सुचारू रूप से मुद्रीकृत करने में सक्षम बनाती हैं।