Als je vooruit wilt met de digitalisering van je onderneming, is het hoog tijd je te gaan verdiepen in containerization. Virtualisatie was al een hele stap voorwaarts. Containers zijn een serieuze sprong naar de toekomst.
Honderd jaar geleden was het transport van goederen een wilde boel. Van een plantage in Argentinië naar de markt in Amsterdam kreeg je als handelaar te maken met een heel palet aan vervoersmiddelen, van een ezel naar een kruiwagen, naar een trein, een truck, een vrachtschip – als handelaar kon je je vracht maar beter persoonlijk begeleiden als je zeker wilde weten dat het veilig aankwam.
Van standaarden was nauwelijks sprake: eenmaal in de haven werd je vracht in een net het ruim in gehesen en moest je maar hopen dat je maiskolven niet werden geplet onder de kopererts van de buren. Kisten, zakken, tonnen, pallets – alle goederen waren anders verpakt. Het duurde tot de jaren ‘60 van de vorige eeuw voordat begon door te dringen dat het om talloze redenen handiger was een standaard formaat af te spreken voor vervoer. Die standaard werd de zeecontainer.
Voor de transportsector was de nu zo bekende zeecontainer zo’n revolutie dat je je kunt afvragen waarom het zo lang heeft geduurd. Vanaf dat moment konden alle vervoerssectoren gaan rekenen met vaste afmetingen. De overslag werd plotseling grotendeels geautomatiseerd. En door containers te verzegelen en pas ter bestemming weer te openen verdween ook een groot deel van de problemen met aansprakelijkheid. Tegenwoordig wordt 90% van alles wat we eten, dragen en gebruiken vervoerd in zeecontainers. In 1970 maakten vervoerskosten nog 10% uit van de prijs van onze producten. Nu nog maar 3% – en dat allemaal dankzij een simpele stalen doos.
IT-containers
In de IT wordt die truc nu herhaald. Dat mag ook wel, want in feite is het daar nu net zo’n wild west als in het goederentransport een eeuw geleden. Dankzij virtualisatie en cloud computing hebben we al belangrijke stappen gezet. Maar containerization lijkt nu ook hier de echte revolutie te worden – misschien zelfs nog wel meer dan de zeecontainers in de echte wereld.
Containerization in de IT is in feite de volgende stap in virtualisatie. De eerste stap was dat we servers lostrokken van de fysieke hardware: virtuele machines maakten het plotseling een stuk eenvoudiger om op- en terug te schalen, we konden ze makkelijk verplaatsen naar andere datacentra, en ze maakten ons een stuk minder kwetsbaar voor storingen en andere technische calamiteiten. Maar net als zeecontainers zijn virtuele servers eigenlijk best lompe dingen. Elke virtuele server heeft bijvoorbeeld een volledig eigen besturingssysteem draaien, terwijl dat voor de toepassing die erop draait meestal helemaal niet nodig is.
Voor de verpakking van applicaties is dan ook een oplossing bedacht waarbij niet alleen de hardware, maar ook het onderliggende besturingssysteem wordt gevirtualiseerd. Applicaties, of delen van applicaties (microservices), worden per stuk verpakt in ‘containers’, die alleen de componenten bevatten die de app nodig heeft om overal te kunnen werken waar het onderliggende OS aanwezig is.
Winning
Door containers te gebruiken zijn geen hypervisors meer nodig – er zijn zelfs geen servers meer nodig. Containers kunnen razendsnel geactiveerd worden en nemen veel minder plaats in dan virtuele machines, waardoor de schaalbaarheid sterk toeneemt. Door je apps op te delen in microservices per container, word je bovendien flexibeler, terwijl je bijvoorbeeld veel beter kunt bepalen waar en hoe gevoelige data over je netwerk worden gestuurd. En voor ontwikkelaars heeft het een onvoorstelbaar groot voordeel: het garandeert dat applicaties die werken in de testomgeving ook precies zo zullen werken in productie.
De voordelen zijn zo groot dat je je – opnieuw – kunt afvragen waarom we er zo lang op hebben moeten wachten. De realiteit is natuurlijk dat het nu pas echt mogelijk wordt. Containers zijn bijvoorbeeld ideaal voor cloud computing, maar dan wel vooral in clouds die functioneren als een internationaal privénetwerk met razendsnelle verbindingen. En dan liefst een cloud waarin je containers eenvoudig kunt managen, zodat je optimaal gebruik kunt maken van gedistribueerde rekenkracht. Als je daar eenmaal bent, lijken virtuele machines saai, ouderwets en kinderspel. Voor een onderneming die optimaal gebruik wil maken van digitale transformatie, is er eigenlijk geen andere keuze. Dag VM’s. Leve de containers!