2-5-2019

Hoe breng je succesvol een Cloud First en API First strategie samen?

Bij organisaties die volop willen inzetten op een Cloud First en API First strategie, is het vaak het perfecte moment om eens kritisch naar het integratielandschap te kijken en dit onder handen te nemen. Dit brengt vervolgens ook meteen de nodige uitdagingen met zich mee, met als belangrijkste het op een goede manier beveiligen van je API’s voor verkeer van buitenaf.

Wanneer je als organisatie een aantal ‘best practices’ volgt en alle integraties via zogenoemde Microservices in een Managed Kubernetes cluster bouwt, betekent dat deze services de data uit de ‘System of Record’ als API's volgens de bedrijfsstandaard kunnen aanbieden aan het API Management (APIM) platform in de Cloud. De eindgebruikers of in vakjargon 'consumers' van deze API's kunnen dan in de automatisch gegenereerde ‘Developer Portal’ zien welke API's beschikbaar zijn en zich hierop abonneren. Dit heeft het grote voordeel dat er veel makkelijker gezocht kan worden of de data die een ontwikkelaar nodig heeft al beschikbaar is, met als bijkomend voordeel dat er geen wildgroei aan services voor 'één veldje' wordt gemaakt.

De moeilijkheid van deze Microservices in Kubernetes en een APIM-platform in de Cloud zit voornamelijk in de beveiliging en gebruiksvriendelijkheid voor de ontwikkelaars van de integraties. Normaliter heb je in Kubernetes een 'service'. Deze service heeft dan een 'ingress'. De ingress is eigenlijk een laagje om de service heen waar HTTP- en HTTPS-routes van buiten het cluster open worden gezet. Op deze manier is het mogelijk om vanaf het interne netwerk of het openbare internet de service in het cluster te benaderen. Omdat alle API's immers beschikbaar worden gesteld via een APIM-platform in de Cloud, moeten alle services in Kubernetes een ingress hebben die open staat naar 'het internet'. Immers, het is anders niet mogelijk om connectie te maken vanaf het APIM-platform.

Cloud First en API First strategie
De moeilijkheid van deze Microservices in Kubernetes en een APIM-platform in de Cloud zit voornamelijk in de beveiliging en gebruiksvriendelijkheid voor de ontwikkelaars van de integraties.

De uitdaging

Hoe zorgt men er op een veilige manier voor dat de Kubernetes service niet beschikbaar is voor iedereen vanaf het openbare internet, maar wel beschikbaar is voor het APIM-platform? Moet men in iedere service ‘Mutual SSL’ gaan opnemen? IP-adressen ‘white listen’? Hoe makkelijk is het dan voor ontwikkelaars om een nieuwe service te maken? Hoe gaat men vervolgens 100 integraties onderhouden als een certificaat is verlopen? Dit zijn zomaar een aantal vragen die direct naar boven komen...

Kube Ingress Before

De oplossing

Voor een gedegen oplossing hoef je niet ver te kijken: wij adviseren een API Gateway te implementeren binnen het Kubernetes cluster middels Kong API Gateway. Een gratis, open source oplossing die bekend staat om zijn gebruiksvriendelijkheid, robuustheid en mogelijkheden om alles volledig te automatiseren en te beveiligen.

Met de komst van een API Gateway in het Kubernetes cluster is het mogelijk om alle services (geautomatiseerd) te ontsluiten via deze gateway. De gateway verzorgt dan de beveiligde communicatie met het APIM-platform, waardoor het via het internet niet mogelijk is om de services in Kubernetes te benaderen. Het configureren van een 'ingress' is daarmee ook overbodig geworden. Hierdoor hoeven ontwikkelaars zich geen zorgen meer te maken hoe ze hun services goed beveiligen en ontsluiten. Deze zorgt wordt uit handen genomen door Kong. Met deze nieuwe gateway ontstaat de volgende orkestratie:

Kube Ingress After

Daarnaast leent Kong zich perfect voor automatisering. Een bijkomend voordeel is dat wanneer een ontwikkelaar een nieuwe service maakt, hij enkel een configuratiebestand hoeft bij te werken op basis van een template. Door gebruik te maken van een geautomatiseerde oplossing met Gitlab / Jenkins wordt de Kong API Gateway tijdens de deployment van de service direct voorzien van de gegevens van de API. De API is daarna ook direct beschikbaar via Kong. In de laatste stap wordt ook het API Management platform in de Cloud voorzien van de juist ontwikkelde API en beschikbaar gesteld in de Developer Portal. Zo hoeft een ontwikkelaar alleen nog maar een integratie-service te maken, het configuratiebestand in te vullen en de rest wordt volledig geautomatiseerd uitgevoerd!

Robin Day & Wijnand Gritter

IT-Trends

Kennismaken?

nl.info@ciber.nl

Binnen 12 uur reactie

Onze locaties

Bekijk onze locaties

2.0.2