Programavimas

10 geriausių API valdymo įrankių

Šiuolaikinis verslo pasaulis yra pagrįstas programine įranga ir API. Bet kuriai programai, tiek viešai, tiek privačiai, reikia galingų ir patogių API, kad jos būtų tikrai naudingos. API kūrimas ir priežiūra yra sunkus darbas, todėl nenuostabu, kad aplink API valdymą atsirado visos programinės įrangos klasės.

Daugelis API valdymo produktų teikia bendrą funkcijų sąsają: maršrutą ir tarpinį serverį, duomenų ir URL transformavimą, informacijos suvestines ir analizę, strategijas ir apribojimus bei kūrėjų įrankius, pvz., Dokumentų generatorius. Čia apžvelgsime 10 populiarių API valdymo įrankių - atvirojo kodo projektus, komercinius produktus, debesijos paslaugas ir jų derinius - kurie siūlo viską, pradedant visų paslaugų API rinkiniu ir baigiant konkrečių scenarijų įrankiais.

3 mastelis

Iš pradžių uždaro kodo produktą „3scale“ įsigijo „Red Hat“ ir atidarė maždaug po dvejų metų darbo. Atvirojo kodo projektą galima laisvai naudoti pagal „Apache“ licenciją, o „Red Hat“ siūlo komerciškai palaikomą „SaaS“ diegimą.

„3scale“ funkcijos atitinka kitus šio apvalinimo pasiūlymus. Rasite API versijas, prieigos kontrolę ir dažnio ribojimą, saugos valdiklius ir analizę. „3scale“ taip pat siūlo kūrėjams tinkamas funkcijas, tokias kaip kūrėjų portalas ir TVS, kad būtų galima kurti savo API dokumentus. „3scale“ taip pat siūlo vietinius įrankius, skirtus gauti pajamų iš API, pvz., Sąskaitų faktūrų išrašymą ir integravimą su mokėjimo paslaugomis.

Jei ketinate patys įdiegti „3scale“ gamybai, jums reikės „Oracle Database“ ir „OpenShift“. Atsižvelgiant į tai, kad net minimaliam 3 skalių diegimui atlikti reikia „Minishift“, vieno mazgo „OpenShift“ klasterio, jums gali būti naudingiausia naudoti nemokamą 90 dienų bandomąją „3scale“ versiją, jei norite pradėti kuo greičiau.

„Pro“ versija prasideda nuo 750 USD per mėnesį 5000 kūrėjų paskyrų, 500 000 API skambučių per dieną ir iki trijų API. „Enterprise“ versija (kainą galima gauti paprašius) pašalina daugumą šių apribojimų.

Ambasadorius

„Ambassador“ yra atvirojo kodo API valdymo sistema, sukurta dirbti su „Kubernetes“. Ambasadorius yra įgyvendinamas ant „Envoy“ įgaliotojo, kuris tvarko tinklo paslaugas, skirtas mikropaslaugoms, todėl didžiąją dalį sunkiosios keliamosios jėgos atlieka pasiuntinys ir „Kubernetes“.

Ambasadoriaus funkcijų rinkinys atitinka daugumą kitų ten esančių API valdymo įrankių: URL perrašymas ir užklausų nukreipimas, filtravimas, autentifikavimas ir prieigos valdymas, normos ribojimas ir skirtasis laikas ir integravimas į registravimo, trikčių šalinimo ir matomumo įrankius.

Tačiau dauguma ambasadoriaus funkcijų sukasi apie vykdymo laiko valdymą ir integravimą su „Kubernetes“ ir kitomis „Kubernetes“ priemonėmis (pvz., „Prometheus“). Ambasadorius palieka API dizainą ir deklaratyvią konfigūraciją vartotojui. Tokios funkcijos kaip API versijos nėra palaikomos savaime; tokius dalykus turite tvarkyti patys. Dėl to Ambasadorius geriausiai tinka dirbti su API kaip „Kubernetes“ diegimo dalimi, o ne kaip bendrą API valdymo sprendimą.

Apimanas

Apimanas - anksčiau „JBoss Apiman“ - yra „Java“ sistemoje sukurtas „Red Hat“ atvirojo kodo projektas. Nors ją vis dar palaiko „Red Hat“, atrodo, kad didžioji dalis „Red Hat“ aktyvios plėtros API valdymo srityje persikėlė į savo „3Scale“ produktą.

Apimanas koncentruojasi į pagrindus - API paskelbimą ir valdymą, vaidmenų pagrindu suteikiamos prieigos prie tų funkcijų suteikimą, API naudojimo politikos nustatymą, vykdymo laiko ir atsiskaitymo metrikos rinkimą ir visų šių elementų organizavimo iš viršaus į apačią struktūrą.

Apimanas gali nustatyti API strategijas, susijusias su saugumu, ištekliais (pvz., Greičio ribojimu), duomenų transformacijomis, talpykla ir registravimu. Politika yra sukonfigūruota per JSON, todėl jas gali skaityti ir redaguoti žmonės ir mašinos. Saugos politiką galima pritaikyti pagal vartotojo tapatybę ar vaidmenį, o API galima laisvai arba griežtai valdyti. Galite paskelbti API su taisymo ID URL ir jokia sutartis, susijusi su jų naudojimu; arba galite reikalauti API rakto ir atidžiai valdyti jų versijas.

Daugelis dalykų, išskyrus pagrindinius dalykus, yra jūsų atsakomybė. Pavyzdžiui, nors yra keletas „Apiman“ papildinių, jie paprastai yra nedideli „Apiman“ funkcijų plėtiniai, kuriuos teikia pagrindiniai projekto prižiūrėtojai.

„DreamFactory“

„DreamFactory“ API valdymo platforma sukurta naudojant „Laravel“ sistemą PHP. „DreamFactory“ yra nemokamas atvirojo kodo pasiūlymas arba įvairaus lygio komercinė parama (kainos nenurodytos). Tai yra natūralus pasirinkimas kūrėjams, kurie jau yra investavę į PHP ir kurie nori įsigilinti į atvirojo kodo diegimą. „DreamFactory“ taip pat siūlo serverio pusės scenarijų integravimą su „Node.js“ ir „Python“.

„DreamFactory“ funkcija „Datamesh“, prieinama visuose jos įkūnijimuose, suteikia galimybę sujungti kelių heterogeninių duomenų bazių skambučių rezultatus, įskaitant skirtingus duomenų bazės produktus, ir grąžinti rezultatus kaip vieną API iškvietimą. Taip pat lentelių atnaujinimus keliose duomenų bazėse galima sujungti į vieną API iškvietimą.

„DreamFactory“ dokumentacijoje trūksta vieno, kanoninio, visų galimų paslaugų sąrašo, kuriame būtų galima ieškoti. Informacija yra suskirstyta pagal kategorijas, todėl jums reikia atlikti rankinį gręžimą, kad sužinotumėte, kas yra. Vertinant, dokumentuose yra daug vaizdo įrašų, skirtų konkretiems naudojimo atvejams, pvz., Paprastos programos sukūrimui ar prisijungimui prie įvairių duomenų šaltinių.

Kongas

Kongas yra vienas iš geriausiai žinomų API valdymo įrankių, kurį iš pradžių sukūrė „Mashape“ (pervadinta į „Kong“), kad valdytų savo „API“ rinkos produktą. „Kong“ galima įsigyti kaip atviro kodo leidimą arba įmonės lygio komercinį pasiūlymą (kaina neatskleidžiama) su papildomomis valdymo, stebėjimo ir kūrėjo funkcijomis. Įmonės leidimas gali būti paleistas vietoje arba pasirinktoje debesų tarnyboje. Tiek atvirojo kodo, tiek įmonės produktų dokumentai yra gausūs ir išsamūs.

Kongas pateikia „Ingress“ valdiklį, skirtą „Kubernetes“ integracijai, ir paslaugų tinklą, leidžiantį „Kongo“ funkcionalumą „įterpti“ į esamą paslaugų diegimą. Įmonės leidimas siūlo kūrėjo portalą, kurio tikslas - palengvinti naujų API kūrimą ir naujiems kūrėjams susipažinti su jūsų API kodo baze.

Kongas paprastai naudoja duomenų bazę, tačiau taip pat gali veikti be duomenų bazės režimu, naudodamas JSON / YAML konfigūracijos failą ir atminties atmintį. Tai geriausia, jei naudojate tik vieną, minimalų mazgą, bet norite maksimalaus našumo.

KrakenD

„KrakenD“, parašytas leidinyje „Go“, pateikia tik būtiniausius dalykus, tačiau kaip pagrindinį bruožą pabrėžia aukštą našumą. „KrakenD“ pateikiamas kaip vienas atskiras dvejetainis failas, kaip yra daugumoje „Go“ sukurtų programų. Arba ją galima sudaryti iš šaltinio arba naudoti kaip „Go“ biblioteką, jei norite aplink ją kurti savo programą.

„KrakenD“ naudoja konfigūracijos failą, kurį galima valcuoti ranka arba sukurti mašinoje. Greičio ribojimas, manipuliavimas atsakymais, persiuntimas, galutinių taškų derinimas, protokolo saugumo priemonės (pvz., Apsauga nuo paspaudimų), tarpinis serveris, perjungimas ir atsakymas atmintyje.

„KrakenD“ egzemplioriai gali būti sugrupuoti, kad būtų pasiekiama daug. Tam nereikia jokios papildomos programinės įrangos, o tik patį „KrakenD“. Be to, be didesnio papildomo darbo galite įdiegti „KrakenD“ per „Kubernetes“ grupę. Trečiųjų šalių tarpinių programų asortimentą galima rasti „KrakenD GitHub“ saugykloje.

Palaikymą įmonėms, įskaitant konsultacijas ir mokymus, gali gauti „KrakenD“ kūrėjai, nors kainos neatskleidžiamos.

„MuleSoft Anypoint“ platforma

„MuleSoft“ „Anypoint“ platforma turi būti užbaigtas pasiūlymas - ji apima API projektavimą, konstravimą, prieglobą, valdymą, integravimą ir kūrėjų palaikymą viename komerciniame produkte.

Naudodami „Anypoint“, galite kurti API nuo nulio arba pakartotinai naudoti esamas jungtis ir integracijas, kurias sukūrė kiti „MuleSoft“ klientai ir bendrai naudojate „Anypoint Exchange“. Jungtys yra prieinamos bendriesiems protokolams (prieiga prie failo, HTTP, el. Paštas), kalbos moduliai duomenų transformavimui („Java“, „JavaScript“), debesų paslaugoms („Amazon AWS“), komercinėms programoms („Salesforce“, SAP) ir atvirojo kodo programoms („MongoDB“).

Kuriantiems API, kurias naudos partneriai ar visuomenė, „Anypoint“ suteikia API bendruomenės tvarkytuvei galimybę sukurti tų API žiniatinklio vartotojo sąsajas - „MuleSoft“ vadinamus „portalais“. Įtraukta interaktyvi dokumentacija, suasmeninimas (įskaitant tokias funkcijas kaip išvesties pritaikymas pagal vartotojo geografinę vietą) ir API naudojimo analizė.

„Anypoint“ siūlo tris kainodaros planus: aukso, platinos ir titano, kurie skiriasi atsižvelgiant į klientų aptarnavimo lygį ir įmonės ypatybes. Visi trys planai apima neribotą API ir papildomai ima mokestį už „aukščiausios kokybės“ jungtis (pvz., „IBM AS / 400 mainframe“ jungtį).

„Netflix Zuul“

„Netflix“ inžinierių sukurtas atvirojo kodo projektas „Zuul“ buvo pastatytas namuose, kad būtų galima tvarkyti maršruto užklausas į „Netflix“ vaizdo transliacijos paslaugas. Nėra komercinio „Zuul“ pasiūlymo - bent jau ne iš „Netflix“ - todėl turėsite sukti „Zuul“ ir valdyti jį visiškai savarankiškai.

„Zuul“ yra parašytas „Java“ kalba, o norint pradėti veikti, jis naudoja įprastus „Java“ įrankius - „Gradle“, „Ivy“, „Maven“. „Zuul“ siūlo palyginti minimalų funkcijų rinkinį, palyginti su kitomis API valdymo sistemomis, daugiausia dėmesio skiriant gaunamų užklausų filtravimui ir paskirstymui visose tarnybose. „Zuul“ teikia paslaugų aptikimo, apkrovos balansavimo, sujungimo sujungimo ir derinimo funkcijas („užklausos pasą“), tačiau neturi sudėtingesnių funkcijų, tokių kaip kūrėjo įdiegimas ir automatinė dokumentacija.

„Zuul“ yra aktyvus projektas, kuriame numatoma daug naujų funkcijų būsimoms versijoms. Pavyzdžiui, būsimasis „rudos spalvos filtras“ išjungs tam tikras funkcijas, kad atlaisvintų procesorių didelio aktyvumo laikotarpiais.

Tyk

Pagal numatytuosius nustatymus „Tyk“ apima daug: API šliuzą, analizės įrankius, „dev“ portalą ir valdymo informacijos suvestinę. Tai taip pat apima funkciją, kaip šaipytis iš API prieš jas oficialiai išleidžiant, įmontuotą užklausų talpyklą (kurią galima įtraukti tiesiogiai į API apibrėžimą) ir atsakymo šablonus skirtingiems HTTP klaidų kodams.

„Tyk“ galima įsigyti keturiais leidimais, skirtingais naudojimo atvejais. Bendruomenės leidimas, „Tyk“ atvirojo kodo leidimas, apima tik šliuzą, kuris tvarko tarpinį serverį, prieigos kontrolę, transformacijas ir registravimą. Galite naudoti savo funkcijas tiesiogiai arba paliesdami „Tyk“ papildinių ekosistemą, palaikydami kelias kalbas.

Vietinis leidimas leidžia jums naudoti visą funkciją turintį komercinį produktą už savo užkardos. Vieno šliuzo licencijas - iš esmės kūrėjų leidimus - galima gauti nemokamai, be API skambučių apribojimų, nors API negalima naudoti komerciniuose nustatymuose. Komercinio naudojimo licencijos prasideda nuo 3000 USD per metus.

Debesų ir kelių debesų leidimai, kuriuos galima įsigyti įvairioms populiarioms debesų paslaugoms, teikia „Tyk“ kaip priglobtą paslaugą. Pagrindinė vieno debesies versija, palaikanti 1000 API skambučių per dieną, yra nemokama (išskyrus tai, ką apmokestina jūsų debesijos paslaugų teikėjas); pro lygio planai prasideda nuo 450 USD per mėnesį.

WSO2 API tvarkyklė

„WSO2 API Manager“ yra atvirojo kodo produktas, sukurtas naudojant „Java“. Produktą galima diegti vietoje ar debesyje, naudojant komercinę paramą, arba kaip debesies valdomą paslaugą.

Įvairios diegimo parinktys leidžia taikyti įvairius valdymo scenarijus. Pavyzdžiui, WSO2 diegimas vietoje gali būti vykdomas vykdant debesyje priglobtų kūrėjų portalų politiką ir kitą konfigūraciją, pakeitimai sinchronizuojami tarp debesies ir patalpų arba periodiškai nustumiami iš debesies (aplinkoms, kurias reikia valdyti). užrakinta).

WSO2 turi apie 200 jungčių, kurias galima naudoti norint prijungti išorines paslaugas. Daugelis yra įprasti kūrėjų pagrindiniai elementai: „Slack“, „Splunk“, „Kafka“, „Redis“, „Amazon S3“ ir kt.

Kita „WSO2“ funkcija, „API microgateway“, užtikrina, kad tam tikri skambučiai gauna papildomą saugumą ir mažesnį vėlavimą. Pavyzdžiui, skambučiai, naudojami šliuzui tvarkyti, arba skambučiai, nukreipiami tarp mikropriešų, gali būti tvarkomi tokiu būdu.

Naujas „WSO2“ priedas papildo „Kubernetes“ „Istio“ paslaugų tinklą. „Istio“ netvarko API, kurias veikia jos valdomos mikro paslaugos, todėl WSO2 integruojamas su „Envoy“ įgaliotiniu, kurį tam naudoja „Istio“.

„WSO2“ komercinių pasiūlymų kainos prasideda nuo dviejų savaičių nemokamo bandymo iki vieno milijono API skambučių, tęsiasi po 550 USD per mėnesį už 20 milijonų skambučių ir padidėja iš ten, kad būtų galima pritaikyti konfigūracijas.