Programmering

10 beste API-styringsverktøy

Den moderne næringslivet er programvaredrevet og API-drevet. Enhver applikasjon, enten offentlig eller privat, trenger kraftige og praktiske API-er for å være virkelig nyttige. Å bygge og vedlikeholde APIer er hardt arbeid, så det er ikke rart at hele klasser av programvare har vokst opp rundt API-administrasjon.

De fleste API-administrasjonsprodukter har en vanlig kobling av funksjoner: ruting og proxying, transformasjon av data og URL-er, dashbord og analyse, policyer og begrensninger, og utviklerverktøy som dokumentasjonsgeneratorer. Her ser vi på 10 populære API-administrasjonsverktøy - åpen kildekode-prosjekter, kommersielle produkter, skytjenester og mikser av samme - som tilbyr alt fra en fullservicesuite for API-er til fokuserte verktøy for spesifikke scenarier.

3skala

Opprinnelig var et lukket kildeprodukt, 3scale ble kjøpt opp av Red Hat og åpent fra rundt to års arbeid. Open source-prosjektet kan brukes fritt under Apache-lisensen, mens Red Hat tilbyr en kommersielt støttet SaaS-implementering.

3scales funksjoner er i tråd med de andre tilbudene i denne sammendraget. Du finner API-versjon, tilgangskontroll og hastighetsbegrensning, sikkerhetskontroll og analyse. 3scale tilbyr også utviklervennlige funksjoner som en utviklerportal og CMS for å lage dokumentasjon for ens API-er. 3scale tilbyr også innebygde verktøy for inntektsgenerering av API-er, for eksempel fakturering og integrering med betalingstjenester.

Hvis du har tenkt å installere 3scale selv for produksjon, trenger du Oracle Database og OpenShift. Gitt at selv en minimal 3-skala installasjon for testing krever Minishift, en OpenShift-klynge med en node, kan du tjene best ved å bruke den gratis 90-dagers prøveversjonen av 3scale hvis du vil komme i gang så raskt som mulig.

Pro-versjonen starter på $ 750 per måned for 5000 utviklerkontoer, 500 000 API-samtaler daglig og opptil tre API-er. Enterprise-versjonen (pris tilgjengelig på forespørsel) fjerner de fleste av disse begrensningene.

Ambassadør

Ambassador er et open source API-styringssystem bygget for å jobbe med Kubernetes. Ambassadør er implementert på toppen av Envoy-proxyen, som håndterer nettverksabstrahering for mikrotjenester, så det meste av tunge løft gjøres av Envoy og Kubernetes.

Ambassadors funksjonssett er i tråd med de fleste andre API-administrasjonsverktøyene der ute: URL-omskriving og ruteforespørsel, filtrering, autentisering og tilgangskontroll, hastighetsbegrensning og tidsavbrudd, og integrering med verktøy for logging, feilsøking og synlighet.

Imidlertid dreier flertallet av Ambassadors funksjoner seg om kjøretidsadministrasjon og integrering med Kubernetes og andre Kubernetes-verktøy (f.eks. Prometheus). Ambassador overlater design og deklarativ konfigurasjon av APIer helt til brukeren. Funksjoner som API-versjonering støttes ikke naturlig; du må håndtere slike ting på egen hånd. Det gjør Ambassador best egnet for å jobbe med API-er som en del av en Kubernetes-distribusjon, snarere enn som en generell API-administrasjonsløsning.

Apiman

Apiman - tidligere “JBoss Apiman” - er et open source-prosjekt fra Red Hat bygget i Java. Selv om det fortsatt vedlikeholdes av Red Hat, ser det ut til at det meste av Red Hats aktive utvikling innen API-administrasjon har flyttet til sitt 3Scale-produkt.

Apiman konsentrerer seg om det grunnleggende - å publisere og administrere API-er, gi rollebasert tilgang til disse funksjonene, sette policyer rundt API-bruk, samle beregningstid for kjøretid og fakturering, og lage organisasjonsstrukturer fra oven og ned for alle disse elementene.

Apiman kan sette retningslinjer for APIer rundt sikkerhet, ressurser (f.eks. Hastighetsbegrensning), transformasjoner av data, hurtigbufring og logging. Retningslinjer konfigureres via JSON, slik at de kan leses og redigeres av både mennesker og maskiner. Sikkerhetspolicyer kan brukes av brukeridentitet eller rolle, og API-er kan løses eller tett kontrolleres. Du kan publisere APIer med revisjons-ID i URL-en og ingen kontrakt knyttet til bruken av dem. eller du kan kreve en API-nøkkel og håndtere nøye hvordan de er versjonert.

Mest alt utover det grunnleggende er ditt ansvar. For eksempel, mens en rekke plugin-moduler for Apiman er tilgjengelige, utgjør de vanligvis små utvidelser av Apiman-funksjonalitet, levert av kjerneprosjektansvarlige.

DreamFactory

DreamFactory API-administrasjonsplattformen er bygget med Laravel-rammeverket i PHP. DreamFactory er tilgjengelig som et gratis open source-tilbud, eller med varierende nivåer av kommersiell støtte (priser ikke oppgitt). Det er et naturlig valg for utviklere som allerede har investert i PHP, og som ønsker å grave i åpen kildekode-implementering. DreamFactory tilbyr også skriptintegrasjon på serversiden med Node.js og Python.

DreamFactory's "Datamesh" -funksjon, tilgjengelig utenfor boksen i alle dens inkarnasjoner, lar deg kombinere resultater fra flere, heterogene databasesamtaler - inkludert til forskjellige databaseprodukter - og returnere resultatene som en enkelt API-samtale. På samme måte kan tabelloppdateringer på tvers av flere databaser kombineres til en enkelt API-samtale.

DreamFactory-dokumentasjonen mangler en enkelt, kanonisk, søkbar liste over alle tilgjengelige tjenester. Informasjonen er organisert etter kategori, så du må utføre manuell boring for å finne ut hva som er tilgjengelig. På forsiden inneholder dokumentene mange instruksjonsvideoer for spesifikke brukstilfeller, som å sette opp et enkelt program eller koble til forskjellige datakilder.

Kong

Kong er et av de mest kjente API-styringsverktøyene, opprinnelig opprettet av Mashape (omdøpt Kong) for å drive sitt eget API-markedsplassprodukt. Kong er tilgjengelig i en åpen kildekode-utgave eller i et kommersielt tilbud av bedriftsklasse (priser ikke oppgitt) med tilleggsadministrasjon, overvåking og utviklerfunksjoner. Enterprise-utgaven kan kjøres på stedet eller i en valgt skytjeneste. Dokumentasjon for både open source og enterprise-produkter er rikelig og detaljert.

Kong tilbyr en Ingress-kontroller for Kubernetes-integrering, og et servicenett som gjør at Kongs funksjonalitet kan "injiseres" i en eksisterende distribusjon av tjenester. Enterprise-utgaven tilbyr en utviklerportal som tar sikte på å lette opprettelsen av nye APIer og gjøre nye utviklere kjent med API-kodebasen din.

Kong bruker normalt en database, men kan også kjøre i en databaseløs modus ved hjelp av en JSON / YAML-konfigurasjonsfil og lagring i minnet. Dette er best hvis du bare kjører en enkelt, minimal node, men ønsker maksimal ytelse.

KrakenD

KrakenD, skrevet i Go, leverer bare det essensielle, men viser til høy ytelse som en nøkkelfunksjon. KrakenD leveres som en enkelt, selvstendig binær, slik det er tilfelle med de fleste applikasjoner som er innebygd i Go. Alternativt kan den kompileres fra kilden, eller brukes som et Go-bibliotek hvis du vil bygge din egen applikasjon rundt den.

KrakenD bruker en konfigurasjonsfil, som kan håndrulles eller maskingenereres. Hastighetsbegrensning, manipulering av svar, videresending, endepunktfeilsøking, protokollsikkerhetstiltak (f.eks. Beskyttelse mot clickjacking), proxying, stubbing og responsbufring i minnet støttes alle ut av esken.

KrakenD-forekomster kan grupperes for høy tilgjengelighet. Ingen ekstra programvare er nødvendig for å gjøre dette, bare KrakenD selv. Du kan også distribuere KrakenD over en Kubernetes-klynge uten mye ekstra arbeid. Et utvalg av mellomvare fra tredjepart kan fås fra KrakenD GitHub-depotet.

Bedriftsstøtte, inkludert rådgivning og opplæring, er tilgjengelig fra KrakenDs skapere, selv om priser ikke er oppgitt.

MuleSoft Anypoint-plattform

MuleSofts Anypoint Platform er ment å være et komplett tilbud - det dekker API-design, konstruksjon, hosting, administrasjon, integrasjon og utviklerstøtte i et enkelt, kommersielt produkt.

Med Anypoint kan du utvikle API-er fra bunnen av, eller bruke eksisterende kontakter og integrasjoner som er opprettet av andre MuleSoft-kunder og delt på nytt i Anypoint Exchange. Kontakter er tilgjengelig for generiske protokoller (filtilgang, HTTP, e-post), språkmoduler for datatransformasjoner (Java, JavaScript), skytjenester (Amazon AWS), kommersielle applikasjoner (Salesforce, SAP) og applikasjoner med åpen kildekode (MongoDB).

For de som lager APIer som vil bli konsumert av partnere eller publikum, gir Anypoint API Community Manager til å lage web-UI-er - det MuleSoft kaller "portaler" -for disse API-ene. Interaktiv dokumentasjon, personalisering (inkludert funksjoner som å tilpasse utdata basert på brukerens geolokalisering) og API-bruksanalyse er alt inkludert.

Anypoint tilbyr tre prisplaner, gull, platina og titan, som varierer etter nivå på kundesupport og bedriftsfunksjoner. Alle tre planene inkluderer ubegrensede APIer og koster ekstra for "premium" -kontakter (f.eks. IBM AS / 400-hovedrammekontakten).

Netflix Zuul

Zuul, et open source-prosjekt opprettet av ingeniørene på Netflix, ble bygget internt for å håndtere ruteforespørsler til Netflix videostreamingtjenester. Det er ikke noe kommersielt Zuul-tilbud - i det minste ikke fra Netflix - så du må spinne Zuul opp og administrere det helt alene.

Zuul er skrevet på Java, og den bruker vanlige Java-verktøy - Gradle, Ivy, Maven - for å komme i gang. Zuul tilbyr et relativt minimalt funksjonssett sammenlignet med andre API-styringssystemer, med fokus på filtrering og utsendelse av innkommende forespørsler på tvers av tjenester. Zuul tilbyr funksjoner for oppdagelse av tjenester, lastbalansering, tilkobling av tilkoblinger og feilsøking ("forespørselspass"), men mangler mer sofistikerte funksjoner som utvikler ombordstigning og automatisk dokumentasjon.

Zuul er et aktivt prosjekt med mange nye funksjoner planlagt for fremtidige versjoner. Det kommende "brownout-filteret", for eksempel, vil deaktivere visse funksjoner for å frigjøre CPUen i perioder med høy aktivitet.

Tyk

Tyk inkluderer mye som standard: API-gateway, analyseverktøy, en dev-portal og et administrasjonsdashboard. Den inkluderer også funksjonalitet for spottende API-er før de formelt frigjøres, innebygd hurtigbufring av forespørsler (som kan inkluderes direkte i en API-definisjon) og svarmaler for forskjellige HTTP-feilkoder.

Tyk er tilgjengelig i fire utgaver, hver for forskjellige bruksområder. Community-utgaven, Tyk's open source release, inkluderer bare gatewayen, som håndterer proxy, tilgangskontroll, transformasjoner og logging. Du kan rulle din egen funksjonalitet direkte, eller ved å tappe på Tyk’s plug-in økosystem, med støtte for flere språk.

Den lokale utgaven lar deg bruke det komplette kommersielle produktet bak brannmuren. Single gateway lisenser - utviklerutgaver, i det vesentlige - er tilgjengelig gratis, uten API-samtalegrenser, selv om API-ene ikke kan brukes i kommersielle innstillinger. Lisenser for kommersiell bruk starter på $ 3000 per år.

Cloud- og multi-cloud-utgavene, tilgjengelig for en rekke populære skytjenester, gir Tyk som en vertstjeneste. En grunnleggende single-cloud-versjon som støtter 1000 API-samtaler per dag er tilgjengelig gratis (bortsett fra hva skytjenesteleverandøren din koster); pro-level planer starter på $ 450 per måned.

WSO2 API Manager

WSO2 API Manager er kjernen i et open source-produkt, bygget med Java. Produktet er tilgjengelig for distribusjon på stedet eller i skyen med kommersiell støtte, eller som en skyadministrert tjeneste.

De forskjellige distribusjonsalternativene tillater en rekke forskjellige administrasjonsscenarier. For eksempel kan en lokal WSO2-distribusjon ha sine policyer og annen konfigurasjon håndhevet ved hjelp av en skyhostet utviklerportal, med endringene enten synkronisert mellom sky og lokaler, eller skyves regelmessig fra skyen (for miljøer som må være stengt).

WSO2 har rundt 200 kontakter som kan brukes til å koble sammen eksterne tjenester. Mange er vanlige utviklerstifter: Slack, Splunk, Kafka, Redis, Amazon S3, og så videre.

En annen WSO2-funksjon, "API microgateway", sikrer at visse typer samtaler får ekstra sikkerhet og lavere ventetid. For eksempel kan anrop som brukes til å administrere gatewayen, eller samtaler dirigert mellom mikrotjenester, håndteres på denne måten.

Et nytt tillegg til WSO2 legger til integrasjon med Istio servicenett for Kubernetes. Istio administrerer ikke API-ene som er eksponert av mikrotjenestene den administrerer, så WSO2 integreres med Envoy-proxyen som brukes av Istio for å gjøre det.

Priser for WSO2s kommersielle tilbud starter med en gratis prøveperiode på to uker med opptil en million API-samtaler, fortsetter til $ 550 per måned for 20 millioner samtaler, og skaleres opp derfra til skreddersydde konfigurasjoner.

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