5 ‘lessons learned’ met Kubernetes en containers
In enkele jaren tijd is het gebruik van Kubernetes en containertechnologie ‘mainstream’ geworden. Het ontwikkelen en beheren van applicaties als microservices in containers versnelt het innovatieproces en verlaagt de risico’s ervan aanzienlijk. Jaap Gorjup, Kubernetes-expert bij MatrixMind, deelt enkele van zijn inzichten uit meer dan vijf jaar containergebruik.
De afgelopen jaren werkte ik in Azië, waarbij ik veel deed voor bedrijven in de financiële dienstverlening. Met name in de fintech-wereld bleek het automatiseren van processen in containers een uitkomst. Experimenteren, bijvoorbeeld in het beoordelingsproces rondom leningen, is bij deze bedrijven een beslissing van de business. Verschillende mensen spelen hierin een rol en er is sprake van veel handmatig werk. De kracht van Kubernetes is dat het hier mogelijk was om het proces te automatiseren, metzero downtimeen zonder problemen in de operatie. Zeker omdat je ook in Azië IT-talent niet zomaar van de straat haalt, was het werken aan een goede service delivery-straat altijd het uitgangspunt. Daarbij deed ik verschillende lessen op, waarvan ik er vijf deel in deze blog:
Automation is ‘key value’
Dit geldt voor automation van delivery, building & deployment, maar ook het automatiseren van handmatige processen. Er moet sprake zijn van een continue feedbackloop waarin het team zich over de vraag buigt of processen nog wel efficiënt zijn en wat er eventueel moet veranderen. De organisatie die Kubernetes hier toepast moet niet bang zijn om een proces als microservice in een container te stoppen en te automatiseren. Het is namelijk helemaal niet erg als het ‘experiment’ misloopt, door de korte innovatieloop. Na twee weken is elke sprint weer afgelopen en volgt er een review. Geen man overboord dus. Je kunt altijd weer overnieuw beginnen.
Zorg voor een positieve development loop
Het voordeel van innoveren in korte sprints: medewerkers die betrokken zijn bij het innovatieproces, hoeven niet bang te zijn om fouten te maken. Zonder problemen kunnen zij updaten of opschalen. Zoals in het voorbeeld van de leningcalulatie; als je eens iets niet goed gezien hebt en tot de conclusie komt dat een bepaald proces toch anders moet lopen, dan kan dat gewoon in de volgende release. Deze volgt binnen twee weken, dus geen enkel probleem. In de tussentijd is het overigens een koud kunstje om terug te schakelen naar een eerdere versie van een applicatie, doordat Kubernetes de eigenschap heeft om verschillende versies naast elkaar te kunnen draaien.
Security is medeverantwoordelijk voor het project
Security is integraal onderdeel van ieder project, maar tegelijkertijd zijn securityspecialisten ook integraal onderdeel van het team. Dat wil zeggen dat zij medeverantwoordelijk zijn voor de oplevering. Ik heb dit wel eens vergeleken met een discotheek waar een uitsmijter voor de deur staat, die te horen heeft gekregen dat mensen met gymschoenen aan niet naar binnen mogen. Maar wat als gymschoenen toevallig erg in de mode zijn? Laat je de discotheek dan leeg? De uitsmijter is medeverantwoordelijk voor het draaien van de business. In een project komt het erop neer dat security niet alleen maar eisen mag neerleggen, maar ook mee moet denken als onderdeel van een team dat twee weken heeft om een product in de lucht te krijgen.
Niet alles hoeft in containers
Sommige applicaties zijn nu eenmaal niet geschikt voor containerisatie. Een groot ERP-systeem als SAP bijvoorbeeld. Hou dat gerust ‘standaard’ en ontwikkel alle customizationeromheen in containers. Het kan dan gaan om een service voor betalingswaarschuwingen aan klanten die achterlopen met het voldoen van hun facturen. Zo’n microservice in een container leest SAP uit en stuurt automatisch de herinnering uit. De centrale omgeving (SAP in dit geval) wordt niet aangetast en de microservices zijn portable (m.a.w., ze kunnen in elke cloud gezet worden) en schaalbaar. Grote blokken die er niet klaar voor zijn (nu nog niet, althans), hoeven niet in containers. Ga die moeite er dan ook niet voor doen, probeer liever je eigen gewenste aanpassingen onder controle te krijgen.
Meer weten over Kubernetes en microservices? Stuur een e-mail naar Jaap Gorjup. Lees ook onze serie blogs over Kubernetes, waarin wij onder meer de werking van dit platform beschrijven en met de Kube Challenge een startpunt aanreiken waardoor iedere organisatie ermee aan de slag kan gaan.