De voordelen van het gebruik van Azure API Management voor het opstellen van uw API
Microservicearchitecturen zijn soms lastig te beheren. Bijvoorbeeld: u vertrouwt erop dat afzonderlijke teams algemene vereisten, zoals beveiliging, op een consistente manier implementeren.
In de online winkel hebben uw ontwikkelaarsteams de microservices voor productgegevens en ordergegevens op verschillende host-URL's gebouwd. De service voor ordergegevens reageert ook met behulp van XML. U wilt ervoor zorgen dat alle antwoorden de JSON-indeling hebben om het werk voor de ontwikkelaars van client-apps te vergemakkelijken.
In deze les leert u meer over de functies van API Management. U kunt deze functies gebruiken om verschillende microservices te integreren en deze te presenteren aan clienttoepassingen met consistent gedrag op één URL.
Uitdagingen van een microservicearchitectuur
Bij een microservicearchitectuur wordt een modulaire toepassing gemaakt waarin elk onderdeel losjes aan de andere onderdelen is gekoppeld. Onafhankelijke implementatie van services vermindert het effect van eventuele bugs die het mogelijk maken door middel van testen in productie. Deze modulaire benadering maakt het eenvoudiger om terug te keren naar een stabiele versie. U kunt ook kleine, autonome teams van ontwikkelaars samenstellen voor elke microservice. Deze verdeling past goed bij moderne flexibele praktijken.
Microservicearchitecturen kunnen u echter ook voor uitdagingen stellen, zoals:
- Client-apps zijn gekoppeld aan microservices. Als u de locatie of definitie van de microservice wilt wijzigen, moet u de client-app mogelijk opnieuw configureren of bijwerken.
- Elke microservice kan worden weergegeven onder verschillende domeinnamen of IP-adressen. Dit kan een inconsistente indruk wekken bij gebruikers en een negatieve invloed hebben op uw merk.
- Het kan lastig zijn om consistente API-regels en-standaarden af te dwingen voor alle microservices. Het ene team reageert bijvoorbeeld liever met XML en een ander team geeft mogelijk de voorkeur aan JSON.
- U bent afhankelijk van afzonderlijke teams om de beveiliging in hun microservice correct te implementeren. Het is moeilijk om deze vereisten centraal op te leggen.
Hoe kan API Management u hierbij helpen?
Door meerdere API's, functies en andere services toe te voegen aan API Management, kunt u die onderdelen samenvoegen in een geïntegreerd product met één toegangspunt voor clienttoepassingen. Het opstellen van een API met behulp van API Management biedt onder meer de volgende voordelen:
- Client-apps worden gekoppeld aan de API met uitdrukkingen in bedrijfslogica, niet de onderliggende technische implementatie met afzonderlijke microservices. U kunt de locatie en definitie van de services wijzigen zonder de client-apps opnieuw te moeten configureren of bijwerken.
- API Management fungeert als een tussenschakel. Het stuurt aanvragen door naar de juiste microservice, ongeacht de locatie en retourneert reacties op gebruikers. Gebruikers zien nooit de verschillende URI's waar microservices worden gehost.
- U kunt API Management-beleid gebruiken om consistente regels af te dwingen voor alle microservices in het product. U kunt bijvoorbeeld alle XML-antwoorden omzetten in JSON, als u die indeling prefereert.
- Met beleidsregels kunt u ook consistente beveiligingsvereisten afdwingen.
API Management bevat ook nuttige hulpprogramma's: u kunt elke microservice en de bijbehorende bewerkingen testen om er zeker van te zijn dat ze voldoen aan uw vereisten. U kunt ook het gedrag en de prestaties van geïmplementeerde services bewaken.
Azure API Management biedt ondersteuning voor het importeren van Azure-functie-apps als nieuwe API's of het toevoegen hiervan aan bestaande API's. Er wordt automatisch een hostsleutel gegenereerd in de Azure-functie-app, die vervolgens wordt toegewezen aan een benoemde waarde in Azure API Management.
In de volgende eenheid voegt u de microservice voor ordergegevens toe aan de onlinewinkel-API die u hebt gemaakt in de vorige oefening. Hiervoor integreert u ordergegevens met de microservice voor productdetails en presenteert u deze beide in hetzelfde domein als onderdeel van een geïntegreerde API.