10 najboljih alata za upravljanje API-jem

Suvremeni poslovni svijet temelji se na softveru i API-ju. Bilo kojoj aplikaciji, bilo javnoj ili privatnoj, potrebni su moćni i prikladni API-ji da bi bili uistinu korisni. Izgradnja i održavanje API-ja težak je posao, pa nije ni čudo što su oko upravljanja API-jem nastale čitave klase softvera.

Većina proizvoda za upravljanje API-jem pruža zajedničku kombinaciju značajki: usmjeravanje i proksiranje, transformacija podataka i URL-ova, nadzorne ploče i analitika, politike i ograničenja te alati za programere poput generatora dokumentacije. Ovdje ćemo pogledati 10 popularnih alata za upravljanje API-jem - projekti s otvorenim kodom, komercijalni proizvodi, usluge u oblaku i njihove kombinacije - koji nude sve, od paketa s punom uslugom za API-je, do fokusiranih alata za određene scenarije.

3razmjera

Izvorno zatvoreni proizvod, 3scale je Red Hat kupio i otvorio ga nakon otprilike dvije godine rada. Projekt otvorenog koda može se slobodno koristiti pod licencom Apache, dok Red Hat nudi komercijalno podržanu implementaciju SaaS-a.

Značajke 3scale u skladu su s ostalim ponudama u ovom pregledu. Pronaći ćete verzije API-ja, kontrolu pristupa i ograničenje brzine, sigurnosne kontrole i analitiku. 3scale također nudi značajke pogodne za programere, poput portala za programere i CMS-a za stvaranje dokumentacije za nečije API-je. 3scale također nudi izvorni alat za unovčavanje API-ja, poput fakturiranja i integracije s uslugama plaćanja.

Ako namjeravate sami instalirati 3scale za proizvodnju, trebat će vam Oracle Database i OpenShift. S obzirom na to da čak i za minimalnu instalaciju od 3 skale za testiranje potreban je Minishift, OpenShift klaster s jednim čvorom, možda će vam najbolje poslužiti besplatna 90-dnevna probna verzija 3scale ako želite započeti što brže.

Pro verzija počinje s 750 dolara mjesečno za 5000 računa razvojnih programera, 500.000 API poziva dnevno i do tri API-ja. Verzija Enterprise (cijena dostupna na zahtjev) uklanja većinu tih ograničenja.

Ambasador

Ambassador je sustav za upravljanje API-jem otvorenog koda izgrađen za rad s Kubernetesom. Ambasador je implementiran povrh proxyja Envoy, koji se bavi apstrakcijom mreže za mikroservise, tako da većinu dizanja teške ruke rade Envoy i Kubernetes.

Ambasadorov niz značajki u skladu je s većinom ostalih postojećih alata za upravljanje API-jem: prepisivanje URL-ova i usmjeravanje zahtjeva, filtriranje, provjera autentičnosti i kontrola pristupa, ograničenje brzine i vremenska ograničenja te integracija s alatima za bilježenje, rješavanje problema i vidljivost.

Međutim, većina značajki veleposlanika vrti se oko upravljanja vremenom izvođenja i integracije s Kubernetesom i drugim Kubernetesovim alatima (npr. Prometheus). Ambasador dizajn i deklarativnu konfiguraciju API-ja u potpunosti prepušta korisniku. Značajke poput API-ja za verzije nisu izvorno podržane; s takvim se stvarima moraš nositi sam. To ambasadora čini najprikladnijim za rad s API-ima kao dijelom Kubernetesove implementacije, a ne kao općenito rješenje za upravljanje API-jem.

Apiman

Apiman - nekada "JBoss Apiman" - je projekt otvorenog koda Red Hat izgrađen na Javi. Iako ga još uvijek održava Red Hat, čini se da je većina aktivnog razvoja Red Hat-a u upravljanju API-ima prešla na svoj 3Scale proizvod.

Apiman se koncentrira na osnove - objavljivanje i upravljanje API-jevima, pružanje pristupa tim funkcijama temeljenog na ulogama, postavljanje pravila o upotrebi API-ja, prikupljanje mjerenja vremena izvođenja i naplate te stvaranje organizacijskih struktura odozgo prema dolje za sve te elemente.

Apiman može postaviti politike za API-je oko sigurnosti, resursa (npr. Ograničavanje brzine), transformacije podataka, predmemoriranja i bilježenja. Pravila se konfiguriraju putem JSON-a, tako da ih ljudi i strojevi mogu čitati i uređivati. Sigurnosne politike mogu se primijeniti prema korisničkom identitetu ili ulozi, a API-ji se mogu slabo ili strogo kontrolirati. Možete objaviti API-je s revizijskim ID-om u URL-u i bez ugovora povezan s njihovom uporabom; ili možete zatražiti API ključ i pomno upravljati njihovim verzijama.

Većina svega što je izvan osnova je vaša odgovornost. Na primjer, iako su dostupni brojni dodaci za Apiman, oni obično predstavljaju mala proširenja Apiman funkcionalnosti, koja pružaju održavatelji temeljnih projekata.

DreamFactory

DreamFactory API platforma za upravljanje izgrađena je s okvirom Laravel u PHP-u. DreamFactory dostupan je kao besplatna ponuda otvorenog koda ili s različitim razinama komercijalne podrške (cijene nisu objavljene). Prirodan je izbor za programere koji su već uložili u PHP i koji žele iskopati u implementaciji otvorenog koda. DreamFactory također nudi integraciju skriptiranja na strani poslužitelja s Node.js i Python.

DreamFactoryova značajka "Datamesh", dostupna odmah u svim svojim utjelovljenjima, omogućuje vam kombiniranje rezultata iz više heterogenih poziva baze podataka - uključujući različite proizvode baze podataka - i vraćanje rezultata kao jedan API poziv. Isto tako, ažuriranja tablice u više baza podataka mogu se kombinirati u jedan API poziv.

Dokumentaciji DreamFactory nedostaje jedinstveni, kanonski popis svih dostupnih usluga koji se može pretraživati. Informacije su organizirane po kategorijama, tako da morate izvršiti ručno bušenje da biste saznali što je dostupno. Naopako, dokumenti uključuju mnoštvo videozapisa s uputama za određene slučajeve upotrebe, poput postavljanja jednostavne aplikacije ili povezivanja s različitim izvorima podataka.

Kong

Kong je jedan od najpoznatijih alata za upravljanje API-jem, koji je izvorno kreirao Mashape (preimenovani u Kong) kako bi pokrenuo vlastiti proizvod API tržišta. Kong je dostupan u izdanju otvorenog koda ili u komercijalnoj ponudi poslovnog razreda (cijene nisu objavljene) s dodatnim značajkama upravljanja, nadzora i razvojnih programa. Poduzetničko izdanje može se pokretati lokalno ili u usluzi u oblaku po izboru. Dokumentacija za proizvode otvorenog koda i za poduzeća obilna je i detaljna.

Kong nudi Ingress kontroler za integraciju Kubernetesa i uslužnu mrežu koja omogućuje Kongovu funkcionalnost da se "ubrizga" u postojeću implementaciju usluga. Poduzetničko izdanje nudi portal za programere čiji je cilj olakšati stvaranje novih API-ja i upoznati nove programere s vašom bazom API koda.

Kong obično koristi bazu podataka, ali može se izvoditi i u načinu rada bez baze podataka, koristeći JSON / YAML konfiguracijsku datoteku i pohranu u memoriji. To je najbolje ako koristite samo jedan, minimalni čvor, ali želite maksimalne performanse.

KrakenD

KrakenD, napisan u programu Go, pruža samo najnužnije stvari, ali kao ključne značajke ističe visoke performanse. KrakenD se isporučuje kao jedna samostalna binarna datoteka, kao što je slučaj s većinom aplikacija ugrađenih u Go. Alternativno se može kompajlirati iz izvora ili koristiti kao Go knjižnica ako želite oko njega izgraditi vlastiti program.

KrakenD koristi konfiguracijsku datoteku koja se može ručno valjati ili generirati strojno. Ograničavanje brzine, manipulacija odgovorima, prosljeđivanje, otklanjanje pogrešaka krajnje točke, sigurnosne mjere protokola (npr. Zaštita od klikanja), proksiranje, stubing i predmemoriranje odgovora u memoriji podržani su iz kutije.

Primjeri KrakenD mogu se grupirati radi visoke dostupnosti. Za to nije potreban dodatni softver, već sam KrakenD. KrakenD također možete rasporediti preko Kubernetes klastera bez puno dodatnog rada. Asortiman softvera treće strane može se dobiti iz spremišta KrakenD GitHub.

Podrška za poduzeća, uključujući savjetovanje i obuku, dostupna je od KrakenD-ovih kreatora, iako cijene nisu objavljene.

MuleSoft Anypoint platforma

MuleSoft Anypoint Platform zamišljen je kao cjelovita ponuda - obuhvaća API dizajn, izgradnju, hosting, upravljanje, integraciju i podršku programerima u jednom komercijalnom proizvodu. 

Uz Anypoint možete razvijati API-je od nule ili ponovno koristiti postojeće konektore i integracije koje su stvorili drugi kupci MuleSoft-a i dijelili ih u Anypoint Exchange-u. Konektori su dostupni za generičke protokole (pristup datotekama, HTTP, e-pošta), jezične module za pretvorbu podataka (Java, JavaScript), usluge u oblaku (Amazon AWS), komercijalne aplikacije (Salesforce, SAP) i aplikacije otvorenog koda (MongoDB).

Za one koji stvaraju API-je koje će konzumirati partneri ili javnost, Anypoint nudi API Community Manager za stvaranje web korisničkih sučelja - što MuleSoft naziva „portali” - za te API-je. Uključeni su interaktivna dokumentacija, personalizacija (uključujući značajke poput prilagođavanja rezultata na temelju korisničke geolokacije) i analitika upotrebe API-ja.

Anypoint nudi tri cjenovna plana, zlato, platinu i titan, koji se razlikuju ovisno o razini korisničke podrške i značajkama poduzeća. Sva tri plana uključuju neograničene API-je i dodatno naplaćuju "premium" konektore (npr. Priključak glavnog računala IBM AS / 400).

Netflix Zuul

Zuul, projekt otvorenog koda koji su kreirali inženjeri u Netflixu, izgrađen je vlastito za obradu zahtjeva za usmjeravanje Netflixovih usluga streaminga video zapisa. Ne postoji komercijalna ponuda Zuula - barem ne od Netflixa -, tako da ćete morati okretati Zuul i upravljati njime sami.

Zuul je napisan na Javi i koristi uobičajene Java alate - Gradle, Ivy, Maven - za pokretanje i pokretanje. Zuul nudi relativno minimalan skup značajki u usporedbi s drugim sustavima za upravljanje API-jem, usredotočujući se na filtriranje i slanje dolaznih zahtjeva između usluga. Zuul pruža značajke otkrivanja usluga, uravnoteženja opterećenja, spremanja veza i otklanjanja pogrešaka ("zahtjev za putovnicom"), ali nedostaju sofisticiranije funkcije kao što su ugradnja za programere i automatska dokumentacija.

Zuul je aktivan projekt s mnogim novim značajkama planiranim za buduće verzije. Na primjer, predstojeći "filtar za uklanjanje" onemogućit će određene značajke kako bi se CPU oslobodio tijekom razdoblja velike aktivnosti.

Tyk

Tyk prema zadanim postavkama uključuje velik dio: API pristupnik, alati za analitiku, razvojni portal i nadzorna ploča za upravljanje. Također uključuje funkcionalnost za ismijavanje API-ja prije službenog puštanja, ugrađeno predmemoriranje zahtjeva (koje se može uključiti izravno u definiciju API-ja) i predloške za različite HTTP kodove pogrešaka.

Tyk je dostupan u četiri izdanja, svako za različite slučajeve upotrebe. Izdanje zajednice, Tyk-ovo izdanje otvorenog koda, uključuje samo pristupnik koji upravlja proxyjem, kontrolom pristupa, transformacijama i bilježenjem. Svoju funkcionalnost možete uvesti izravno ili tapkajući u Tykov plug-in ekosustav, s podrškom za više jezika.

Lokalno izdanje omogućuje vam upotrebu komercijalnih proizvoda sa svim značajkama iza vatrozida. Licence za pojedinačni pristupnik - u osnovi izdanja za programere - dostupne su besplatno, bez ograničenja API poziva, iako se API-ji ne mogu koristiti u komercijalnim postavkama. Licence za komercijalnu upotrebu počinju s 3000 USD godišnje.

Izdanja u oblaku i više oblaka, dostupna za razne popularne usluge u oblaku, pružaju Tyk kao uslugu hostiranja. Osnovna verzija s jednim oblakom koja podržava 1.000 API poziva dnevno dostupna je besplatno (osim onoga što naplaćuje vaš davatelj usluga u oblaku); pro-level planovi počinju od 450 USD mjesečno.

WSO2 API Manager

WSO2 API Manager u osnovi je proizvod otvorenog koda, izgrađen s Javom. Proizvod je dostupan za lokalnu ili hostiranu upotrebu u oblaku uz komercijalnu podršku ili kao uslugu kojom se upravlja u oblaku.

Razne mogućnosti implementacije omogućuju niz različitih scenarija upravljanja. Na primjer, u lokalnoj WSO2 implementaciji svoje politike i druge konfiguracije mogu se nametnuti putem portala za programere koji hostiraju u oblaku, s promjenama ili sinkroniziranim između oblaka i prostorija ili povremeno potisnutim iz oblaka (za okruženja koja treba zaključan).

WSO2 ima oko 200 konektora koji se mogu koristiti za spajanje vanjskih usluga. Mnogi su uobičajeni spojevi za programere: Slack, Splunk, Kafka, Redis, Amazon S3 i tako dalje.

Još jedna WSO2 značajka, "API mikroprolaz", osigurava da određene vrste poziva dobivaju dodatnu sigurnost i manju kašnjenje. Na primjer, pozivi koji se koriste za upravljanje pristupnikom ili pozivi usmjereni između mikro servisa mogu se obrađivati ​​na ovaj način.

Novi dodatak za WSO2 dodaje integraciju s mrežom Istio usluga za Kubernetes. Istio ne upravlja API-jevima koje izlažu mikroservisi kojima upravlja, pa se WSO2 integrira s proxyjem Envoy koji za to koristi Istio.

Cijene za komercijalne ponude WSO2 započinju besplatnim dvotjednim probnim razdobljem s do milijun API poziva, nastavljaju se na 550 USD mjesečno za 20 milijuna poziva i odatle se prilagođavaju konfiguracijama po mjeri.