AUTEUR: Ben Velders, Manager Product Management & Solutions Architects
Digitalisering verandert organisaties in hoog tempo. Nieuwe businessmodellen en werkwijzen worden geïmplementeerd om de winstgevendheid en het voortbestaan van de organisatie veilig te stellen. Zo ook containerisatie. Er is al veel geschreven over de voordelen, maar misschien nog wel belangrijker zijn de uitdagingen waar organisaties mee te maken krijgen. Want alleen als organisaties de correcte werkwijze hanteren, kunnen ze containerisatie binnen hun organisatie maximaal benutten en inzetten als business enabler om zo een kortere time to market te realiseren en de risico’s beter te beheersen.
De afgelopen jaren is de manier waarop we ICT inzetten enorm veranderd. Eerst beschikte elke applicatie over een eigen fysieke server. Toen deed servervirtualisatie haar intrede. Door servers te virtualiseren, kunnen meerdere virtuele servers gebruikmaken van dezelfde hardwareresources. En nu? Nu werken we allemaal in de cloud – de logische vervolgstap op servervirtualisatie. We willen zo min mogelijk hardware en servers nog zelf beheren en ons focussen op de applicaties die voor de organisatie van belang zijn.
Containerisatie geniet veel voordelen. Het klinkt namelijk op papier ideaal, en containertechnologie belooft grotere snelheid en efficiëntie met het bouwen en uitrollen van applicaties. Dat is van groot belang in een wereld waarin organisaties continu moeten inspelen op veranderingen.
Dit klinkt als een kans die je niet wilt missen, maar wat zijn nu de uitdagingen?
1. Security
De inzet van containerisatie is in rap tempo toegenomen. Naast de talloze voordelen heeft het gebruik van containerisatie ook een aantal securitygerelateerde uitdagingen. De snelheid waarmee containers ontwikkeld en geïntroduceerd worden, is toegenomen, waarbij de levenscyclus van een container slechts enkele weken, dagen of zelfs slechts een paar uur kan zijn. Het is daardoor lastig om applicaties en middleware binnen containers te monitoren op onder andere beveiliging. Traditionele monitoring en security event-monitoring is in veel gevallen nog niet voorbereid op dit soort dynamische omgevingen.
De uitdaging wordt groter als bestaande applicaties worden gemigreerd naar containers. Traditionele beveiligingsmaatregelen, veelal ingericht op het beschermen van fysieke of virtuele servers, moeten hierop aangepast worden. Met developers (of beter gezegd: met DevOps) die meer en meer zelfstandig werkzaamheden kunnen uitvoeren, is awareness en kennisontwikkeling op dit vlak benodigd.
2. Dev versus Ops
Developers werken volgens een agile aanpak. Door middel van korte sprints wordt toegewerkt naar snelle release cycles om nieuwe features te lanceren. Aan de andere kant
heeft IT Operations in een traditionele serveromgeving te maken met het dagelijks beheer, iets dat minder goed in een agile aanpak past.
De stap naar containerisatie vergt een verandering in de manier waarop IT Operations werkt, maar ook in de tooling en processen waarmee gewerkt wordt. Een nauwere samenwerking met development is nodig om de hoge frequentie van ontwikkelen en lanceren beheersbaar te houden. In samenspraak met alle stakeholders zal toegewerkt moeten worden naar volledige automatisering van processen. Bestaande tooling zal hierop aangepast of vervangen moeten worden door tooling die beter geschikt is voor dit soort dynamische omgevingen. Denk hierbij aan een samenwerking op het gebied van unittests, beheer van het platform en de build images door Ops, code door Dev. En gezamenlijke verantwoordelijkheid voor deployments. Immers zal ook de inzet van beide nodig zijn in het geval iets niet goed gaat.
3. Bestaande applicaties naar containers
Containers verschillen aanzienlijk van fysieke of virtuele servers. Het overzetten van bestaande applicaties gaat vaak hand in hand met een architectuurverandering. Applicatiecomponenten worden losgekoppeld van elkaar als eerste stap naar een microservicesarchitectuur, iets waarmee toekomstige aanpassingen aan individuele componenten van de applicatie versneld kunnen worden.
Behalve dat architectuurveranderingen tijd en daarmee geld kosten, is het neveneffect ook dat de methodiek die gebruikt wordt voor het beheren van dit soort applicaties verandert. De complexiteit zal in eerste instantie toenemen. Ook kan additionele scholing van medewerkers nodig zijn, omdat andere competenties nodig zijn voor een ander soort omgeving die uiteindelijk eenvoudiger te beheren is. Bepaal of je een Container as a Service-omgeving wilt afnemen, of je de infrastructuur volledig uit handen wilt geven, of dit ziet als corebusiness en er zelf kennis van neemt.
4. Legacy ligt op de loer
De technologie is volop in ontwikkeling. Met steeds meer organisaties die het gebruiken, zal de ontwikkeling en de snelheid daarvan verder blijven toenemen. De nu al ruime keuze in orchestration tools, storage, networking en services, zoals load balancing maken het kiezen niet makkelijker. IT Operations komt voor de uitdaging te staan, doordat men nu technologie moet kiezen, waarvan nog onzeker is wat de toekomst zal brengen. Laat staan welk effect die keuze heeft op de verantwoordelijkheid voor stabiliteit en continuïteit – zowel nu als in de nabije toekomst. Ook al werkt iets nu goed is het zaak om te zorgen dat je qua technologie bij blijft. Anders wordt de verandering dermate groot dat deze onuitvoerbaar wordt. Blijf vernieuwen, want zeker in de IT is stilstand achteruitgang.
Om de keuze te maken zijn tijd en kennis nodig. Tijd om te onderzoeken welke technologie past bij de wensen en eisen van nu en welke kennis moet ontwikkeld worden om de nieuwe technologie door en door te gaan begrijpen. De beste keuze van dit moment kan over een aantal jaar, wellicht zelfs al over een aantal maanden resulteren in onnodige legacy.
Verandering in wensen en eisen, evenals de snelheid in de ontwikkeling van de technologie kan resulteren in de keuze voor andere technologie. Met mogelijk migraties tot gevolg. Om vooruitgang te bevorderen en de kans op legacy te voorkomen, moeten aanpassingen in wensen en eisen zo snel als mogelijk vertaald worden naar technologische keuzes.
5. Cultuuromslag
Met containerisatie komen development, beheer en security dichter bij elkaar. Dit vereist een nauwere samenwerking tussen de IT-teams en een aanpassing in vrijwel alle bestaande best-practices, processen en tooling. Deze aanpassing vereist een andere manier van werken, zowel binnen de teams als tussen de teams. Deze samenwerking is lang niet altijd vanzelfsprekend. Andere belangen, verantwoordelijkheden en doelstellingen maken het noodzakelijk dit proces goed te begeleiden. Vanuit de organisatie dienen de kaders helder te zijn. Over de as van onder andere continuïteit, beveiliging en compliance moet inhoudelijk richting gegeven worden aan de nieuwe samenwerking en besluitvormingsprocessen binnen de IT-teams.
Containerisatie komt bijna altijd uit de hoek van developers. Betrek er echter de operationele afdelingen zo snel als mogelijk bij en kom samen tot een oplossing. Dan is het een product van de organisatie.
Voorsprong op concurrentie
De inzet van containers is geen automatische garantie voor succes. Er zijn nog veel keuzes te maken voordat organisaties kunnen starten met de nieuwe technologie. De uitdaging blijft – zoals met alle nieuwe technologie – de dunne lijn tussen goed voorbereid starten en snel innoveren om de organisatie een voorsprong op haar concurrenten te geven.
Dat gezegd hebbende, zien we dat de wereld om ons heen snel verandert. Klanten worden veeleisender en dat legt een druk op organisaties om sneller nieuwe functionaliteiten beschikbaar te maken. Functionaliteiten waarmee eindklanten geholpen zijn of die voor extra omzet zorgen en de business vooruitbrengen. Het is verleidelijk om containerisatie als technologie snel in te voeren om te gaan profiteren van de vele voordelen die het biedt. Een te ambitieuze aanpak kan juist averechts werken en een blok aan het been worden. Sta, net als voor de voordelen, ook open voor de uitdagingen en risico's, en maak die eveneens onderdeel van het innovatieproces.