Yaliyomo
1. Utangulizi na Muhtasari
Katika Uchumi wa API, API za RESTful zimebadilika kutoka kwa violezo vya kiufundi kuwa mali muhimu za biashara. Ingawa Uainishaji wa OpenAPI (OAS) umefaulu kuweka viwango vya maelezo ya kazi ya API, bado kuna pengo kubwa katika kuunda mifano ya mambo yasiyo ya kazi ya biashara, hasa mipango ya bei na vikomo vya huduma (kiasi, viwango). Karatasi hii inatangaza Pricing4APIs, muundo madhubuti ulioundwa kufafanua rasmi miundo ya bei ya API, na SLA4OAI, usindikaji wake kama upanuzi wa OAS. Kazi hii inashughulikia ukosefu wa viwango ambao unazuia ukuzaji wa zana za uchambuzi wa uwezo, makadirio ya gharama, na kufuata SLA.
API 268
Zilizochambuliwa kwa ufasaha
Miundo 54
Seti za data za bei za ulimwengu halisi ziliundwa
Zana 1
Uthibitishaji wa kiotomatiki (sla4oai-analyzer)
2. Muundo wa Pricing4APIs
Pricing4APIs hutoa muundo rasmi, unaoweza kusomeka na mashine kuelezea mipango ya bei yenye viwango mbalimbali inayotumika kwa kawaida katika utoaji wa API (mfano, Bure, Msingi, Premium).
2.1 Vipengele Muhimu na Muundo
Muundo huu umejengwa karibu na vyombo muhimu: Mipango ya Bei (viwango), Vikomo (kiasi, viwango, sheria za kupunguza kasi), na Miundo ya Gharama. Mpango unaweza kuwa na vikomo vingi, ambavyo vinafafanuliwa katika vipindi maalum vya wakati (mfano, maombi 1000/kwa mwezi, ombi 50/kwa sekunde). Muundo huu unasaidia vikomo changamano, vilivyojikita muhimu kwa hali halisi za ulimwengu.
2.2 SLA4OAI: Upanuzi wa OAS
Ili kuhakikisha utumiaji wa vitendo, muundo huu unasindikwa kama SLA4OAI, upanuzi wa Uainishaji wa OpenAPI. Hii inaruhusu watoaji wa API kuingiza taarifa za bei na SLA moja kwa moja kwenye hati zao zilizopo za OAS kwa kutumia sehemu maalum (mfano, x-sla4oai-pricing), na kufanya taarifa hizi ziweze kutambuliwa na kusindika na mfumo uliopo wa zana za OAS.
3. Uthibitishaji na Zana
Mchango mkuu ni ufafanuzi wa operesheni ya uthibitishaji ili kuangalia miundo ya bei kwa uthabiti wa kimantiki na migogoro inayowezekana.
3.1 Operesheni ya Uthibitishaji
Operesheni ya uthibitishaji inaangalia masuala kama vile vikomo vya kiwango vinavyozidi, kiasi kinachokinzana, au mipango ambayo haiwezekani kikamilifu kutimiza (mfano, kiasi cha kila siku kilicho chini ya kikomo cha kiwango cha kila saa kinaweza kusababisha hali isiyoweza kufikiwa).
3.2 Zana ya sla4oai-analyzer
Waandishi walitengeneza sla4oai-analyzer, zana ya wazi ambayo hufanya uthibitishaji huu kiotomatiki. Inachambua faili za OAS zilizopanuliwa na ufafanuzi wa SLA4OAI na kutoa ripoti ya kutofautiana wowote, ikisaidia wabunifu wa API kuepuka mipango ya bei yenye kasoro kabla ya kuzindua.
4. Uchambuzi wa Kimaumbile na Matokeo
Manufaa ya mfumo huu yalitathminiwa kupitia utafiti mkubwa wa kimaumbile.
4.1 Utafiti wa Ufasaha (API 268)
Uchambuzi wa utaratibu wa API 268 za umma za ulimwengu halisi ulifanyika. Utafiti huu ulilenga kubaini ikiwa Pricing4APIs inaweza kuunda miundo tofauti ya bei inayopatikana kivitendo. Matokeo yalionyesha ufasaha wa juu, ukifaulu kukamata vikomo (kiasi, kiwango, kijiografia, kulingana na kipengele) vinavyotumiwa na watoaji wakuu kama vile Google Maps, Stripe, na Twilio.
Ufahamu wa Chati: Chati ya mfano ya mhimili kutoka kwa utafiti huu ingeonyesha mzunguko wa aina tofauti za vikomo (Kiasi, Kiwango, Bendera ya Kipengele) katika API 268, na Kiasi kuwa kile kinachotumika zaidi (~85%), kikifuatiwa na Kupunguza Kiwango (~60%).
4.2 Seti ya Data ya Bei 54 za Ulimwengu Halisi
Kutoka kwa seti kubwa zaidi, seti ya data iliyochaguliwa ya miundo ya bei ya API 54 iliundwa na kuundwa rasmi kwa kutumia Pricing4APIs. Seti hii ya data hutumika kama kiwango cha kulinganisha kwa utafiti wa baadaye na ukuzaji wa zana katika uchumi na usimamizi wa API.
5. Mfumo wa Kiufundi na Maelezo
Ufasaha wa muundo huu huruhusu mahesabu sahihi. Kwa mfano, upeo wa kinadharia wa ufanisi $R_{max}$ kwa mpango wenye kikomo cha kiwango $L_r$ (maombi kwa sekunde) na kiasi $Q$ (maombi kwa mwezi) kinaweza kuzuiwa kama:
$R_{max} = \min(L_r, \frac{Q}{T_m})$
ambapo $T_m$ ni idadi ya sekunde katika kipindi cha bili. Fomula hii rahisi inaonyesha jinsi vikomo vinavyokinzana vinaweza kuzuia utendaji kwa njia isiyotarajiwa. Zana ya uthibitishaji inaangalia vikomo kama hivyo kwa nguvu.
6. Mfano wa Mfumo wa Uchambuzi
Kesi: Kuchambua Mpango wa Bei wa API ya Hali ya Hewa ya Mfano
Mpango: Kiwango cha "Kitaaluma"
Vikomo vilivyofafanuliwa kwa muundo wa SLA4OAI:
x-sla4oai-pricing:
plans:
- name: Professional
limitations:
- type: quota
metric: requests
value: 10000
window: P1M # Kila mwezi
- type: rate
metric: requests
value: 10
window: PT1S # Kwa Sekunde
- type: feature
name: historical_data
enabled: true
Uchambuzi kwa kutumia dhana za Pricing4APIs: sla4oai-analyzer ingethibitisha mpango huu. Ingehesabu kuwa kiasi cha kila mwezi kinaruhusu kiwango cha wastani cha ~0.0038 ombi/s, ambacho ni chini sana kuliko kikomo cha kiwango cha 10 ombi/s. Hii sio kutofautiana lakini sifa muhimu: kikomo cha kiwango kinakuwa kizuizi tu ikiwa mtumiaji anajaribu matumizi ya kiasi kikubwa endelevu mwanzoni mwa mwezi. Zana ingeonyesha hii kwa ukaguzi wa mbunifu, na kusababisha uamuzi: je, kikomo cha 10 ombi/s kina umuhimu wa vitendo, au kinapaswa kupunguzwa ili kulingana na kiasi?
7. Matumizi ya Baadaye na Mwelekeo
Viwango vinavyopendekezwa na Pricing4APIs vinafungua njia kadhaa:
- Ulinganishi wa Soko la API la Kiotomatiki: Zana zinaweza kulinganisha kiotomatiki ufanisi wa gharama kati ya watoaji kwa mifumo maalum ya matumizi.
- Milango ya API Yenye Akili: Milango inaweza kutumia kwa nguvu vikomo changamano, vya dirisha nyingi vilivyofafanuliwa katika SLA4OAI, zaidi ya kupunguza kiwango rahisi.
- Usaidizi wa Uboreshaji wa Gharama na "Kuchagua Kiwango Sahihi": Kwa watumiaji, wakala wanaweza kufuatilia matumizi na kupendekeza kuboresha/kupunguza mpango kulingana na vikomo vilivyoundwa na utabiri.
- Ujumuishaji na Mifumo ya Bili: Uzalishaji wa moja kwa moja wa mantiki ya bili kutoka kwa muundo wa bei unaoweza kusomeka na mashine.
- Upanuzi kwa GraphQL & gRPC: Ingawa inalenga REST, dhana kuu zinatumika kwa mifumo mingine ya API, na inawakilisha mwelekeo wazi wa baadaye.
8. Marejeo
- Zhu, J., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. ICCV. (Imetajwa kama mfano wa muundo rasmi unaoendesha mifumo ya zana katika masomo ya mashine).
- OpenAPI Initiative. (2023). OpenAPI Specification. https://spec.openapis.org/oas/v3.1.0
- Fresno-Aranda, R., et al. (2023). Pricing4APIs: A Rigorous Model for RESTful API Pricings. arXiv:2311.12485.
- ProgrammableWeb. (2023). API Directory. https://www.programmableweb.com/ (Chanzo kilichoelekezwa kwa utafiti wa API 268).
Ufahamu Muhimu na Mtazamo wa Mchambuzi
Ufahamu Muhimu: Fresno-Aranda na wenzake wametambua na kushambulia kasoro ya msingi katika miundombinu ya Uchumi wa API: ukosefu wa lugha ya viwango, inayoweza kusomeka na mashine kwa bei. Ingawa OAS ilitatua tatizo la "jinsi ya kuiita", Pricing4APIs inalenga kutatua tatizo la "gharama yake ni ngapi na ninapata nini". Hii sio mazoezi ya kitaaluma tu; ni sharti la kiwango kinachofuata cha otomatiki katika matumizi na usimamizi wa API.
Mtiririko wa Kimantiki: Mantiki ya karatasi hii ni ya kulazimisha. Inaanza na pengo lililotambuliwa (hakuna kiwango cha bei), inapendekeza muundo rasmi (Pricing4APIs) kujaza pengo hilo, inatoa usindikaji wa vitendo (SLA4OAI) kwa matumizi ya haraka, na kisha inathibitisha njia nzima kwa data ya kimaumbile (API 268) na zana za kazi (kianalizi). Hii inafanana na mwongozo wa mafanikio wa miradi kama CycleGAN, ambayo ilipendekeza mfumo rasmi mpya (uthabiti wa mzunguko) na kisha kuonyesha manufaa yake katika nyanja nyingi, na hivyo kusababisha utumiaji.
Nguvu na Kasoro: Nguvu kuu ni kushughulikia moja kwa moja tatizo halisi, lenye uchungu la tasnia na suluhisho la vitendo ambalo linatumia mfumo uliopo wa OAS—mkakati mzuri wa utumiaji. Uundaji wa zana ya uthibitishaji na seti ya data ya umma ni ongezeko muhimu la thamani ambalo linapunguza kikwazo cha kuingia kwa watafiti na watengenezaji wengine. Kasoro kuu, iliyokubaliwa katika kazi ya baadaye, ni lengo la awali la REST/OAS. Ulimwengu wa API unasogea kuelekea GraphQL na gRPC, na miundo ya bei ya mifumo hii inaweza kuwa changamano zaidi (mfano, bei kwa kila uga au kwa kila utata). Muundo unaweza kuhitaji upanuzi mkubwa ili kubaki muhimu.
Ufahamu Unaoweza Kutekelezwa: Kwa watoaji wa API, hitimisho ni wazi: anza kurekodi mipango yako ya bei kwa muundo uliopangwa sasa. Kutumia upanuzi kama SLA4OAI, hata ndani, kunaweza kufunua makosa makubwa ya kimantiki katika muundo wako wa kiwango kabla ya wateja kufanya hivyo. Kwa makampuni yanayotumia API, tetea kwa watoaji kutumia viwango kama hivi. Uwezo wa kulinganisha na kuboresha kiotomatiki katika API nyingi za SaaS kunaweza kusababisha akiba kubwa ya gharama. Jumuiya ya utafiti inapaswa kuchukulia seti ya data iliyotolewa kama kiwango cha kulinganisha kwa kazi ya baadaye juu ya uchumi wa API na otomatiki ya usimamizi. Jaribio halisi litakuwa ikiwa majukwaa makubwa ya usimamizi wa API (Apigee, Kong) yataanza kusaidia hii au uainishaji sawa asili.