Laura Rehorst, hoofdverantwoordelijke voor het Managed Container Platform en cloud consultant Mike Ryan, laten tijdens Kubecon/CloudNativeCon zien hoe de bank dat kunstje flikte. Hun presentatie is een van de hoogtepunten bij dit evenement dat aanvankelijk in Amsterdam zou worden gehouden maar nu door Covid19 virtueel plaatsvindt. Het wisselen van cloudprovider is geen kleinigheid als je bedenkt dat de bank 686 ontwikkelteams kent. Voor de 2.836 applicaties die in de lucht worden gehouden, geldt een ‘cloud first’-strategie.
Concentratie op één hyperscaler biedt op langere termijn kostenvoordelen zoals het maximaal profiteren van schaalgrootte. Maar minstens zo belangrijk is de grotere snelheid waarmee de bank nieuwe producten en diensten naar de markt kan brengen.
Behalve voor fintech startups die op deelgebieden aan het klassieke bankenbastion knabbelen, bestaat binnen het bankwezen ook veel vrees voor tech giganten die behalve zeer kapitaalkrachtig ook nog eens over een bijna ongelimiteerde ontwikkelcapaciteit beschikken. Wie in deze slag ook nog eens traag is, kan het wel vergeten.
Mede om die reden werd gekozen voor een sterke oriëntatie op Azure, momenteel het snelstgroeiende grote cloudplatform. Zonder het orkestratiesysteem Kubernetes en containerisatie met Docker zou de migratie nooit zo rimpelloos zijn verlopen. De containers waarin de applicaties zitten verpakt, kunnen in theorie net zo goed op Azure draaien als op een ander platform zoals AWS of Google Cloud. In principe maakt dat geen verschil. Maar een van de lessen die Rehorst en Ryan leerden, is dat toch nog altijd aan wat zaken opnieuw moet worden gewerkt. Verschillende cloudproviders hebben namelijk uiteenlopende ‘operating models’. Verder adviseert het duo om pragmatisch te zijn en waar mogelijk ‘cloud agnostic’ (onafhankelijk van de gekozen cloud) te blijven. Probeer van de ene cloud naar de andere te migreren zonder dat dit veel impact heeft op de it-systemen en bedrijfsprocessen. Maak bewuste afwegingen tussen quick wins en toekomstbestendige oplossingen. Heel belangrijk ook is vanaf het begin de ontwikkeling en uitrol van applicaties zo veel mogelijk te automatiseren.
Cloudmigratie in de praktijk
Het Managed Container Platform waar tweevoudig oud-bokskampioene Rehorst verantwoordelijk voor is, blijkt een solide basis voor containers. Kenmerken van dit cloud native platform zijn een sterk fundament waar development teams op door kunnen bouwen, lifecycle management en herbruikbare componenten. Als bank in een sterk gereguleerde sector moet ABN Amro ook aan hoge eisen van veiligheid en compliance voldoen.
Voor de definitie, installatie en upgrades van Kubernetes-applicaties gebruikt de bank Helm. Continuous integration/continuous delivery (ci/cd) zorgt ervoor dat veranderingen in de broncode automatisch leiden tot een nieuwe container. Dit gebeurt met Azure DevOps. De provisioning gaat met Terraform. Om het netwerk flexibel te maken, wordt de Azure-versie van CNI gebruikt. Open Policy Agent (OPA) regelt beleidszaken door policies af te dwingen op de clusters.
Ontwikkelteams die eerst op AWS zaten, zijn stap voor stap naar Azure gemigreerd. De voordelen van een abstractielaag in het containerplatform zijn evident. Dankzij Kubernetes gaat de ‘delivery’ op de ‘managed’ Kubernetes-dienst van Microsoft (Azure/AKS) volgens precies hetzelfde model als op de dienst van Amazon (AWS/EKS). Ryan demonstreerde dit aan de hand van twee voorbeelden: de validatiecheck en het gebruik van de Open Policy Agent. Een uitdaging is tot slot de opslag van bestanden. De overgang van AWS Codebuild naar AWS Elastic File Storage loopt namelijk anders dan de overgang van Azure DevOps Pipeline naar Azure File Storage.