Programmering

10 bedste API-styringsværktøjer

Den moderne forretningsverden er softwaredrevet og API-drevet. Enhver applikation, hvad enten den er offentlig eller privat, har brug for effektive og praktiske API'er for at være virkelig nyttige. Opbygning og vedligeholdelse af API'er er hårdt arbejde, så det er ikke underligt, at hele klasser af software er sprunget op omkring API-styring.

De fleste API-styringsprodukter giver en fælles kobling af funktioner: routing og proxying, transformation af data og URL'er, dashboards og analyser, politikker og begrænsninger og udviklerværktøjer som dokumentationsgeneratorer. Her ser vi på 10 populære API-styringsværktøjer - open source-projekter, kommercielle produkter, cloud-tjenester og blandinger af samme - der tilbyder alt fra en komplet servicepakke til API'er til fokuserede værktøjer til specifikke scenarier.

3skala

Oprindeligt et lukket kildeprodukt blev 3scale erhvervet af Red Hat og åbent indkøbt efter omkring to års arbejde. Open source-projektet kan bruges frit under Apache-licensen, mens Red Hat tilbyder en kommercielt understøttet SaaS-implementering.

3scales funktioner er i tråd med de øvrige tilbud i denne roundup. Du finder API-version, adgangskontrol og hastighedsbegrænsning, sikkerhedskontrol og analyse. 3scale tilbyder også udviklervenlige funktioner såsom en udviklerportal og CMS til oprettelse af dokumentation til ens API'er. 3scale tilbyder også indbygget værktøj til at tjene penge på API'er, såsom fakturering og integration med betalingstjenester.

Hvis du agter at installere 3scale dig selv til produktion, skal du bruge Oracle Database og OpenShift. I betragtning af at selv en minimal 3-skala installation til test kræver Minishift, en OpenShift-klynge med en node, kan du bedst tjene ved at bruge den gratis 90-dages prøveversion af 3scale, hvis du vil komme i gang så hurtigt som muligt.

Pro-versionen starter ved $ 750 pr. Måned for 5.000 udviklerkonti, 500.000 API-opkald dagligt og op til tre API'er. Enterprise-versionen (pris tilgængelig på anmodning) fjerner de fleste af disse begrænsninger.

Ambassadør

Ambassador er et open source API-styringssystem bygget til at arbejde med Kubernetes. Ambassadør implementeres oven på Envoy-proxyen, som håndterer netværksabstraktion for mikrotjenester, så det meste af det tunge løft udføres af Envoy og Kubernetes.

Ambassadørs funktionssæt er på linje med de fleste andre API-styringsværktøjer derude: URL-omskrivning og anmodning om routing, filtrering, godkendelse og adgangskontrol, hastighedsbegrænsning og timeouts og integration med logning, fejlfinding og synlighedsværktøjer.

Imidlertid drejer størstedelen af ​​ambassadørens funktioner sig om runtime management og integration med Kubernetes og andre Kubernetes-værktøjer (f.eks. Prometheus). Ambassador overlader designet og deklarativ konfiguration af API'er helt til brugeren. Funktioner som API-versionering understøttes ikke indbygget; du skal håndtere sådanne ting alene. Det gør Ambassador bedst egnet til at arbejde med API'er som en del af en Kubernetes-implementering snarere end som en generel API-styringsløsning.

Apiman

Apiman - tidligere “JBoss Apiman” - er et open source-projekt fra Red Hat bygget i Java. Selvom det stadig vedligeholdes af Red Hat, ser det ud til, at det meste af Red Hats aktive udvikling inden for API-styring er flyttet til sit 3Scale-produkt.

Apiman koncentrerer sig om det grundlæggende - udgivelse og administration af API'er, tilvejebringelse af rollebaseret adgang til disse funktioner, indstilling af politikker omkring API-brug, indsamling af runtime og faktureringsmetrics og oprettelse af top-down organisationsstrukturer for alle disse elementer.

Apiman kan indstille politikker for API'er omkring sikkerhed, ressourcer (f.eks. Hastighedsbegrænsning), transformation af data, caching og logning. Politikker konfigureres via JSON, så de kan læses og redigeres af både mennesker og maskiner. Sikkerhedspolitikker kan anvendes efter brugeridentitet eller rolle, og API'er kan kontrolleres løst eller tæt. Du kan udgive API'er med revisions-id'et i URL'en og ingen kontrakt, der er knyttet til deres brug eller du kan kræve en API-nøgle og styre nøje, hvordan de er versioneret.

Mest alt ud over det grundlæggende er dit ansvar. For eksempel, mens et antal plug-ins til Apiman er tilgængelige, svarer de generelt til små udvidelser til Apiman-funktionalitet, leveret af kerneprojektvedligeholdere.

DreamFactory

DreamFactory API-styringsplatformen er bygget med Laravel-rammen i PHP. DreamFactory fås som et gratis open source-tilbud eller med forskellige niveauer af kommerciel support (prisfastsættelse ikke offentliggjort). Det er et naturligt valg for udviklere, der allerede har investeret i PHP, og som ønsker at grave i implementeringen af ​​open source. DreamFactory tilbyder også integrering af serverside-scripting med Node.js og Python.

DreamFactory's "Datamesh" -funktion, der er tilgængelig uden for kassen i alle dens inkarnationer, giver dig mulighed for at kombinere resultater fra flere, heterogene databaseopkald - inklusive til forskellige databaseprodukter - og returnere resultaterne som et enkelt API-opkald. Ligeledes kan tabelopdateringer på tværs af flere databaser kombineres til et enkelt API-opkald.

DreamFactory-dokumentationen mangler en enkelt, kanonisk, søgbar liste over alle de tilgængelige tjenester. Oplysningerne er organiseret efter kategori, så du skal udføre manuel boring ned for at finde ud af, hvad der er tilgængeligt. På forsiden indeholder dokumenterne mange vejledningsvideoer til specifikke brugssager, som f.eks. Opsætning af en simpel applikation eller oprettelse af forbindelse til forskellige datakilder.

Kong

Kong er et af de bedst kendte API-styringsværktøjer, oprindeligt oprettet af Mashape (omdøbt til Kong) for at drive sit eget API-markedspladsprodukt. Kong er tilgængelig i en open source-udgave eller i et kommercielt tilbud (prisfastsættelse ikke offentliggjort) af virksomhedsklasse med yderligere styrings-, overvågnings- og udviklerfunktioner. Virksomhedsudgaven kan køre on-prem eller i en valgt cloudtjeneste. Dokumentationen for både open source- og enterprise-produkter er rigelig og detaljeret.

Kong leverer en Ingress-controller til Kubernetes-integration og et servicenet, der gør det muligt for Kongs funktionalitet at blive "injiceret" i en eksisterende implementering af tjenester. Virksomhedsudgaven tilbyder en udviklerportal, der har til formål at lette oprettelsen af ​​nye API'er og gøre nye udviklere fortrolige med din API-kodebase.

Kong bruger normalt en database, men kan også køre i en databasefri tilstand ved hjælp af en JSON / YAML-konfigurationsfil og lagring i hukommelsen. Dette er bedst, hvis du kun kører en enkelt, minimal node, men ønsker maksimal ydelse.

Kraken D.

KrakenD, skrevet i Go, leverer kun det væsentlige, men viser høj ydeevne som en nøglefunktion. KrakenD leveres som en enkelt, selvstændig binær, som det er tilfældet med de fleste applikationer, der er indbygget i Go. Alternativt kan den kompileres fra kilden eller bruges som et Go-bibliotek, hvis du vil bygge din egen applikation omkring den.

KrakenD bruger en konfigurationsfil, som kan håndrulles eller maskingenereres. Hastighedsbegrænsning, manipulation af svar, videresendelse, slutpunktsfejlfinding, protokolsikkerhedsforanstaltninger (f.eks. Beskyttelse mod clickjacking), proxying, stubbing og caching i hukommelsesrespons understøttes alle ud af kassen.

KrakenD-forekomster kan grupperes for høj tilgængelighed. Ingen yderligere software er nødvendig for at gøre dette, bare KrakenD selv. Du kan også implementere KrakenD på tværs af en Kubernetes-klynge uden meget ekstra arbejde. Et udvalg af tredjeparts middleware kan fås fra KrakenD GitHub-lageret.

Virksomhedsstøtte, herunder rådgivning og træning, er tilgængelig fra KrakenDs skabere, selvom priser ikke er oplyst.

MuleSoft Anypoint-platform

MuleSofts Anypoint Platform er beregnet til at være et komplet tilbud - det dækker API-design, konstruktion, hosting, ledelse, integration og udvikler support i et enkelt, kommercielt produkt.

Med Anypoint kan du udvikle API'er fra bunden eller genbruge eksisterende stik og integrationer oprettet af andre MuleSoft-kunder og delt i Anypoint Exchange. Stik er tilgængelige til generiske protokoller (filadgang, HTTP, e-mail), sprogmoduler til datatransformationer (Java, JavaScript), cloudtjenester (Amazon AWS), kommercielle applikationer (Salesforce, SAP) og open source-applikationer (MongoDB).

For dem, der opretter API'er, der forbruges af partnere eller offentligheden, giver Anypoint API Community Manager til at oprette web-UI'er - hvad MuleSoft kalder "portaler" - til disse API'er. Interaktiv dokumentation, personalisering (inklusive funktioner som skræddersy output baseret på brugerens geolokalisering) og API-brugsanalyse er alle inkluderet.

Anypoint tilbyder tre prisplaner, guld, platin og titanium, som varierer afhængigt af kundesupport og virksomhedsfunktioner. Alle tre planer inkluderer ubegrænsede API'er og opkræver ekstra for "premium" -stik (f.eks. IBM AS / 400 mainframe-stik).

Netflix Zuul

Zuul, et open source-projekt oprettet af ingeniørerne hos Netflix, blev bygget internt til at håndtere ruteanmodninger til Netflix's videostreamingtjenester. Der er ikke noget kommercielt Zuul-tilbud - i det mindste ikke fra Netflix - så du bliver nødt til at spin Zuul op og administrere det helt alene.

Zuul er skrevet på Java, og den bruger almindelige Java-værktøjer - Gradle, Ivy, Maven - til at komme i gang. Zuul tilbyder et relativt minimalt funktionssæt sammenlignet med andre API-styringssystemer, der fokuserer på filtrering og afsendelse af indgående anmodninger på tværs af tjenester. Zuul leverer ikke opdagelsesfunktioner, belastningsafbalancering, sammenkobling af forbindelser og fejlretningsfunktioner (”anmodningspas”), men mangler mere sofistikerede funktioner såsom udvikler ombordstigning og automatisk dokumentation.

Zuul er et aktivt projekt med mange nye funktioner planlagt til fremtidige versioner. Det kommende "brownout-filter" vil f.eks. Deaktivere visse funktioner for at frigøre CPU'en i perioder med høj aktivitet.

Tyk

Tyk inkluderer en hel del som standard: API-gatewayen, analyseværktøjer, en dev-portal og et management dashboard. Det inkluderer også funktionalitet til mocking af API'er, før de formelt frigives, indbygget caching af anmodninger (som kan inkluderes direkte i en API-definition) og svarskabeloner til forskellige HTTP-fejlkoder.

Tyk fås i fire udgaver, hver til forskellige brugssager. Community-udgaven, Tyk's open source-udgivelse, inkluderer kun gatewayen, der håndterer proxy, adgangskontrol, transformationer og logning. Du kan rulle din egen funktionalitet direkte eller ved at trykke på Tyk's plug-in-økosystem med understøttelse af flere sprog.

Den lokale udgave giver dig mulighed for at bruge det komplette kommercielle produkt bag din firewall. Single gateway-licenser - i det væsentlige udviklerudgaver - er tilgængelige gratis uden API-opkaldsgrænser, selvom API'erne ikke kan bruges i kommercielle indstillinger. Licenser til kommerciel brug begynder ved $ 3000 om året.

Cloud- og multi-cloud-udgaverne, der er tilgængelige for en række populære skytjenester, leverer Tyk som en hostet tjeneste. En grundlæggende single-cloud-version, der understøtter 1.000 API-opkald pr. Dag, er tilgængelig gratis (bortset fra hvad din cloudtjenesteudbyder opkræver); pro-plan planer starter ved $ 450 pr. måned.

WSO2 API Manager

WSO2 API Manager er kernen i et open source-produkt, bygget med Java. Produktet er tilgængeligt til on-prem eller cloud-hosted implementering med kommerciel support eller som en cloud-administreret tjeneste.

De forskellige implementeringsmuligheder giver mulighed for en række forskellige ledelsesscenarier. For eksempel kan en lokal WSO2-implementering få sine politikker og anden konfiguration håndhævet ved hjælp af en cloud-hostet udviklerportal, hvor ændringerne enten synkroniseres mellem sky og lokaler eller skubbes periodisk fra skyen (for miljøer, der skal være låst ned).

WSO2 har omkring 200 stik, der kan bruges til at tilslutte eksterne tjenester. Mange er almindelige udviklerhæfteklammer: Slack, Splunk, Kafka, Redis, Amazon S3 og så videre.

En anden WSO2-funktion, "API microgateway", sikrer, at visse typer opkald modtager yderligere sikkerhed og lavere latenstid. For eksempel kan opkald, der bruges til at administrere gatewayen, eller opkald dirigeret mellem mikrotjenester håndteres på denne måde.

En ny tilføjelse til WSO2 tilføjer integration med Istio-servicenettet til Kubernetes. Istio administrerer ikke de API'er, der er eksponeret af de mikrotjenester, den administrerer, så WSO2 integreres med Envoy-proxyen, der bruges af Istio til at gøre det.

Prissætning for WSO2s kommercielle tilbud starter med en gratis to-ugers prøveperiode med op til en million API-opkald, fortsætter til $ 550 pr. Måned for 20 millioner opkald og skaleres derfra til skræddersyede konfigurationer.