Programiranje

10 najboljših orodij za upravljanje API

Sodobni poslovni svet temelji na programski opremi in API-ju. Vsaka aplikacija, bodisi javna bodisi zasebna, potrebuje zmogljive in priročne API-je, da bo resnično uporabna. Izdelava in vzdrževanje API-jev je težko delo, zato ni čudno, da so se okoli upravljanja API pojavili celi razredi programske opreme.

Večina izdelkov za upravljanje API-jev ponuja skupno sklop funkcij: usmerjanje in posredovanje, pretvorba podatkov in URL-jev, nadzorne plošče in analitika, pravilniki in omejitve ter orodja za razvijalce, kot so generatorji dokumentacije. Tu si bomo ogledali 10 priljubljenih orodij za upravljanje API-jev - odprtokodne projekte, komercialne izdelke, storitve v oblaku in njihove kombinacije - ki ponujajo vse, od celokupnega paketa API-jev do osredotočenih orodij za posebne scenarije.

3-skala

Prvotno zaprti izdelek je Red Hat kupil 3scale in po približno dveh letih dela odprtokoden. Odprtokodni projekt lahko prosto uporabljate pod licenco Apache, medtem ko Red Hat ponuja komercialno podprto implementacijo SaaS.

Funkcije 3scale so v skladu z drugimi ponudbami v tem pregledu. Našli boste različice API-jev, nadzor dostopa in omejevanje hitrosti, varnostne kontrole in analitiko. 3scale ponuja tudi razvijalcem prijazne funkcije, kot sta portal za razvijalce in CMS za ustvarjanje dokumentacije za lastne API-je. 3scale ponuja tudi izvorno orodje za monetizacijo API-jev, na primer izdajanje računov in integracija s plačilnimi storitvami.

Če nameravate 3scale namestiti sami za proizvodnjo, boste potrebovali Oracle Database in OpenShift. Glede na to, da tudi za minimalno namestitev 3-skale za testiranje potrebujete Minishift, grozd OpenShift z enim vozliščem, boste morda najbolje služili z brezplačno 90-dnevno preskusno različico 3scale, če želite čim prej začeti.

Različica Pro se začne pri 750 USD na mesec za 5000 računov razvijalcev, 500.000 klicev API na dan in do tri API-je. Različica Enterprise (cena je na voljo na zahtevo) odstrani večino teh omejitev.

Veleposlanik

Ambassador je odprtokodni sistem za upravljanje API-jev, zasnovan za delo s Kubernetesom. Ambasador je nameščen na vrhu posrednika Envoy, ki ureja mrežno abstrakcijo za mikro storitve, zato večino težkega dviga opravijo Envoy in Kubernetes.

Nabor funkcij ambasadorja je v skladu z večino drugih orodij za upravljanje API-jev: prepisovanje URL-jev in usmerjanje zahtev, filtriranje, preverjanje pristnosti in nadzor dostopa, omejevanje hitrosti in časovne omejitve ter integracija z orodji za beleženje, odpravljanje težav in vidnost.

Vendar se večina Ambasadorovih funkcij vrti okoli upravljanja izvajanja in integracije s Kubernetesom in drugimi Kubernetesovimi orodji (npr. Prometheus). Ambasador zasnovo in deklarativno konfiguracijo API-jev v celoti prepusti uporabniku. Funkcije, kot je različica API, izvorno niso podprte; s takimi stvarmi moraš ravnati sam. Zaradi tega je ambasador najbolj primeren za delo z API-ji kot del uvajanja Kubernetes-a in ne kot splošna rešitev za upravljanje API-jev.

Apiman

Apiman - prej "JBoss Apiman" - je odprtokodni projekt Red Hat, zgrajen v Javi. Čeprav ga Red Hat še vedno vzdržuje, se zdi, da se je večina aktivnega razvoja Red Hat-a pri upravljanju API-ja preselila v svoj izdelek 3Scale.

Apiman se osredotoča na osnove - objavljanje in upravljanje API-jev, zagotavljanje dostopa do teh funkcij na podlagi vlog, določanje pravilnikov o uporabi API-ja, zbiranje meritev časa izvajanja in obračunavanja ter ustvarjanje organizacijskih struktur od zgoraj navzdol za vse te elemente.

Apiman lahko za API-je nastavi politike glede varnosti, virov (npr. Omejitev hitrosti), transformacij podatkov, predpomnjenja in beleženja. Politike se konfigurirajo prek JSON-a, tako da jih lahko berejo in urejajo tako ljudje kot stroji. Varnostne politike lahko uporabite glede na identiteto uporabnika ali vlogo, API-je pa lahko ohlapno ali strogo nadzirate. V URL-ju lahko objavite API-je z ID-jem revizije in z njihovo uporabo ni povezana nobena pogodba; ali pa lahko zahtevate ključ API in natančno upravljate njihovo različico.

Za vse, kar presega osnovno, ste odgovorni vi. Na primer, čeprav so na voljo številni vtičniki za Apiman, na splošno pomenijo majhne razširitve funkcionalnosti Apiman, ki jih zagotavljajo vzdrževalci jedrnih projektov.

DreamFactory

Platforma za upravljanje API-ja DreamFactory je zgrajena z ogrodjem Laravel v PHP. DreamFactory je na voljo kot brezplačna odprtokodna ponudba ali z različnimi stopnjami komercialne podpore (cene niso razkrite). To je naravna izbira za razvijalce, ki so že vložili v PHP in želijo poseči po odprtokodni izvedbi. DreamFactory ponuja tudi integracijo skriptov na strani strežnika z Node.js in Python.

Funkcija "Datamesh" podjetja DreamFactory, ki je na voljo že v vseh poosebitvah, omogoča združevanje rezultatov iz več heterogeno klicev zbirk podatkov - vključno z različnimi izdelki zbirke podatkov - in vrnitev rezultatov kot en sam klic API. Podobno je mogoče posodobitve tabel v več zbirkah podatkov združiti v en klic API.

V dokumentaciji DreamFactory ni enotnega, kanoničnega seznama vseh razpoložljivih storitev, ki ga je mogoče iskati. Informacije so razvrščene po kategorijah, zato morate izvesti nekaj ročnega vrtanja, da ugotovite, kaj je na voljo. Navzgor dokumenti vključujejo veliko videoposnetkov z navodili za posebne primere uporabe, na primer nastavitev preproste aplikacije ali povezovanje z različnimi viri podatkov.

Kong

Kong je eno izmed najbolj znanih orodij za upravljanje API-jev, ki ga je prvotno ustvaril Mashape (preimenovan v Kong) za pogon lastnega izdelka na trgu API. Kong je na voljo v odprtokodni izdaji ali v komercialni ponudbi za podjetja (cena ni razkrita) z dodatnimi funkcijami upravljanja, spremljanja in razvijalcev. Izdaja za podjetja se lahko izvaja v naboru ali v izbrani storitvi v oblaku. Dokumentacija tako za odprtokodne kot za poslovne izdelke je bogata in podrobna.

Kong ponuja krmilnik Ingress za integracijo Kubernetes in servisno mrežo, ki omogoča, da se Kongovu funkcionalnost "vbrizga" v obstoječo uvedbo storitev. Izdaja za podjetja ponuja portal za razvijalce, katerega namen je olajšati ustvarjanje novih API-jev in nove razvijalce seznaniti z vašo kodo API.

Kong običajno uporablja bazo podatkov, lahko pa tudi v načinu brez baze podatkov z uporabo konfiguracijske datoteke JSON / YAML in pomnilnika v pomnilniku. To je najbolje, če uporabljate samo eno, minimalno vozlišče, vendar želite največjo zmogljivost.

KrakenD

KrakenD, napisan v jeziku Go, ponuja samo najnujnejše, vendar je ključna značilnost visoke zmogljivosti. KrakenD je na voljo v enem samostojnem binarnem zapisu, kot velja za večino aplikacij, vgrajenih v Go. Lahko pa ga sestavite iz vira ali uporabite kot knjižnico Go, če želite okoli njega zgraditi svojo aplikacijo.

KrakenD uporablja konfiguracijsko datoteko, ki jo je mogoče ročno zviti ali ustvariti strojno. Omejevanje hitrosti, manipulacija z odzivi, posredovanje, odpravljanje napak v končni točki, varnostni ukrepi protokola (npr. Zaščita pred priklopom), proxy, stubing in predpomnjenje odzivov v pomnilniku so podprti že takoj.

Primerke KrakenD je mogoče združiti v skupine zaradi visoke razpoložljivosti. Za to ni potrebna dodatna programska oprema, temveč samo KrakenD. KrakenD lahko tudi razmestite v gruči Kubernetes brez večjega dodatnega dela. Izbirno ponudbo vmesne programske opreme drugih proizvajalcev lahko dobite v repozitoriju KrakenD GitHub.

Podpora za podjetja, vključno s svetovanjem in usposabljanjem, je na voljo pri ustvarjalcih podjetja KrakenD, čeprav cene niso razkrite.

MuleSoft Anypoint Platform

MuleSoftova platforma Anypoint naj bi bila popolna ponudba - zajema oblikovanje API-jev, gradnjo, gostovanje, upravljanje, integracijo in podporo za razvijalce v enem komercialnem izdelku.

Z Anypoint lahko razvijate API-je iz nič ali ponovno uporabite obstoječe konektorje in integracije, ki so jih ustvarili drugi kupci MuleSoft in jih delite v Anypoint Exchange. Na voljo so priključki za generične protokole (dostop do datotek, HTTP, e-pošta), jezikovne module za pretvorbo podatkov (Java, JavaScript), storitve v oblaku (Amazon AWS), komercialne aplikacije (Salesforce, SAP) in odprtokodne aplikacije (MongoDB).

Za tiste, ki ustvarjajo API-je, ki jih bodo porabili partnerji ali javnost, Anypoint ponuja API Community Manager za ustvarjanje spletnih uporabniških vmesnikov - kar MuleSoft imenuje »portali« - za te API-je. Vključeni so interaktivna dokumentacija, personalizacija (vključno s funkcijami, kot je prilagajanje izhoda na podlagi uporabnikove geolokacije) in analitika uporabe API.

Anypoint ponuja tri cenovne načrte, Gold, Platinum in Titanium, ki se razlikujejo glede na raven podpore strankam in značilnosti podjetja. Vsi trije načrti vključujejo neomejene API-je in doplačilo za "premium" priključke (npr. Priključek za glavni računalnik IBM AS / 400).

Netflix Zuul

Zuul, odprtokodni projekt, ki so ga ustvarili inženirji pri Netflixu, je bil zgrajen lastno za obdelavo zahtev za usmerjanje v Netflixove storitve pretakanja videoposnetkov. Nobene komercialne ponudbe Zuula ni - vsaj ne od Netflixa -, zato boste morali Zuul zavrteti in z njo upravljati v celoti sami.

Zuul je napisan v Javi in ​​za vklop uporablja običajna Java-orodja - Gradle, Ivy, Maven. Zuul ponuja relativno minimalen nabor funkcij v primerjavi z drugimi sistemi za upravljanje API, s poudarkom na filtriranju in razpošiljanju vhodnih zahtev med storitvami. Zuul sicer ponuja funkcije odkrivanja storitev, izravnave obremenitve, združevanja povezav in odpravljanja napak (»potni list za zahtevo«), vendar nima bolj dovršenih funkcij, kot sta vkrcanje razvijalcev in samodejna dokumentacija.

Zuul je aktiven projekt z veliko novimi funkcijami, načrtovanimi za prihodnje različice. Prihajajoči »filter izpadov« bo na primer onemogočil nekatere funkcije, da sprosti CPU v obdobjih visoke aktivnosti.

Tyk

Tyk privzeto vključuje veliko: prehod API, analitična orodja, portal za razvijalce in nadzorno ploščo za upravljanje. Vključuje tudi funkcionalnost za posmehovanje API-jev, preden so formalno izdani, vgrajeno predpomnjenje zahtev (ki ga je mogoče vključiti neposredno v definicijo API-ja) in predloge odzivov za različne kode napak HTTP.

Tyk je na voljo v štirih izdajah, vsaka za različne primere uporabe. Izdaja skupnosti, Tykova odprtokodna izdaja, vključuje samo prehod, ki ureja proxy, nadzor dostopa, transformacije in beleženje. Svoje funkcije lahko sprostite neposredno ali tako, da tapnete Tykov vtični ekosistem s podporo za več jezikov.

Lokalna izdaja vam omogoča, da za požarnim zidom uporabljate popoln komercialni izdelek. Licence za enojni prehod - v bistvu izdaje za razvijalce - so na voljo brezplačno, brez omejitev klicev API, čeprav API-jev ni mogoče uporabljati v komercialnih nastavitvah. Licence za komercialno uporabo se začnejo pri 3000 USD na leto.

Izdaje v oblaku in več oblakov, ki so na voljo za številne priljubljene storitve v oblaku, zagotavljajo Tyk kot gostiteljsko storitev. Osnovna različica z enim oblakom, ki podpira 1.000 klicev API na dan, je na voljo brezplačno (razen stroškov, ki jih zaračuna vaš ponudnik storitev v oblaku); načrti na ravni se začnejo pri 450 USD na mesec.

Upravitelj API-jev WSO2

WSO2 API Manager je jedro odprtokodnega izdelka, zgrajenega z Javo. Izdelek je na voljo za lokalno uvajanje ali gostovanje v oblaku s komercialno podporo ali kot storitev v oblaku.

Različne možnosti uvajanja omogočajo številne različne scenarije upravljanja. Na primer, v vnaprejšnji uvedbi WSO2 lahko svoje politike in druge konfiguracije uveljavi prek portala za razvijalce, ki ga gosti v oblaku, pri čemer se spremembe sinhronizirajo med oblakom in prostori ali občasno potisnejo iz oblaka (za okolja, ki jih je treba zaklenjeno).

WSO2 ima približno 200 priključkov, s katerimi lahko povežete zunanje storitve. Mnoge so pogoste sponke za razvijalce: Slack, Splunk, Kafka, Redis, Amazon S3 itd.

Druga funkcija WSO2, »API microgateway«, zagotavlja, da so nekatere vrste klicev dodatno zaščitene in z nižjo zakasnitvijo. Tako lahko na primer obravnavate klice, ki se uporabljajo za upravljanje prehoda, ali klice, usmerjene med mikro storitvami.

Nov dodatek k WSO2 doda integracijo s storilno mrežo Istio za Kubernetes. Istio ne upravlja API-jev, ki jih izpostavljajo mikroservice, ki jih upravlja, zato se WSO2 integrira s posrednikom Envoy, ki ga za to uporablja Istio.

Cene komercialnih ponudb WSO2 se začnejo z brezplačnim dvotedenskim preskusom z do milijonom klicev API, nadaljujejo pri 550 USD na mesec za 20 milijonov klicev in se od tam razširijo na posebne konfiguracije.

$config[zx-auto] not found$config[zx-overlay] not found