Ohjelmointi

10 parasta API-hallintatyökalua

Nykyaikainen liike-elämä on ohjelmistopohjainen ja API-pohjainen. Kaikki sovellukset, joko julkiset tai yksityiset, tarvitsevat tehokkaita ja käteviä sovellusliittymiä ollakseen todella hyödyllisiä. API: n rakentaminen ja ylläpito on kovaa työtä, joten ei ole ihme, että API-hallinnan ympärille on syntynyt kokonaisia ​​ohjelmistoluokkia.

Suurin osa API-hallintatuotteista tarjoaa yhteisen piirteen ominaisuuksista: reititys ja välityspalvelimet, tietojen ja URL-osoitteiden, hallintapaneelien ja analytiikan muuntaminen, käytännöt ja rajoitukset sekä kehittäjätyökalut, kuten asiakirjojen luonti. Tässä tarkastellaan 10 suosittua sovellusliittymän hallintatyökalua - avoimen lähdekoodin projektit, kaupalliset tuotteet, pilvipalvelut ja niiden yhdistelmät - jotka tarjoavat kaikkea API: n täyden palvelun ohjelmistosta kohdennettuihin työkaluihin tiettyihin tilanteisiin.

3-asteikko

Alun perin suljetun lähdekoodin tuote, Red Hat osti 3-asteikon, ja se avattiin noin kahden vuoden työn jälkeen. Avoimen lähdekoodin projektia voidaan käyttää vapaasti Apache-lisenssillä, kun taas Red Hat tarjoaa kaupallisesti tuettua SaaS-toteutusta.

3scalen ominaisuudet ovat yhdenmukaisia ​​tämän kierroksen muiden tarjousten kanssa. Löydät API-versiot, pääsynhallinnan ja nopeuden rajoittamisen, suojauksen hallinnan ja analytiikan. 3scale tarjoaa myös kehittäjäystävällisiä ominaisuuksia, kuten kehittäjäportaalin ja CMS: n dokumentaation luomiseen API: lle. 3scale tarjoaa myös natiivityökaluja sovellusliittymien kaupallistamiseen, kuten laskutus ja integrointi maksupalveluihin.

Jos aiot asentaa 3-asteikon itse tuotantoa varten, tarvitset Oracle Database ja OpenShift. Ottaen huomioon, että jopa vähäinen 3-asteinen asennus testaamiseen vaatii Minishiftin, yhden solmun OpenShift-klusterin, saatat palvella sinua parhaiten käyttämällä 3-asteikon ilmaista 90 päivän kokeiluversiota, jos haluat aloittaa mahdollisimman nopeasti.

Pro-version hinta on 750 dollaria kuukaudessa 5000 kehittäjätilille, 500 000 sovellusliittymäkutsu päivittäin ja enintään kolme sovellusliittymää. Enterprise-versio (hinta saatavana pyynnöstä) poistaa suurimman osan näistä rajoituksista.

Suurlähettiläs

Ambassador on avoimen lähdekoodin API-hallintajärjestelmä, joka on rakennettu toimimaan Kubernetesin kanssa. Suurlähettiläs toteutetaan Envoy-välityspalvelimen päällä, joka hoitaa verkon ottoa mikropalveluille, joten suurimman osan raskaasta nostamisesta tekevät lähettiläs ja Kubernetes.

Suurlähettilään ominaisuusjoukko on yhteensopiva useimpien muiden olemassa olevien API-hallintatyökalujen kanssa: URL-osoitteiden uudelleenkirjoittaminen ja pyyntöjen reititys, suodatus, todennus ja pääsynvalvonta, nopeudenrajoitukset ja aikakatkaisut sekä integrointi loki-, vianmääritys- ja näkyvyystyökaluihin.

Suurin osa suurlähettilään ominaisuuksista kiertää kuitenkin ajonaikaisen hallinnan ja integroinnin Kubernetesin ja muiden Kubernetes-työkalujen (esim. Prometheus) kanssa. Suurlähettiläs jättää sovellusliittymien suunnittelun ja selittävän määrityksen kokonaan käyttäjän vastuulle. API-versioiden kaltaisia ​​ominaisuuksia ei tueta luonnollisesti; sinun on käsiteltävä sellaisia ​​asioita yksin. Tämä tekee Ambassadorista parhaiten työskentelemään sovellusliittymien kanssa osana Kubernetes-käyttöönottoa eikä yleisenä API-hallintaratkaisuna.

Apiman

Apiman - aiemmin "JBoss Apiman" - on Red Hat avoimen lähdekoodin projekti rakennettu Java. Vaikka Red Hat ylläpitää sitä edelleen, näyttää siltä, ​​että suurin osa Red Hatin aktiivisesta kehityksestä API-hallinnassa on siirtynyt sen 3Scale-tuotteeseen.

Apiman keskittyy perusasioihin - sovellusliittymien julkaisemiseen ja hallintaan, roolipohjaisen pääsyn tarjoamiseen kyseisiin toimintoihin, API-käytön käytäntöjen asettamiseen, ajonaikaisten ja laskutustietojen keräämiseen ja ylhäältä alaspäin suuntautuvien organisaatiorakenteiden luomiseen kaikille näille elementeille.

Apiman voi asettaa käytäntöjä sovellusliittymille tietoturvan, resurssien (esim. Nopeuden rajoittaminen), datan muunnosten, välimuistiin tallentamisen ja kirjaamisen suhteen. Käytännöt määritetään JSONin kautta, joten sekä ihmiset että koneet voivat lukea ja muokata niitä. Suojauskäytäntöjä voidaan käyttää käyttäjän identiteetin tai roolin mukaan, ja sovellusliittymiä voidaan hallita löyhästi tai tiukasti. Voit julkaista sovellusliittymiä, joiden versiotunnus on URL-osoitteessa, eikä niiden käyttöön ole liitetty sopimusta. tai voit vaatia API-avainta ja hallita tarkasti niiden versiota.

Enimmäkseen mikä tahansa muu kuin perusasiat on sinun vastuullasi. Esimerkiksi, vaikka Apimanille on saatavilla useita laajennuksia, ne ovat yleensä pieniä Apiman-toiminnallisuuden laajennuksia, joita ydinprojektin ylläpitäjät tarjoavat.

DreamFactory

DreamFactory-sovellusliittymän hallinta-alusta on rakennettu Laravel-kehyksellä PHP: ssä. DreamFactory on saatavana ilmaisena avoimen lähdekoodin tarjouksena tai vaihtelevalla kaupallisella tuella (hinnoittelua ei paljasteta). Se on luonnollinen valinta kehittäjille, jotka ovat jo investoineet PHP: hen ja jotka haluavat syventää avoimen lähdekoodin toteutusta. DreamFactory tarjoaa myös palvelinpuolen komentosarjojen integroinnin Node.js: n ja Pythonin kanssa.

DreamFactoryn Datamesh-ominaisuus, joka on saatavana valmiina kaikissa inkarnaatioissa, antaa sinun yhdistää useita heterogeenisiä tietokantapuheluja - myös eri tietokantatuotteita - ja palauttaa tulokset yhtenä API-kutsuna. Samoin taulukoiden päivitykset useissa tietokannoissa voidaan yhdistää yhdeksi API-kutsuksi.

DreamFactory-dokumentaatiosta puuttuu yksi, ensisijainen, haettavissa oleva luettelo kaikista käytettävissä olevista palveluista. Tiedot on järjestetty luokittain, joten sinun on suoritettava manuaalinen poraus saadaksesi selville käytettävissä olevat. Ylhäältä päin, asiakirjat sisältävät monia ohjevideoita tiettyihin käyttötarkoituksiin, kuten yksinkertaisen sovelluksen luominen tai yhteyden muodostaminen erilaisiin tietolähteisiin.

Kong

Kong on yksi tunnetuimmista API-hallintatyökaluista, jonka Mashape (nimeltään Kong) on ​​alun perin luonut oman API-markkinatuotteensa käyttämiseksi. Kong on saatavana avoimen lähdekoodin versiona tai yritysluokan kaupallisessa tarjonnassa (hinnoittelua ei paljasteta), jossa on lisähallinta-, valvonta- ja kehittäjäominaisuuksia. Enterprise-versio voi toimia paikan päällä tai valitsemassa pilvipalvelussa. Sekä avoimen lähdekoodin että yritystuotteiden dokumentaatio on runsasta ja yksityiskohtaista.

Kong tarjoaa Ingress-ohjaimen Kubernetes-integraatioon ja palveluverkon, jonka avulla Kongin toiminnot voidaan "injektoida" olemassa olevaan palvelujen käyttöönottoon. Enterprise-versio tarjoaa kehittäjien portaalin, jonka tarkoituksena on helpottaa uusien sovellusliittymien luomista ja tutustuttaa uudet kehittäjät API-koodikantaan.

Kong käyttää normaalisti tietokantaa, mutta voi toimia myös tietokannattomassa tilassa käyttämällä JSON / YAML-määritystiedostoa ja muistin sisäistä tallennustilaa. Tämä on parasta, jos käytät vain yhtä, vain vähän solmua, mutta haluat parhaan mahdollisen suorituskyvyn.

Kraken

Go-kirjoitettu KrakenD toimittaa vain välttämättömät tarvikkeet, mutta tuo esiin korkean suorituskyvyn keskeisenä ominaisuutena. KrakenD toimitetaan yhtenä itsenäisenä binaarina, kuten useimmissa Go-sovelluksissa. Vaihtoehtoisesti se voidaan kääntää lähteestä tai käyttää Go-kirjastona, jos haluat rakentaa oman sovelluksen sen ympärille.

KrakenD käyttää kokoonpanotiedostoa, joka voidaan rullata käsin tai koneella. Nopeuden rajoittaminen, vastausten käsittely, edelleenlähetys, päätepisteiden virheenkorjaus, protokollan suojaustoimenpiteet (esim. Suoja napsautussuojausta vastaan), välityspalvelin, tunkeutuminen ja muistin sisällä oleva vastevälimuisti ovat kaikki tuettuja laatikosta.

KrakenD-esiintymät voidaan klusteroida korkean käytettävyyden vuoksi. Tätä varten ei tarvita lisäohjelmistoja, vain KrakenD itse. Voit myös ottaa KrakenD: n käyttöön Kubernetes-klusterin yli ilman paljon työtä. Valikoima kolmannen osapuolen väliohjelmia on saatavana KrakenD GitHub -tietovarastosta.

Yritystukea, mukaan lukien konsultointi ja koulutus, saa KrakenD: n tekijöiltä, ​​vaikka hinnoittelua ei paljasteta.

MuleSoft Anypoint -alusta

MuleSoftin Anypoint Platform on tarkoitettu täydelliseksi tarjoukseksi - se kattaa API: n suunnittelun, rakentamisen, isännöinnin, hallinnan, integroinnin ja kehittäjien tuen yhdessä, kaupallisessa tuotteessa.

Anypointin avulla voit kehittää sovellusliittymiä alusta alkaen tai käyttää uudelleen muiden MuleSoft-asiakkaiden luomia ja Anypoint Exchangessa jaettuja liittimiä ja integraatioita. Liittimiä on saatavana yleisiin protokolliin (tiedostojen käyttö, HTTP, sähköposti), kielimoduuleihin tiedonmuunnoksiin (Java, JavaScript), pilvipalveluihin (Amazon AWS), kaupallisiin sovelluksiin (Salesforce, SAP) ja avoimen lähdekoodin sovelluksiin (MongoDB).

Niille, jotka luovat sovellusliittymiä, joita kumppanit tai yleisö kuluttavat, Anypoint tarjoaa API-yhteisöpäällikölle mahdollisuuden luoda web-käyttöliittymiä - mitä MuleSoft kutsuu "portaaleiksi" - näille API: ille. Vuorovaikutteinen dokumentaatio, personointi (mukaan lukien ominaisuudet, kuten räätälöinti tuotos käyttäjän sijainnin perusteella) ja sovellusliittymän käyttöanalytiikka sisältyvät kaikki.

Anypoint tarjoaa kolme hinnoittelusuunnitelmaa, kulta, platina ja titaani, jotka vaihtelevat asiakastuen ja yrityksen ominaisuuksien mukaan. Kaikissa kolmessa suunnitelmassa on rajattomat sovellusliittymät ja lisämaksu "premium" -liittimistä (esim. IBM AS / 400 -liitäntäliitin).

Netflix Zuul

Netflixin insinöörien luoman avoimen lähdekoodin Zuul-projektin rakennettiin talon palvelemaan reitityspyyntöjä Netflixin videoiden suoratoistopalveluihin. Ei kaupallista Zuul-tarjousta - ainakaan, ei Netflixiltä -, joten joudut pyörittämään Zuulin ylös ja hallitsemaan sitä kokonaan itse.

Zuul on kirjoitettu Java-muodossa, ja se käyttää yleisiä Java-työkaluja - Gradle, Ivy, Maven - pääsemään vauhtiin. Zuul tarjoaa suhteellisen pienen ominaisuusjoukon muihin API-hallintajärjestelmiin verrattuna, ja se keskittyy saapuvien pyyntöjen suodattamiseen ja lähettämiseen palvelujen välillä. Zuul tarjoaa palvelujen löytämistä, kuormituksen tasapainottamista, yhteyden yhdistämistä ja virheenkorjausominaisuuksia ("pyyntöpassi"), mutta puuttuu kehittyneemmät toiminnot, kuten kehittäjien alukseen pääsy ja automaattinen dokumentointi.

Zuul on aktiivinen projekti, jossa on monia uusia ominaisuuksia suunniteltu tuleviin versioihin. Esimerkiksi tuleva "brownout-suodatin" poistaa tietyt ominaisuudet käytöstä suorittimen vapauttamiseksi korkean aktiivisuuden aikana.

Tyk

Tyk sisältää oletusarvoisesti paljon: API-yhdyskäytävän, analyysityökalut, dev-portaalin ja hallinnan hallintapaneelin. Se sisältää myös toiminnot pilkistäville sovellusliittymille ennen niiden virallista julkaisemista, sisäänrakennetun pyynnön välimuistin (joka voidaan sisällyttää suoraan API-määritelmään) ja vastausmallit erilaisille HTTP-virhekoodeille.

Tyk on saatavana neljänä painoksena, kumpikin eri käyttötarkoituksiin. Yhteisön painos, Tykin avoimen lähdekoodin julkaisu, sisältää vain yhdyskäytävän, joka hoitaa välityspalvelimen, kulunvalvonnan, muunnokset ja lokien kirjaamisen. Voit käyttää omia toimintojasi suoraan tai napauttamalla Tykin laajennusekosysteemiä useiden kielten tuella.

Paikallisversiossa voit käyttää monipuolista kaupallista tuotetta palomuurisi takana. Yhden yhdyskäytävän lisenssit - pääasiassa kehittäjäversiot - ovat saatavilla ilmaiseksi, ilman API-puhelurajoituksia, vaikka sovellusliittymiä ei voida käyttää kaupallisissa asetuksissa. Kaupallisen käytön lisenssit alkavat 3000 dollaria vuodessa.

Pilvi- ja monipilvipainokset, jotka ovat saatavana useille suosituille pilvipalveluille, tarjoavat Tykin isännöitynä palveluna. Perus, yhden pilven versio, joka tukee 1000 API-puhelua päivässä, on saatavilla ilmaiseksi (lukuun ottamatta mitä tahansa pilvipalveluntarjoajasi veloittaa); pro-tason suunnitelmat alkavat 450 dollaria kuukaudessa.

WSO2 API Manager

WSO2 API Manager on ytimessä Java-pohjainen avoimen lähdekoodin tuote. Tuote on saatavana paikalliseen käyttöön tai pilvipalvelussa kaupalliseen tukeen tai pilvipalveluna.

Eri käyttöönottovaihtoehdot mahdollistavat useita erilaisia ​​hallintaskenaarioita. Esimerkiksi paikan päällä tapahtuvan WSO2-käyttöönoton käytäntöjä ja muita kokoonpanoja voidaan valvoa pilvi-isännöityjen kehittäjäportaalien avulla, joko muutokset joko synkronoidaan pilven ja tilojen välillä tai työnnetään säännöllisesti pilvestä (ympäristöille, jotka on lukittu).

WSO2: lla on noin 200 liitintä, joita voidaan käyttää ulkoisten palvelujen yhdistämiseen. Monet ovat yleisiä kehittäjäniittoja: Slack, Splunk, Kafka, Redis, Amazon S3 ja niin edelleen.

Toinen WSO2-ominaisuus, "API-mikroportti", varmistaa, että tietyntyyppiset puhelut saavat lisäsuojausta ja pienemmän viiveen. Esimerkiksi yhdyskäytävän hallintaan käytettävät puhelut tai mikropalvelujen välillä reititetyt puhelut voidaan hoitaa tällä tavalla.

Uusi lisäys WSO2: een lisää integroinnin Kubernetesin Istio-palveluverkkoon. Istio ei hallitse hallinnoimiensa mikropalvelujen altistamia sovellusliittymiä, joten WSO2 integroituu Istion käyttämään Envoy-välityspalvelimeen.

WSO2: n kaupallisten tarjousten hinnoittelu alkaa ilmaisella kahden viikon kokeiluversiolla, jossa on jopa miljoona API-puhelua, hinta on edelleen 550 dollaria kuukaudessa 20 miljoonalle puhelulle ja skaalautuu sieltä räätälöityihin kokoonpanoihin.