API gateway

Een API gateway is een softwarepatroon dat voor een application programming interface (API) of groep van microservices zit, om aanvragen en levering van gegevens en diensten te vergemakkelijken. De primaire rol is om te fungeren als een enkel toegangspunt en gestandaardiseerd proces voor interacties tussen de apps, data en diensten van een organisatie en interne en externe klanten. De API-gateway kan ook diverse andere functies uitvoeren om het API-gebruik te ondersteunen en te beheren, van authenticatie tot tariefbeperking en analyse.

Dit brede scala aan mogelijkheden maakt de API-gateway tot een essentieel onderdeel van een enterprise API-strategie.

Hoe werkt een API-gateway?

API's stellen afzonderlijke toepassingen in staat met elkaar te communiceren en gegevens uit te wisselen binnen en buiten een bedrijf. De API gateway biedt een centraal punt en een standaard interface om deze activiteiten uit te voeren. Het ontvangt verzoeken van interne en externe bronnen, genaamd "API calls," en verpakt meerdere verzoeken, routeert ze naar de juiste API of API's, en ontvangt en levert de antwoorden aan de gebruiker of het apparaat dat het verzoek heeft gedaan.

API gateways zijn ook de sleutel tot een microservices-gebaseerde architectuur, waarin verzoeken om gegevens een beroep doen op tal van toepassingen en diensten die gebruik maken van meerdere, ongelijksoortige API's. Hier is de rol van de API-gateway vergelijkbaar: Zorg voor een single point of entry voor een gedefinieerde groep microservices, en pas policies toe om hun beschikbaarheid en gedrag te bepalen.

API-gateways voeren vaak ook andere functies uit die met API's en microservices te maken hebben:

  • protocolvertaling
  • serviceontdekking
  • basisbedrijfslogica
  • authenticatie en afdwinging van beveiligingsbeleid
  • stabilisatie en load balancing
  • cachebeheer
  • monitoring, logging en analyse

API-gateway vs. API proxy. An alternative to the API gateway is an API proxy, which is basically a subset of an API gateway that provides minimal processing for API requests. The API proxy handles communication, including protocol translation, between specific software platforms, such as a proxy endpoint and target API. It can also control the flow of traffic between sending and receiving points. However, API gateways typically possess better performance analysis and monitoring capabilities.

This article is part of

Guide to building an enterprise API strategy

  • Which also includes:
  • 5 major reasons to adopt an API management platform
  • 10 API security guidelines and best practices
  • API testing checklist and best practices

Download1

Download this entire guide for FREE now!

API-gateway vs. service mesh. In essentie vergemakkelijkt service mesh ook de communicatie van en naar de services van een onderneming met wat load balancing en andere functionaliteit. Een service mesh zorgt echter meestal voor interne communicatie en speelt een rol op het niveau van netwerkbeheer; een API-gateway faciliteert interacties met externe gebruikers en apparaten, maar ook met interne bronnen, en bevindt zich op de toepassingslaag. Op deze manier kunnen hun rollen complementair zijn -- API gateways kunnen bijvoorbeeld een toegangspunt tot een mesh zijn, terwijl sommige API gateways plugins aanbieden om zelf een service mesh te vormen.

Een diagram van het basis API gateway patroon Een diagram van het basis API gateway patroon

Wie gebruikt API gateways en waarom?

De API-gateway is het centrale punt voor API-berichtenverkeer, voor het organiseren en stroomlijnen van API-activiteiten en uitwisselingen met interne en externe klanten. Dat beheer en overzicht stelt een bedrijf ook in staat om een breed scala van API's en integraties centraal te bekijken en te controleren, in plaats van te proberen om API's afzonderlijk te volgen en te beheren. API-gateways omvatten doorgaans monitoring- en logging-mogelijkheden om oproepen en reacties vast te leggen en te analyseren, zodat de veiligheid kan worden gewaarborgd en fouten kunnen worden geëvalueerd.

API-gateways kunnen ook andere functionaliteit ondersteunen die API's regelt. Beleidsmanagers gebruiken bijvoorbeeld logische verklaringen die via een API-gateway worden uitgevoerd om de beschikbaarheid en het gedrag van de API te bepalen, zoals de manier waarop de gegevensstroom wordt geregeld, of hoe de oproepen en de doorvoer van API-aanroepen worden beperkt.

Organisaties die een op microservices gebaseerde architectuur hebben ingevoerd, vertrouwen eveneens op API-gateways om de communicatie tussen die services te vergemakkelijken.

API-gateways spelen ook een rol bij het stroomlijnen van B2B-integratie als alternatief voor legacy-benaderingen zoals elektronische gegevensuitwisseling.

Voordelen en uitdagingen van API-gateways

Het belangrijkste voordeel van een API-gateway is dat deze de levering van services via API's of microservices standaardiseert en centraliseert. Daarnaast helpen API-gateways op een aantal manieren bij het beveiligen en organiseren van de API-integraties van een organisatie.

  • Vereenvoudig de levering van services. API-gateways kunnen meerdere API-calls combineren om gegevens en services op te vragen en op te halen, waardoor het volume van aanvragen en verkeer wordt verminderd. Dit stroomlijnt het API-proces en kan de gebruikerservaring verbeteren, met name voor mobiele toepassingen.
  • Bied flexibiliteit. API-gateways zijn in hoge mate configureerbaar. Ontwikkelaars kunnen de interne structuur van een toepassing op meerdere manieren inkapselen, meerdere back-end services aanroepen en de resultaten aggregeren.
  • Verleng legacy applicaties. Ondernemingen die afhankelijk zijn van legacy applicaties kunnen API gateways gebruiken om met die apps te werken en zelfs hun functionaliteit uit te breiden, als alternatief voor een bredere en ingewikkeldere (en duurdere) migratie.
  • Bijdragen aan monitoring en waarneembaarheid. De meeste organisaties vertrouwen op specifieke tools voor het monitoren van activiteiten via API's, maar een API-gateway kan deze inspanningen ondersteunen. API gateway logs kunnen helpen bij het lokaliseren van een probleem tijdens een monitoring failure event.

De API gateway is de poortwachter tussen API consumenten en leveranciers, en die brede rol brengt unieke uitdagingen met zich mee.

  • Betrouwbaarheid en veerkracht. Elke aantasting of belemmering van de functionaliteit van de API gateway kan leiden tot het uitvallen van bijbehorende services. Ondernemingen moeten op hun hoede zijn voor het toevoegen van functies die de prestaties beïnvloeden, vooral omdat de API-gateway een extra processtap vormt tussen klanten en toepassingen of gegevens.
  • Veiligheid. De API-gateway is een vertrouwde bron die vele hoeken van de onderneming raakt. Als deze wordt gecompromitteerd, kan dit een ernstig en verstrekkend beveiligingsprobleem opleveren. Bedrijven moeten externe interfaces zorgvuldig scheiden van interne API's en systemen, en authenticatie- en autorisatieparameters definiëren.
  • Complexiteit en afhankelijkheden. Ontwikkelaars moeten de API-gateway bijwerken wanneer een API of microservice wordt toegevoegd, gewijzigd of verwijderd. Dit is vooral een uitdaging in een model waarin een paar toepassingen kunnen uitgroeien tot tientallen of honderden microservices. Het opstellen en naleven van API- en microservicesontwerpregels kan helpen deze problemen te beperken.

Wat zijn de verschillende soorten API-gatewayproducten?

Gezien het centrale belang van de API-gateway in de huidige API-economie, bieden veel leveranciers API-gateways aan als standalone tools of functionaliteit gebundeld in bredere API-beheerplatforms.

Voorbeelden van leveranciers van API-beheerplatforms die een soort API-gatewayfunctionaliteit bevatten, zijn Akana, Mulesoft, Postman, Tibco, Workato en anderen.

Organisaties kunnen ook afzonderlijk bepaalde API-gatewaytools aanschaffen en gebruiken. Voorbeelden zijn Apigee (nu onderdeel van Google Cloud), Express Gateway, Kong Gateway, Oracle API Gateway en Tyk API Gateway.

De belangrijkste publieke cloudproviders bieden API-beheerplatforms: AWS API Gateway, Microsoft Azure API Management en Google Cloud Endpoints. Ze bieden ook API gateway tools die specifiek zijn voor hun platformen: Amazon API Gateway, Azure API Gateway en Google Cloud API Gateway (in bèta vanaf januari 2021).

Factoren die in overweging moeten worden genomen bij de evaluatie van een API-gateway. Bedrijven moeten verschillende criteria afwegen bij de keuze van een API-gateway, waaronder de volgende:

  • Propriëtair versus open source. Een bedrijf dat een API-gateway van een leverancier evalueert, gebruikt mogelijk al andere producten van die leverancier. Voorbeelden zijn Oracle, of de grote publieke cloudproviders (AWS, Microsoft Azure, Google Cloud). Aan de andere kant zijn veel bedrijven comfortabel met open source tools en in-house ondersteuning.
  • Architectuur. Sommige API-gateway-tools leggen de nadruk op eenvoud, terwijl andere de nadruk leggen op uitbreidbaarheid. Ze ondersteunen ook vaak verschillende databasesystemen, zoals PostgreSQL, Cassandra, Redis of MongoDB. Zoals hierboven vermeld, kunnen bedrijven die al vertrouwen op een bepaalde cloud-provider de voorkeur geven aan de API-gateway van die provider.
  • Aanpassing. Sommige API-gateways, met name open source-opties, bieden meer mogelijkheden voor maatwerk, waarvoor in-house expertise nodig is. Echter, sommige API gateways vertrouwen op verschillende programmeertalen, zoals Golang of Lua. Zorg ervoor dat de vaardigheden van het IT-personeel overeenkomen met een dergelijke vereiste. Het gebruik van plugins kan dit probleem gedeeltelijk ondervangen.