API-gateways verkennen
Uw oplossing kan verschillende front- en back-endservices bevatten. Hoe weet een client in dit scenario welke eindpunten moeten worden aangeroepen? Wat gebeurt er wanneer nieuwe services worden geïntroduceerd of bestaande services worden geherstructureerd? Hoe verwerken services SSL-beëindiging, -verificatie en andere problemen?
De API Management-gateway (ook wel gegevensvlak of runtime genoemd) is het serviceonderdeel dat verantwoordelijk is voor het proxyen van API-aanvragen, het toepassen van beleid en het verzamelen van telemetriegegevens.
Een API-gateway bevindt zich tussen clients en services. Het fungeert als een omgekeerde proxy, routeringsaanvragen van clients naar services. Het kan ook verschillende kruislingse taken uitvoeren, zoals verificatie, SSL-beëindiging en frequentiebeperking. Als u geen gateway implementeert, moeten clients aanvragen rechtstreeks verzenden naar back-endservices. Er zijn echter enkele mogelijke problemen met het rechtstreeks beschikbaar maken van services aan clients:
- Dit kan leiden tot complexe clientcode. De client moet meerdere eindpunten bijhouden en fouten op een flexibele manier afhandelen.
- Er wordt een koppeling gemaakt tussen de client en de back-end. De client moet weten hoe de afzonderlijke services worden uitgesplitsd. Dat maakt het moeilijker om de client te onderhouden en ook om services te herstructureren.
- Voor één bewerking zijn mogelijk aanroepen naar meerdere services vereist.
- Elke openbare service moet problemen afhandelen, zoals verificatie, SSL en clientsnelheidsbeperking.
- Services moeten een clientvriendelijk protocol beschikbaar maken, zoals HTTP of WebSocket. Dit beperkt de keuze van communicatieprotocollen.
- Services met openbare eindpunten zijn een potentieel kwetsbaarheid voor aanvallen en moeten worden beperkt.
Een gateway helpt bij het oplossen van deze problemen door clients los te koppelen van services.
Beheerd en zelf-hostend
API Management biedt beheerde en zelf-hostende gateways:
Beheerd : de beheerde gateway is het standaardgatewayonderdeel dat wordt geïmplementeerd in Azure voor elk API Management-exemplaar in elke servicelaag. Met de beheerde gateway stroomt al het API-verkeer via Azure, ongeacht waar back-ends die de API's implementeren, worden gehost.
Zelf-hostend : de zelf-hostende gateway is een optionele, containerversie van de standaard beheerde gateway. Het is handig voor hybride en multicloudscenario's waarbij er een vereiste is om de gateways uit te voeren buiten Azure in dezelfde omgevingen waar API-back-ends worden gehost. Met de zelf-hostende gateway kunnen klanten met een hybride IT-infrastructuur API's beheren die on-premises en in clouds worden gehost vanuit één API Management-service in Azure.