Groei en innovatie zijn onlosmakelijk met elkaar verbonden. Geen wonder dat digitale transformatie prioriteit heeft voor veel organisaties. Veel leiders bij grote organisaties zien een direct verband tussen het verbeteren van applicaties en een verbeterde klantervaring.
In de digitale wereld is applicatieontwikkeling het belangrijkste instrument voor groei. Hoe efficiënter en productiever de supply chain van je software is, hoe beter de ervaringen van je klant en dus de prestaties van je bedrijf.
Voordelen van kubernetes
Microservices en kubernetes (k8s) versnellen het transformatietraject omdat ze een eenvoudige en effectieve manier bieden om applicaties losgekoppeld, per agile team, op schaal te ontwikkelen. Daarnaast is het eenvoudig om deze applicaties op te schalen. Wanneer complexe applicaties in een container worden geplaatst, is het mogelijk om met k8s deze zo vaak mogelijk te kopiëren als je wilt. Daarnaast wordt de status van de containers automatisch gecontroleerd en onderhouden. Mocht er een container defect zijn, dan zal deze gelijk vervangen worden
Bovendien is k8s opensource-technologie. Dit zorgt ervoor dat iedereen altijd toegang heeft tot een groeiende collectie uitbreidingen en invoegtoepassingen. Deze worden ontwikkeld door opensource bijdragers uit de k8s-community. Hierdoor kan k8s de ontwikkelings- en operationele kosten verlagen, de betrouwbaarheid van applicaties verbeteren en het beheer vergemakkelijken.
Uitdagingen van k8s
Uit een recent onderzoek van VMware Tanzu blijkt dat vijftig procent van de organisaties kortere ontwikkelingscycli zien en operationele kosten verlagen door k8s. Ook in Nederland gaat de adoptie razendsnel. Toch komen organisaties vaak verschillende uitdagingen tegen. Om deze uitdagingen aan te gaan is het belangrijk dat organisaties het k8s-landschap goed begrijpen. Hierdoor kunnen organisaties bijvoorbeeld voorkomen dat ze gebruik maken van k8s-functies die zijn ontwikkeld door ‘niet erkende’ ontwikkelaars. Bovendien is het vaak noodzakelijk om ook andere technologieën en services te gebruiken om tot een solide end-to-end-oplossing te komen. Als je niet weet welke technologieën en services werken met k8s, kan dit problemen veroorzaken.
Daarnaast zien we vaak dat organisaties zelf aan de slag gaan om een platform te ontwikkelen met behulp van k8s. Dit start vaak als een experiment wat uitgroeit tot iets wat productieapplicaties zou moeten draaien. Het gevaar is hiermee dat in het experiment geen rekening wordt gehouden met de levenscyclus van het platform zelf. Er wordt vaak alleen maar gekeken naar één of meerdere applicaties die er op zouden moeten landen. Wij zien dat organisaties uitdagingen ondervinden als later blijkt dat de snelheid van de upgrades uit de opensource-gemeenschap ook met dezelfde snelheid moeten worden toegepast op het platform dat zelf is ontwikkeld. Het is dus belangrijk dat platform-teams k8s zo inrichten dat de vier major upgrades per jaar eenvoudig zijn uit te voeren.
Centrale visie en cultuur
K8s en container orchestratie zijn ‘slechts’ een gedeelte van de oplossing voor een snellere weg naar productie voor applicaties. Voor het creëren van een verbeterde ‘user experience’ is een snelle ‘feature delivery’ van belang. Die wordt niet behaald met een platform voor containers. Het zal een gezamenlijke visie van development en operations vragen die gericht is op het creëren van klantwaarde. Voor ontwikkelaars is de komst van containers en dus k8s een groot goed maar er zal voor deze ontwikkelaars nog veel meer moeten gebeuren om uiteindelijk continu vernieuwingen in de applicaties door te voeren. De succesvolle bedrijven van vandaag zijn immers bedrijven die de digitale benadering centraal stellen vanuit hun strategie.
Daarnaast is het belangrijk dat organisaties en teams de cultuur op één lijn krijgen. Deze moet niet alleen gericht zijn op de ‘dialtone’ van de container, maar ook rekening houden met andere processen zoals: ci/cd-pipelines, consistentie, security en maintenance. Kortom, zonder fundamentele vaardigheden en mentaliteit zal een k8s implementatie niet alleen veel minder succesvol zijn, maar ook meer complexiteit toevoegen en relatief weinig waarde leveren voor het bedrijf. Om succesvol te zijn met k8s en containers is er een balans nodig tussen development en operations. Tenslotte gaat het niet alleen om k8s, maar om een centrale visie en cultuur.