Atslēgvārds "API" mūsdienās rada divejādas sajūtas. Vieni to dzirdot smaida, jo tas apzīmē modernu veidu kā savienot sistēmas, citi sašķoba seju, jo... tiem ir bēdīga pieredze ar API pārvaldību.
"API" pats par sevi nevar būt ne slikts, ne labs - tas ir programmatūras risinājums, kas atvieglo dažādu sistēmu, programmu un datubāžu integrāciju (apvienošanu), ļaujot organizācijām apmainīties ar datiem reāllaikā. Un jautājums ir, kā mēs šo tehnoloģiju izmantojam, lai veidotu biznesa risinājumus?
Pēc mūsu novērojumiem ir aptuveni tā (vienas kompānijas vai produkta kontekstā):
- Kad esi uztaisījis 1-3 API [*1], viss ir labi un Tev liekas, ka dominēsi internetu.
- Kad esi uztaisījis 5+ API, jau sāc domāt kā tos pārvaldīt, lai būtu koplietotas drošības metodes, lai nepārklājas funkcijas, kā tos vienkopus monitorēt un vēl citas īpašības, kuras uzskaitīšu zemāk.
- Kad esi uztaisījis 10+ API, saproti, ka API saimniecības uzturēšana kārtībā Tev aizņem būtisku laiku un vairs nav jautri. Bieži novērojam, ka šajā stadijā inženieri strādā API labā, nevis API strādā inženieru labā (un gala rezultātā uzņēmuma vai produkta labā).
- Kad esi uztaisījis 20+ API, tad saproti, ka bez pienācīgas API pārvaldības, integrāciju mehānisms jau ir šķērslis attīstībai un pieprasa vairāk investīciju nekā atdod atpakaļ. Īsumā - galvassāpes.
Ņemot vērā mūsdienu tehnoloģiju tendences (lasi kā - API First Approach, API Economy, APIs for All), ir pamatoti šobrīd runāt par to, kā pienācīgi pārvaldīt uzņēmuma API saimniecību.
Labs veids kā pārvaldīt API saimniecību ir ieviešot standartizētu "API pārvaldības" rīku [*2].
Mums kā kompānijai, kura izstrādā programmatūru “no nulles”, vienmēr ir bijusi lielāka barjera pieņemt “universālus” rīkus, kuri atrisina problēmas. Ļoti subjektīvi un egoistiski, taču fakts. Tomēr, arvien biežāk saskaroties ar API pārvaldības izaicinājumiem mūsu klientiem, mēs nolēmām veikt izpēti un meklēt uz konkrēto izaicinājumu fokusētus risinājumus, kas pieejami tirgū. Labs sākuma punkts ir Gartner Magic Quadrant [*3] tirgus izpētes atskaite. Neiedziļinoties izpētes metodoloģijas niansēs (par kurām variet lasīt [*3] resursā), tirgus izpētes rezultātā 2021./2022. gadā ir identificēti līderi API pārvaldības risinājumos:
- Axway Amplify,
- Mulesoft (Salesforce),
- IBM,
- Software AG, Google (ApiGee),
- Microsoft,
- Kong.
Ar dažām no platformām mums bija iespēja “paspēlēties”, lai gūtu praktisku pieredzi.
Lai gan katrai no platformām ir savi plusi un mīnusi, tomēr tām visām ir kopīga bāzes funkcionalitāte, kas nodrošina labu API pārvaldību.
Kopsavilkums par bāzes funkcionalitāti, lai API Platforma būtu pilnvērtīga:
- API portāls - domāts API izstrādātājiem un īpašniekiem, lai publicētu savus API, tostarp piekļuves kontroles, izmēģinājuma iespēju, dokumentāciju.
- API dzīves cikla pārvaldība - ļauj organizācijai pārvaldīt API stāvokli katrā izstrādes stadijā. Tipisks API dzīves cikls virzās no projektēšanas līdz izstrādei un pēc tam uz testēšanu, publicēšanu, lietošanu un, visbeidzot, lietošanas pārtraukšanu.
- API politikas pārvaldība - kontrolē API definēšanai un pārvaldībai izmantoto politiku dzīves ciklu. API politikām ir tāds pats process kā API — no izstrādes līdz norakstīšanai. Daudzas API pārvaldības platformas nodrošina lietotājiem gatavās politikas, kas kontrolē API trafiku, uzlabo drošību, uzlabo veiktspēju un palielina API vērtību. Šīs politikas var ieviest, nerakstot kodu vai nemodificējot biznesa sistēmu saskarnes.
- API analītika - uzkrāj un atspoguļo dažādus API darbības aspektus un biznesa rādītājus. Šos datus var izmantot, lai gūtu ieskatu par API kļūdu un veiktspējas ierobežojumiem, kā arī par API lietošanas modeļiem un tendencēm. Pēc tam šo informāciju var izmantot, lai pieņemtu biznesa lēmumus, piemēram, vai konkrētais API ir pelnošs vai netiek izmantots vispār tādēļ ir norakstāms.
- API vārteja (Gateway) - apstrādā API pieprasījumus. API vārtejas var izmantot arī kā pārvaldības rīku mikropakalpojumu arhitektūrā un racionalizēt uzņēmumu sistēmu savstarpējo (B2B) integrāciju kā alternatīvu citām pieejām, piemēram, elektroniskās datu apmaiņas (EDI) pakalpojumiem.
Kādi ir būtiskākie ieguvumi izmantojot API Platformas
API ir būtisks koncepts, lai savienotu datu avotus, kas nepieciešami procesu automatizācijai vai digitālā biznesa veidošanai. Tomēr neatkarīgas izstrādes komandas (uzņēmumi, departamenti, utt.), bieži izmanto atšķirīgus standartus, vadlīnijas un tehniskās vides API programmēšanai. Rezultātā:
- Tiek dublēti API - tiek izstrādāti jauni, nezinot ka tāds(-i) paši API jau ir izstrādāti iepriekš,
- Tiek dublēti (vai vēl ļaunāk, netiek izmantoti vispār) drošības mehānismi un piekļuves tiesību mehānismi,
- Tiek dublēti (vai vēl ļaunāk, netiek izmantoti vispār) darbības monitoringa mehānismi,
- API standarti būtiski atšķirās vienas organizācijas ietvaros.
Atbilstoši, vienotas API pārvaldības platformas priekšrocības ir:
- Vienota piekļuve visiem jūsu API servisiem, vienkāršojot API izmantošanu izstrādātājiem,
- Paaugstināta izstrādes produktivitāte, jo API servisus ir vieglāk atrast, vieglāk pārlūkot to dokumentāciju un vieglāk notestēt pirms tos izmantot citās programmās,
- Centralizēta drošība, izmantošanas kontrole un pārskatāmība visas organizācijas ietvaros,
- Ātrāka jaunu bzinesa risinājumu veidošana, jo netiek tērēts laiks uz iepriekš minētajiem faktoriem.
Un jā, iepriekš veiktās izpētes rezultātā mēs nolēmām, ka turpmāk, projektos kur nepieciešama API Pārvaldības standartizācija, mēs izmantosim Axway Amplify Platformu.
Ja vēlieties uzzināt vairāk par API pārvaldību, lūdzu sazināties ar mums.
- [*1] mūsu draugiem inženieriem te prasās precizējums ko domājam ar API - tā ir sistēmu saskarne, kura var implementēt vienu vai vairākus saskarnes resursus (endpoints). Šī piemēra gadījumā viens API = vienas integrējamās programmatūras abstrakcija
- [*2] Definīcijas aprakstu skatīt šeit: https://en.wikipedia.org/wiki/API_management
- [*3] https://en.wikipedia.org/wiki/Magic_Quadrant