Containerization, een (r)evolutie

Haal het onderwerp containerization aan bij de gemiddelde ontwikkelaar en hij weet op z’n minst waar het over gaat. Maar meestal blijft het daar niet bij. Met een trackrecord van enkele miljoenen software downloads per kwartaal is de kans zeer groot dat men al aan het experimenteren is of dat er al daadwerkelijk gebruik van wordt gemaakt.

Docker en Luxaflex

Eén van de bekendste namen op het gebied van containerization is Docker. Docker is beslist niet de enige is die zich bezig houd met containers, maar omdat zij de aanzet hebben gegeven tot deze ‘revolutie’ kennen ze een goed verankerde ‘top of mind‘ positie. Samen met de andere partijen die containerization tot hun core business hebben gemaakt zoals CoreOSFlockport en Ubuntu’s Canonical, kunnen we er gevoeglijk van uitgaan dat dit nog maar het begin is. Docker staat op dit moment tot containerization als Luxaflex staat tot horizontale jaloezieën; en zo mag Docker dan ook gelezen worden in deze blog. Zie het voor nu even als een verzamelwoord.

Blog (Containerization, een revolutie) 02-02-2015Platformonafhankelijk

Docker is software waarmee je een ‘lichtgewicht‘ Linux container aanmaakt. De wijze waarop dat gebeurt is vele malen efficiënter dan een hypervisor. Daarnaast wordt deze virtualisatietechniek gecombineerd met een mechanisme om software ‘in, en weer uit te pakken‘. Bovenal: het maakt niet meer uit op welke infrastructuur/technologie de container draait. En daarmee hebben we twee van de grootste voordelen benoemd: een container is compact en platformonafhankelijk hetgeen bijdraagt aan een hoge mate van portabiliteit (daar over zo meer).Waarom hebben we het over een container? Daarvoor maken we even een uitstapje naar de fysieke wereld.

Fysieke containers

Door wereldwijd afspraken te maken met logistieke partijen en toeleveranciers over een standaard is er sprake van een fysieke container die zich met gemak laat vervoeren door een diversiteit aan schepen, treinen en vrachtwagens ongeacht merk en/of regio. En dat is niet het enige voordeel, transporteurs kunnen daardoor veel efficiënter vervoeren. Er kunnen immers aanzienlijk meer containers op een schip in vergelijk tot een situatie waar er sprake zou zijn van diverse maatvoeringen. Standaardisatie is hier het sleutelwoord.

Portabiliteit

Terug naar Docker. Het maakt niet meer uit welke OS distributie en welk platform er ‘onder de applicatie ligt‘, noch is er sprake van een beperkende hypervisor. Zo kan een Docker container zijn oorsprong vinden op de laptop van een ontwikkelaar waar Ubuntu op draait, kan voor testdoeleinden getransporteerd worden naar AWS, om vervolgens bij de opdrachtgever te ‘landen‘ op zijn ‘on premise‘, en op VMware gebaseerde host alwaar de betreffende container ‘in no-time‘ wordt gerepliceerd zodat performance geborgd is. De host is op zijn beurt in staat om veel meer containers te herbergen dan virtual machines. Met andere woorden de voordelen zijn legio: schaalbaarheid, optimaal resourcegebruik, maar vooral portabiliteit.

Build it once, run it anywhere

De hoge portabiliteit van containers kent nog meer voordelen. Het ultieme scenario is dat we uiteindelijk met behulp van de juiste tooling in staat zullen zijn om containers vol automatisch te laten transporteren van de ene cloud naar de andere. Daarbij wordt op basis van van te voren gedefinieerde profielen onder andere gekeken naar het gewenste support level, beveiliging, governance en kosten. En tegelijkertijd is er sprake van geautomatiseerde ‘fail-over‘, resource utilisatie en wordt de belasting ‘on-the-fly‘ verdeeld. Onwerkelijk? Waarschijnlijk niet. De eerste tooling is al beschikbaar. Google Kubernetes en Joyent zijn daar goede voorbeelden van, maar ook Dockers’ eigen -vers van de pers- Swarm speelt hier een belangrijke rol. Het feit dat nagenoeg iedere zich zelf respecterende cloud provider Docker omarmt zegt ook al genoeg.

Stuk voor stuk partijen die er voor zorgen dat de containers ook op hun platformen welkom zijn. En de eerste container based PaaS providers dienen zich ook al aan. Een naam om in de gaten te houden op dat vlak is Wavemaker.

Einde ‘lock-in’

Het verhuizen van een web omgeving van de ene provider naar de ander is niet zonder risico’s en kost altijd tijd en dus geld. Waar je vandaag de dag je applicatie ook onder brengt, er is altijd sprake van een zekere mate van ‘lock-in‘. Niet zo vreemd, want de ontwikkelingen rondom virtualisatie en de cloud zijn zo snel gegaan dat er nooit tijd is geweest om aan een standaard te werken. Los daarvan, als er al zo’n initiatief was geweest had de gemiddelde cloud provider daar waarschijnlijk weinig tot geen enthousiasme voor op gebracht. Docker brengt daar nu in sneltreinvaart verandering in, maar er is een ‘maar‘.

Kritische succesfactoren

Het succes van de container valt en staat met het respecteren van de standaard door alle cloud en technologie providers. In dat licht had Redhat recentelijk al een aantal kritische noten. Zodra er ook maar één partij is die zijn eigen koers gaat varen wordt het succes van Docker al minder. En er zijn nog meer kritische succesfactoren. Denk bijvoorbeeld aan de software die benodigd is om al die containers in goede banen te leiden. Cloud Orchestration en de mate waarin containers in staat zijn om met alle clouds ‘te praten‘ wordt van cruciaal belang. Tot slot: Docker staat, hoe kan het ook anders, nog in de kinderschoenen. De koppeling van een platform wat verdeeld is over verschillende clouds, de werking van legacy applicaties, zijn zo maar wat voorbeelden van zaken waar de huidige containertechnologie nog niet in kan voorzien. Ook ten aanzien van beveiliging is er nog een hele weg te gaan. Een recent onderzoek van Gartner was daar duidelijk over: “…disappoint when it comes to secure administration and management…”

De toekomst

Containers zullen voor een blijvende en structurele verandering zorgen in het cloud landschap en de daarin aanwezige ecosystemen. Het draagt bij aan het verkorten van de ‘time-to-market‘ van applicaties en het zal operations minder complex maken. Er zijn echter nog voldoende uitdagingen alvorens deze technologie volledig geadopteerd zal zijn. En dat is maar goed ook. Internet Service Providers, Managed Service Providers en Cloud Providers hebben de tijd hard nodig om hun infra ‘containervriendelijk‘ te maken, zorg te dragen voor adequate ‘tooling‘, hun businessmodel aan te passen en kennis en kunde op te bouwen. In het licht van laatstgenoemde kan het maar zo zijn dat we binnenkort vacatures voorbij zien komen met de tekst: “Dokwerkers (m/v) gezocht!

Over Robèr van den Brink

Robèr van den Brink is Business Development Director bij IT-Ernity Internet Services.

Laatste artikelen