Waarom Azure API Management dé oplossing is voor een goede API-strategie

25 mei 2021

Door Eldert Grootenboer, Technology Lead Azure & Integration en Microsoft MVP Azure

Geen IT-organisatie kan meer zonder API-strategie. Bij vrijwel alle data en processen die worden ontsloten, verloopt dit middels APIs. Meer dan 80 procent van het web-verkeer bestaat uit API calls. En ook in onze eigen netwerken maken we continu gebruik van deze technologie. Met Azure API Management is jouw organisatie in staat om al jouw data en processen veilig en inzichtelijk te ontsluiten. In dit blog vertel ik je waarom Azure API Management dé oplossing is voor een goede API-strategie.

Twee soorten API-personae
Wanneer we het over APIs hebben, kunnen we een onderscheid maken in twee soorten API-personae: services en data, en connected experiences. De services en data zijn jouw APIs, die je wilt ontsluiten naar de buitenwereld. Deze kunnen in Azure draaien, maar ook in on-premises, bij andere cloud-providers, of op SaaS-diensten. De connected experiences zijn de afnemers, die jouw data en services willen gebruiken. Dit kunnen APIs zijn, maar ook websites, devices en meer.

Azure API Management
Azure API Management werkt als volgt: deze oplossing wordt tussen de services en data en connected experiences geplaatst en treedt op als een façade. In deze situatie hebben de connected experiences niet langer weet van het backend, maar verbinden enkel nog met API Management. Hier hebben ze één toegangspunt waar alle APIs beschikbaar worden gesteld. Deze APIs kunnen een directe representatie zijn van de services in het backend, maar ook een abstractie waarbij alleen bepaalde operations worden ontsloten (of zelfs composite APIs bestaande uit operations van verschillende APIs in de backend).

Waarom Azure API Management dé oplossing is voor een goede API-strategie 1

Drie pilaren van Azure API Management

Azure API Management bestaat uit drie pilaren:

  • Azure Portal
    Hierin configureert je jouw APIs en de service. Door middel van policies kun je hier jouw APIs ook slimmer maken. Policies zijn xml snippets, waarmee je functionaliteit aan jouw APIs kunt toevoegen. Denk hierbij aan de caching policy. Hiermee kun je caching aan een bestaande API toevoegen, zonder dat deze zelf hoeft te worden aangepast. Er zijn veel verschillende policies, met even zoveel mogelijkheden. Denk bijvoorbeeld aan het opzetten van security, door middel van OAuth, certificaten of basic authentication. Ook kun je validaties toepassen, waarmee de payload van berichten kan worden gevalideerd, voor deze naar het backend worden doorgezet. Of wat te denken van transformaties, waarmee je zowel berichten als protocollen kunt transformeren.
  • Gateway
    Ofwel de API Management service zelf. Dit is de instantie van API Management waarbinnen de API’s leven die gedefinieerd zijn, de policies worden uitgevoerd en routering van de frontend en backend calls plaatsvindt. De connected experiences maken connectie met de gateway en hebben dus één toegangspunt voor alle APIs. Bovendien kun je dit zo implementeren dat ze ook altijd een eenduidige manier van authenticatie hebben, ongeacht de authenticatie die de backend services gebruiken. Hiermee wordt het veel eenvoudiger voor jouw afnemers om de services af te nemen. Daarnaast wordt al het verkeer wat door API Management gaat inzichtelijk gemaakt, zodat een duidelijk beeld ontstaat wie de APIs gebruikt, wanneer, hoe vaak, etc. Deze inzichten worden allemaal op een duidelijke wijze in de portal beschikbaar gesteld, en hier kun je ook monitoring op toepassen.
  • Developer Portal
    Dit is een website waar de ontwikkelaars die de connected experiences bouwen in één oogopslag kunnen zien welke services er voor hen beschikbaar zijn. Ook kunnen ze hier een subscription op een API aanvragen, waarna ze na een eventuele goedkeuringsstap toegang tot de API krijgen. Daarnaast kunnen zij binnen de developer portal ook gelijk de APIs aanroepen. Hierdoor kunnen zij direct zien welke data er wordt verwacht en welke responses terug zullen komen, zonder dat dit eerst in een eigen applicatie moet worden opgezet.

 

Een groot aantal voordelen
Kortom, Azure API Management heeft een groot aantal voordelen. Het kunnen ontsluiten en inzichtelijk maken van alle APIs zorgt ervoor dat deze altijd onder jouw governance zijn. En dankzij de vele beschikbare policies kun je APIs slimmer maken, zonder dat hiervoor enige ontwikkeling op de APIs zelf noodzakelijk is. Ten slotte zorgt het ervoor dat je alle APIs altijd op een veilige manier ontsluit, en inzicht aanwezig is in wie er tot welke data en processen toegang heeft. Dit is waarom Azure API Management dé oplossing is voor een goede API-strategie.