Programovanie

10 najlepších nástrojov na správu API

Moderný obchodný svet je založený na softvéri a API. Každá aplikácia, či už verejná alebo súkromná, potrebuje výkonné a pohodlné rozhranie API, aby bola skutočne užitočná. Budovanie a údržba API je náročná práca, takže sa niet čomu čudovať, že okolo správy API vznikli celé triedy softvéru.

Väčšina produktov na správu API poskytuje spoločné spojenie funkcií: smerovanie a proxy, transformácia údajov a adries URL, dashboardy a analytika, zásady a obmedzenia a vývojárske nástroje, ako sú generátory dokumentácie. Tu sa pozrieme na 10 populárnych nástrojov na správu API - open source projekty, komerčné produkty, cloudové služby a ich kombinácie - ktoré ponúkajú všetko od balíka full-service pre API až po zamerané nástroje pre konkrétne scenáre.

3 stupnice

Produkt 3scale, ktorý bol pôvodne produktom s uzavretým zdrojom, získal Red Hat a po zhruba dvoch rokoch práce ho otvoril. Projekt open source je možné voľne používať pod licenciou Apache, zatiaľ čo Red Hat ponúka komerčne podporovanú implementáciu SaaS.

Funkcie 3scale sú v súlade s ostatnými ponukami v tomto súhrne. Nájdete verzie API, kontrolu prístupu a obmedzenie rýchlosti, bezpečnostné kontroly a analytiku. 3scale tiež ponúka funkcie priateľské k vývojárom, ako je portál pre vývojárov a CMS na vytváranie dokumentácie pre vlastné API. 3scale tiež ponúka natívne nástroje na monetizáciu API, ako je fakturácia a integrácia s platobnými službami.

Ak si chcete pre produkciu nainštalovať 3scale, budete potrebovať Oracle Database a OpenShift. Vzhľadom na to, že aj minimálna inštalácia úrovne 3scale na testovanie vyžaduje Minishift, klaster OpenShift s jedným uzlom, môže vám najlepšie poslúžiť bezplatná 90-denná skúšobná verzia verzie 3scale, ak chcete začať čo najskôr.

Verzia Pro začína na 750 $ mesačne pre 5 000 vývojárskych účtov, 500 000 hovorov cez API denne a až pre tri API. Verzia Enterprise (cena je k dispozícii na požiadanie) odstraňuje väčšinu z týchto obmedzení.

Veľvyslanec

Ambassador je otvorený systém správy API, ktorý je navrhnutý pre spoluprácu s Kubernetes. Ambassador je implementovaný nad proxy serverom Envoy, ktorý spracováva sieťovú abstrakciu pre mikroslužby, takže väčšinu ťažkých úloh vykonávajú Envoy a Kubernetes.

Sada funkcií Ambassadoru je v súlade s väčšinou ostatných nástrojov na správu API, ktoré sú k dispozícii: prepisovanie a smerovanie požiadaviek, filtrovanie, autentifikácia a kontrola prístupu, obmedzenie rýchlosti a časové limity a integrácia s nástrojmi na prihlásenie, riešenie problémov a viditeľnosť.

Väčšina funkcií Ambassadora sa však točí okolo riadenia runtime a integrácie s Kubernetes a ďalšími nástrojmi Kubernetes (napr. Prometheus). Veľvyslanec ponecháva návrh a deklaratívnu konfiguráciu rozhraní API výlučne na používateľovi. Funkcie ako správa verzií API nie sú natívne podporované; také veci musíš zvládnuť sama. Vďaka tomu sa Ambassador najlepšie hodí na prácu s API ako súčasť nasadenia Kubernetes, a nie ako všeobecné riešenie správy API.

Apiman

Apiman - predtým „JBoss Apiman“ - je open source projekt Red Hat postavený v Jave. Aj keď ho Red Hat stále udržiava, zdá sa, že väčšina jeho aktívneho vývoja v oblasti správy API sa presunula na svoj produkt 3Scale.

Apiman sa sústreďuje na základy - publikovanie a správu API, poskytovanie prístupu k týmto funkciám na základe rolí, stanovovanie politík týkajúcich sa používania API, zhromažďovanie metrík runtime a fakturácie a vytváranie organizačných štruktúr zhora nadol pre všetky tieto prvky.

Apiman môže pre API nastavovať zásady týkajúce sa zabezpečenia, zdrojov (napr. Obmedzenia rýchlosti), transformácií údajov, ukladania do pamäte cache a protokolovania. Pravidlá sa konfigurujú prostredníctvom formátu JSON, takže ich môžu ľudia aj stroje čítať a upravovať. Bezpečnostné politiky je možné aplikovať na totožnosť alebo rolu používateľa a API možno voľne alebo prísne kontrolovať. Môžete publikovať API s ID revízie v URL a žiadnou zmluvou spojenou s ich použitím; alebo môžete vyžadovať kľúč API a podrobne spravovať spôsob ich verzie.

Vaša zodpovednosť je za všetko, čo je nad rámec základov. Napríklad aj keď je k dispozícii množstvo doplnkov pre Apiman, vo všeobecnosti sa jedná o malé rozšírenia funkčnosti Apimanu poskytované hlavnými správcami projektu.

DreamFactory

Platforma pre správu API DreamFactory je postavená na architektúre Laravel v PHP. DreamFactory je k dispozícii ako bezplatná ponuka otvoreného zdroja alebo s rôznymi úrovňami komerčnej podpory (ceny nie sú zverejnené). Je to prirodzená voľba pre vývojárov, ktorí už do PHP investovali a ktorí sa chcú venovať implementácii open source. DreamFactory tiež ponúka integráciu skriptovania na strane servera s Node.js a Python.

Funkcia „Datamesh“ v aplikácii DreamFactory, ktorá je k dispozícii vo všetkých jej inkarnáciách, umožňuje kombinovať výsledky z viacerých heterogénnych volaní do databázy - vrátane rôznych databázových produktov - a vrátiť výsledky ako jedno volanie rozhrania API. Rovnako je možné kombinovať aktualizácie tabuliek vo viacerých databázach do jedného volania API.

V dokumentácii DreamFactory chýba jediný, kanonický prehľadávateľný zoznam všetkých dostupných služieb. Informácie sú usporiadané podľa kategórií, takže je potrebné vykonať určité ručné rozbalenie, aby ste zistili, čo je k dispozícii. Na druhú stranu, dokumenty obsahujú veľa návodov na konkrétne prípady použitia, ako je nastavenie jednoduchej aplikácie alebo pripojenie k rôznym zdrojom údajov.

Kong

Kong je jedným z najznámejších nástrojov na správu API, ktorý pôvodne vytvoril Mashape (premenovaný na Kong) na napájanie svojho vlastného produktu API Marketplace. Spoločnosť Kong je k dispozícii v otvorenom vydaní alebo v komerčnej ponuke na úrovni podniku (cena nie je zverejnená) s ďalšími funkciami pre správu, monitorovanie a vývojárov. Podnikové vydanie môže bežať on-prem alebo v cloudovej službe podľa výberu. Dokumentácia pre open source aj pre podnikové produkty je bohatá a podrobná.

Kong poskytuje radič Ingress pre integráciu Kubernetes a sieť služieb, ktorá umožňuje „vstreknutie“ funkcií Kongu do existujúceho nasadenia služieb. Vydanie Enterprise ponúka portál pre vývojárov zameraný na uľahčenie vytvárania nových rozhraní API a oboznámenie nových vývojárov s vašou kódovou základňou API.

Kong zvyčajne používa databázu, ale môže bežať aj v režime bez databázy, pomocou konfiguračného súboru JSON / YAML a ukladacieho priestoru v pamäti. To je najlepšie, ak prevádzkujete iba jeden minimálny uzol, ale chcete maximálny výkon.

KrakenD

Program KrakenD, napísaný v jazyku Go, poskytuje iba to najnutnejšie, ale kľúčovým prvkom je vysoký výkon. KrakenD sa dodáva ako jeden samostatný binárny súbor, ako je to u väčšiny aplikácií zabudovaných v systéme Go. Prípadne je možné kompilovať ho zo zdroja alebo použiť ako knižnicu Go, ak chcete vytvoriť svoju vlastnú aplikáciu.

KrakenD používa konfiguračný súbor, ktorý je možné ručne rolovať alebo generovať strojovo. Obmedzenie rýchlosti, manipulácia s odpoveďami, preposielanie, ladenie koncových bodov, bezpečnostné opatrenia protokolu (napr. Ochrana pred clickjackingom), proxy, stubbing a medzipamäť odpovedí v pamäti sú podporované už po vybalení z krabice.

Prípady KrakenD môžu byť zoskupené kvôli vysokej dostupnosti. Na to nie je potrebný žiadny ďalší softvér, iba samotný program KrakenD. Môžete tiež nasadiť KrakenD do klastra Kubernetes bez ďalšej práce. Sortiment middlewaru tretích strán je možné získať z úložiska KrakenD GitHub.

Enterprise podpora, vrátane konzultácií a školení, je k dispozícii od tvorcov KrakenD, aj keď ceny nie sú zverejnené.

Platforma MuleSoft Anypoint

Platforma Anypoint od spoločnosti MuleSoft má byť kompletnou ponukou - pokrýva návrh API, konštrukciu, hosťovanie, správu, integráciu a podporu vývojárov v jednom komerčnom produkte.

S Anypoint môžete vyvíjať API od nuly alebo znova používať existujúce konektory a integrácie vytvorené inými zákazníkmi MuleSoft a zdieľané na Anypoint Exchange. K dispozícii sú konektory pre všeobecné protokoly (prístup k súborom, HTTP, e-mail), jazykové moduly pre transformáciu údajov (Java, JavaScript), cloudové služby (Amazon AWS), komerčné aplikácie (Salesforce, SAP) a aplikácie s otvoreným zdrojom (MongoDB).

Pre tých, ktorí vytvárajú API, ktoré budú spotrebúvať partneri alebo verejnosť, poskytuje Anypoint API Community Manager na vytváranie webových používateľských rozhraní - čo MuleSoft nazýva „portály“ - pre tieto API. Zahrnutá je interaktívna dokumentácia, prispôsobenie (vrátane funkcií, ako je prispôsobenie výstupu na základe geolokácie používateľa), a analýza použitia API.

Anypoint ponúka tri cenové plány, zlato, platinu a titán, ktoré sa líšia podľa úrovne podpory zákazníkov a podnikových funkcií. Všetky tri plány zahŕňajú neobmedzené API a za „prémiové“ konektory (napr. Konektor IBM mainframe IBM AS / 400) sa účtuje príplatok.

Netflix Zuul

Zuul, projekt s otvoreným zdrojom, ktorý vytvorili inžinieri v spoločnosti Netflix, bol postavený interne na spracovanie požiadaviek na smerovanie k streamovacím službám videa spoločnosti Netflix. Neexistuje žiadna komerčná ponuka spoločnosti Zuul - prinajmenšom nie od spoločnosti Netflix - takže budete musieť Zuul roztočiť a spravovať ho úplne svojpomocne.

Zuul je napísaný v prostredí Java a na uvedenie do prevádzky používa bežné nástroje Java - Gradle, Ivy, Maven. Zuul ponúka relatívne minimálnu sadu funkcií v porovnaní s inými systémami správy API, zameranú na filtrovanie a dispečing prichádzajúcich požiadaviek naprieč službami. Zuul poskytuje funkcie zisťovania služieb, vyvažovania záťaže, združovania pripojení a ladenia („cestovný pas“), ale chýba mu sofistikovanejšie funkcie, ako je napríklad vývojárske pripojenie a automatická dokumentácia.

Zuul je aktívny projekt s mnohými novými funkciami plánovanými pre budúce verzie. Pripravovaný „filter vyťaženia“ napríklad deaktivuje určité funkcie, aby uvoľnil procesor v obdobiach vysokej aktivity.

Tyk

Tyk štandardne obsahuje veľa: bránu API, analytické nástroje, portál pre vývojárov a riadiaci panel. Zahŕňa tiež funkcie pre zosmiešňovanie rozhraní API pred ich oficiálnym vydaním, integrované ukladanie do vyrovnávacej pamäte požiadaviek (ktoré je možné zahrnúť priamo do definície rozhrania API) a šablóny odpovedí pre rôzne chybové kódy HTTP.

Tyk je k dispozícii v štyroch vydaniach, každé pre rôzne prípady použitia. Komunitné vydanie, vydanie spoločnosti Tyk v podobe otvoreného zdroja, obsahuje iba bránu, ktorá spracúva proxy server, kontrolu prístupu, transformácie a protokolovanie. Svoju vlastnú funkcionalitu môžete zaviesť priamo alebo klepnutím do Tykovho doplnkového ekosystému s podporou viacerých jazykov.

Miestne vydanie vám umožňuje používať plne funkčný komerčný produkt za bránou firewall. Licencie na jednu bránu - v podstate vývojárske vydania - sú k dispozícii zadarmo, bez obmedzenia hovorov rozhraním API, aj keď API nemožno použiť v komerčných nastaveniach. Licencie na komerčné použitie začínajú na 3 000 $ ročne.

Cloudové a multi-cloudové vydania, ktoré sú k dispozícii pre rôzne populárne cloudové služby, poskytujú Tyk ako hostovanú službu. Základná verzia pre jeden cloud, ktorá podporuje 1 000 hovorov API za deň, je k dispozícii zadarmo (okrem toho, čo si účtuje váš poskytovateľ cloudových služieb); pro-level plány začínajú na 450 $ mesačne.

Správca WSO2 API

WSO2 API Manager je v jadre produkt s otvoreným zdrojovým kódom, postavený na prostredí Java. Produkt je k dispozícii na lokálne alebo cloudové nasadenie s komerčnou podporou alebo ako cloudová služba.

Rôzne možnosti nasadenia umožňujú množstvo rôznych scenárov riadenia. Napríklad nasadenie lokálneho WSO2 môže mať svoje politiky a inú konfiguráciu vynútené prostredníctvom vývojárskeho portálu hosťovaného v cloude, pričom zmeny sa synchronizujú medzi cloudom a priestormi alebo sa pravidelne tlačia z cloudu (pre prostredia, ktoré je potrebné uzamknuté).

WSO2 má asi 200 konektorov, ktoré možno použiť na spojenie externých služieb. Mnohé z nich sú bežné svorky pre vývojárov: Slack, Splunk, Kafka, Redis, Amazon S3 atď.

Ďalšia funkcia WSO2, „API microgateway“, zaisťuje, že určité druhy hovorov získavajú ďalšie zabezpečenie a nižšiu latenciu. Týmto spôsobom sa dajú vybaviť napríklad hovory používané na správu brány alebo hovory smerované medzi mikroslužbami.

Nový doplnok k WSO2 pridáva integráciu so sieťou služieb Istio pre Kubernetes. Istio nespravuje API vystavené mikroslužbami, ktoré spravuje, takže WSO2 sa integruje s proxy serverom Envoy, ktorý na to používa Istio.

Cena komerčných ponúk WSO2 začína dvojtýždňovou skúšobnou verziou zdarma až s jedným miliónom hovorov cez API, pokračuje sumou 550 dolárov mesačne za 20 miliónov hovorov, a odtiaľ sa rozširuje na konfigurácie na mieru.

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