Programování

10 nejlepších nástrojů pro správu API

Moderní obchodní svět je založen na softwaru a na rozhraní API. Jakákoli aplikace, ať už veřejná nebo soukromá, potřebuje výkonná a pohodlná rozhraní API, aby byla skutečně užitečná. Vytváření a údržba API je tvrdá práce, takže není divu, že kolem správy API vyrostly celé třídy softwaru.

Většina produktů pro správu API poskytuje společné spojení funkcí: směrování a proxy, transformace dat a URL, řídicí panely a analytika, zásady a omezení a vývojářské nástroje, jako jsou generátory dokumentace. Zde se podíváme na 10 populárních nástrojů pro správu API - open source projekty, komerční produkty, cloudové služby a jejich kombinace - které nabízejí vše od sady full-service pro API až po cílené nástroje pro konkrétní scénáře.

3 měřítko

Původně produkt s uzavřeným zdrojem, 3scale získal Red Hat a open source po zhruba dvou letech práce. Projekt open source lze volně používat pod licencí Apache, zatímco Red Hat nabízí komerčně podporovanou implementaci SaaS.

Funkce 3scale jsou v souladu s ostatními nabídkami v tomto přehledu. Najdete verze API, řízení přístupu a omezení rychlosti, ovládací prvky zabezpečení a analytiku. 3scale také nabízí funkce vhodné pro vývojáře, jako je portál pro vývojáře a CMS pro vytváření dokumentace k API. 3scale také nabízí nativní nástroje pro zpeněžení API, jako je fakturace a integrace s platebními službami.

Pokud si chcete 3scale nainstalovat sami pro produkci, budete potřebovat Oracle Database a OpenShift. Vzhledem k tomu, že i minimální instalace 3scale pro testování vyžaduje Minishift, klastr OpenShift s jedním uzlem, může vám nejlépe posloužit bezplatná 90denní zkušební verze 3scale, pokud chcete začít co nejrychleji.

Verze Pro začíná na 750 $ měsíčně pro 5 000 vývojářských účtů, 500 000 volání API denně a až tři API. Verze Enterprise (cena k dispozici na vyžádání) odstraňuje většinu těchto omezení.

Velvyslanec

Ambassador je otevřený systém pro správu API vytvořený pro spolupráci s Kubernetes. Ambassador je implementován na proxy serveru Envoy, který zpracovává síťovou abstrakci pro mikroslužby, takže většinu těžkého zvedání provádějí Envoy a Kubernetes.

Sada funkcí Ambassadoru je v souladu s většinou ostatních nástrojů pro správu API: přepisování a směrování adres URL, filtrování, ověřování a řízení přístupu, omezení rychlosti a časové limity a integrace s protokolováním, odstraňováním problémů a viditelností.

Většina funkcí Ambassadoru se však točí kolem správy běhu a integrace s Kubernetes a dalšími nástroji Kubernetes (např. Prometheus). Ambassador ponechává návrh a deklarativní konfiguraci API zcela na uživateli. Funkce, jako je správa verzí API, nejsou nativně podporovány; takové věci musíte zvládnout sami. Díky tomu je Ambassador nejvhodnější pro práci s API jako součást nasazení Kubernetes, nikoli jako obecné řešení pro správu API.

Apiman

Apiman - dříve „JBoss Apiman“ - je open source projekt Red Hat postavený v Javě. Ačkoli to stále udržuje Red Hat, zdá se, že většina aktivního vývoje Red Hat ve správě API se přesunula na svůj produkt 3Scale.

Apiman se soustřeďuje na základy - publikování a správu API, poskytování přístupu k těmto funkcím na základě rolí, nastavení zásad používání API, shromažďování běhových a fakturačních metrik a vytváření organizačních struktur shora dolů pro všechny tyto prvky.

Apiman může nastavit zásady pro API týkající se zabezpečení, zdrojů (např. Omezení rychlosti), transformací dat, ukládání do mezipaměti a protokolování. Zásady se konfigurují pomocí JSON, takže je lze číst a upravovat jak lidmi, tak stroji. Zásady zabezpečení lze použít podle identity nebo role uživatele a rozhraní API lze volně nebo přísně kontrolovat. Můžete publikovat API s ID revize v URL a bez smlouvy spojené s jejich použitím; nebo můžete vyžadovat klíč API a pečlivě spravovat jejich verzi.

Za cokoli, co přesahuje základy, je vaše odpovědnost. Například i když je k dispozici řada modulů plug-in pro Apiman, obvykle představují malé rozšíření funkčnosti Apimanu poskytované hlavními správci projektů.

DreamFactory

Platforma pro správu API DreamFactory je postavena na architektuře Laravel v PHP. DreamFactory je k dispozici jako bezplatná nabídka otevřeného zdroje nebo s různou úrovní komerční podpory (ceny nejsou zveřejněny). Je to přirozená volba pro vývojáře, kteří již investovali do PHP a kteří se chtějí zabývat implementací open source. DreamFactory také nabízí integraci skriptování na straně serveru s Node.js a Python.

Funkce „Datamesh“ v DreamFactory, která je k dispozici ve všech inkarnacích ihned po vybalení, umožňuje kombinovat výsledky z více heterogenních databázových volání - včetně různých databázových produktů - a vrátit výsledky jako jedno volání API. Podobně lze aktualizace tabulek napříč více databázemi kombinovat do jednoho volání API.

V dokumentaci DreamFactory chybí jediný kanonický prohledávatelný seznam všech dostupných služeb. Informace jsou uspořádány podle kategorií, takže je třeba provést ruční rozbalení, abyste zjistili, co je k dispozici. Na druhou stranu, dokumenty obsahují mnoho videí s návody pro konkrétní případy použití, jako je nastavení jednoduché aplikace nebo připojení k různým zdrojům dat.

Kong

Kong je jedním z nejznámějších nástrojů pro správu API, který původně vytvořil Mashape (přejmenovaný na Kong) pro napájení svého vlastního produktu API Marketplace. Kong je k dispozici v edici open source nebo v komerční nabídce na podnikové úrovni (cena není zveřejněna) s dalšími funkcemi pro správu, monitorování a vývojáře. Podniková edice může běžet na místě nebo v cloudové službě dle výběru. Dokumentace pro produkty open source i pro podniky je bohatá a podrobná.

Kong poskytuje řadič Ingress pro integraci Kubernetes a síť služeb, která umožňuje „injektování“ funkcí Kongu do stávajícího nasazení služeb. Enterprise edition nabízí portál pro vývojáře zaměřený na usnadnění vytváření nových API a seznámení nových vývojářů s vaší kódovou základnou API.

Kong obvykle používá databázi, ale může také běžet v režimu bez databáze, pomocí konfiguračního souboru JSON / YAML a úložiště v paměti. To je nejlepší, pokud používáte pouze jeden minimální uzel, ale chcete maximální výkon.

KrakenD

KrakenD, napsaný v Go, přináší jen to nejnutnější, ale jako klíčovou vlastnost označuje vysoký výkon. KrakenD je dodáván jako jeden samostatný binární soubor, jak je tomu u většiny aplikací zabudovaných v Go. Alternativně je možné jej zkompilovat ze zdroje nebo použít jako knihovnu Go, pokud kolem něj chcete vytvořit vlastní aplikaci.

KrakenD používá konfigurační soubor, který lze ručně srolovat nebo generovat strojově. Omezení rychlosti, manipulace s odpověďmi, předávání, ladění koncových bodů, bezpečnostní opatření protokolu (např. Ochrana proti clickjackingu), proxy, stubbing a ukládání do mezipaměti odpovědí v paměti jsou podporovány ihned po vybalení z krabice.

Instance KrakenD lze seskupit pro vysokou dostupnost. K tomu není potřeba žádný další software, pouze samotný KrakenD. Můžete také nasadit KrakenD přes klastr Kubernetes bez další práce. Sortiment middlewaru třetích stran lze získat z úložiště KrakenD GitHub.

Podniková podpora, včetně poradenství a školení, je k dispozici od tvůrců KrakenD, i když ceny nejsou zveřejněny.

Platforma MuleSoft Anypoint

Platforma Anypoint od společnosti MuleSoft má být kompletní nabídkou - zahrnuje design API, konstrukci, hostování, správu, integraci a podporu vývojářů v jediném komerčním produktu.

S Anypoint můžete vyvíjet API od nuly nebo znovu použít stávající konektory a integrace vytvořené jinými zákazníky MuleSoft a sdílené na Anypoint Exchange. K dispozici jsou konektory pro obecné protokoly (přístup k souborům, HTTP, e-mail), jazykové moduly pro transformace dat (Java, JavaScript), cloudové služby (Amazon AWS), komerční aplikace (Salesforce, SAP) a aplikace s otevřeným zdrojovým kódem (MongoDB).

Pro ty, kteří vytvářejí API, která budou spotřebováváni partnery nebo veřejností, poskytuje Anypoint API Community Manager pro vytváření webových uživatelských rozhraní - což MuleSoft nazývá „portály“ - pro tato API. Interaktivní dokumentace, personalizace (včetně funkcí, jako je přizpůsobení výstupu na základě geolokace uživatele), a analýza využití API jsou zahrnuty.

Anypoint nabízí tři cenové plány, zlato, platinu a titan, které se liší podle úrovně zákaznické podpory a podnikových funkcí. Všechny tři plány zahrnují neomezený počet rozhraní API a za „prémiové“ konektory (např. Sálový konektor IBM AS / 400) se účtuje příplatek.

Netflix Zuul

Zuul, projekt s otevřeným zdrojovým kódem vytvořený inženýry společnosti Netflix, byl postaven interně pro zpracování požadavků na směrování služeb streamování videa společnosti Netflix. Neexistuje žádná komerční nabídka Zuul - přinejmenším ne od Netflixu - takže budete muset roztočit Zuul a spravovat jej zcela na vlastní pěst.

Zuul je napsán v Javě a pro uvedení do provozu používá běžné Java nástroje - Gradle, Ivy, Maven. Zuul nabízí relativně minimální sadu funkcí ve srovnání s jinými systémy správy API se zaměřením na filtrování a odesílání příchozích požadavků napříč službami. Zuul poskytuje funkce zjišťování služeb, vyvažování zátěže, sdružování připojení a ladění („pas požadavku“), ale postrádá sofistikovanější funkce, jako je vývojářské připojení a automatická dokumentace.

Zuul je aktivní projekt s mnoha novými funkcemi plánovanými pro budoucí verze. Připravovaný „filtr vyřazení“ například deaktivuje určité funkce, aby uvolnil CPU během období vysoké aktivity.

Tyku

Tyk ve výchozím nastavení zahrnuje hodně: bránu API, analytické nástroje, dev portál a řídicí panel. Zahrnuje také funkce pro zesměšňování rozhraní API před jejich oficiálním vydáním, integrované ukládání do mezipaměti požadavků (které lze zahrnout přímo do definice rozhraní API) a šablony odpovědí pro různé chybové kódy HTTP.

Tyk je k dispozici ve čtyřech vydáních, každé pro různé případy použití. Komunitní vydání, vydání společnosti Tyk v otevřeném zdrojovém kódu, obsahuje pouze bránu, která zpracovává proxy, řízení přístupu, transformace a protokolování. Svou vlastní funkcionalitu můžete zavádět přímo nebo klepnutím na Tykův plug-in ekosystém s podporou více jazyků.

Místní vydání vám umožní používat plně vybavený komerční produkt za bránou firewall. Licence pro jednu bránu - v zásadě edice pro vývojáře - jsou k dispozici zdarma, bez omezení volání API, ačkoli rozhraní API nelze použít v komerčním nastavení. Licence pro komerční použití začínají na 3000 $ ročně.

Edice cloud a multi-cloud, které jsou k dispozici pro řadu populárních cloudových služeb, poskytují Tyk jako hostovanou službu. Základní verze v jednom cloudu, která podporuje 1 000 volání API za den, je k dispozici zdarma (na rozdíl od poplatků poskytovatele cloudových služeb); pro-level plány začínají na 450 $ měsíčně.

Správce WSO2 API

WSO2 API Manager je v jádru produkt s otevřeným zdrojovým kódem, postavený na prostředí Java. Produkt je k dispozici pro místní nebo cloudové nasazení s komerční podporou nebo jako služba spravovaná v cloudu.

Různé možnosti nasazení umožňují řadu různých scénářů správy. Například nasazení on-prem WSO2 může mít své zásady a další konfiguraci vynuceny prostřednictvím vývojářského portálu hostovaného v cloudu, přičemž změny jsou buď synchronizovány mezi cloudem a prostorem, nebo pravidelně odesílány z cloudu (pro prostředí, které je zamčený).

WSO2 má asi 200 konektorů, které lze použít k připojení externích služeb. Mnoho z nich je běžných pro vývojáře: Slack, Splunk, Kafka, Redis, Amazon S3 atd.

Další funkce WSO2, „API microgateway“, zajišťuje, že určité druhy hovorů obdrží další zabezpečení a nižší latenci. Například volání používaná ke správě brány nebo volání směrovaná mezi mikroslužbami lze zpracovat tímto způsobem.

Nový doplněk WSO2 přidává integraci se sítí služeb Istio pro Kubernetes. Istio nespravuje API vystavená mikroslužbami, která spravuje, takže WSO2 se integruje s proxy Envoy, které k tomu používá Istio.

Ceny komerčních nabídek WSO2 začínají bezplatnou dvoutýdenní zkušební verzí s až jedním milionem volání API, pokračují na 550 $ měsíčně za 20 milionů hovorů a odtud se zvyšují až k konfiguracím na míru.

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