Container technologie: trend of hype?

Posted on Posted in Modern Datacenter & Cloud, Professionals

Er wordt al een aantal jaar gesproken over containers en de voordelen, maar ik kom het in de praktijk bij bedrijven nog niet veel tegen. Dat verbaast mij eigenlijk, omdat het juist zo’n mooie nieuwe technologie is. Hoe kan dat nou?

Wat is een container eigenlijk?
Het is denk ik goed om kort uit te leggen wat een container is. Om het uit te leggen gebruik ik graag de metafoor van een groot containerschip. Het schip zelf is de infrastructuur, de vervoerder het Operating Systeem (OS) en de containers zijn de applicaties.

Als we de container van binnen bekijken, zie je niet alleen de applicatie zelf, maar ook de zaken die nodig zijn om de applicatie te laten draaien. Denk hierbij aan de applicatie code, runtime, ondersteunende tooling, libraries en instellingen. Dit is als geheel in een container verpakt en kan vervolgens vervoerd worden naar iedere plek waar de applicatie nodig is, onafhankelijk van het OS!

Het maakt dus bij het gebruik van containers niet meer uit of je werkt met Microsoft, Linux of een MacOS en of dit OS draait in je eigen datacenter of in de cloud. Het werkt gewoon omdat de applicatie in een geïsoleerde omgeving staat met alle zaken die nodig zijn om te kunnen draaien. Je hebt hier zelfs geen hypervisor meer nodig.

Docker
De meest bekende container technologie is Docker. Het is open source en wordt inmiddels omarmd door de grootste technologiereuzen van deze wereld, zoals Microsoft, Google, Red Hat, IBM, Huawei en Cisco. Zij ontwikkelen deze technologie verder en het is inmiddels beschikbaar op diverse platforms. Ondanks alle effort zie ik het nog niet vliegen in de praktijk bij bedrijven. Hoe kan dat?

De voordelen
De voordelen zijn namelijk talrijk. Je kunt onafhankelijk van het OS werken met de applicatie, ook in (verschillende) clouds. Het maakt dus niet meer uit waar de container, en dus applicatie, draait. Of dat nou in Google Cloud, Microsoft Azure, je eigen datacenter of zelfs bij jou thuis is.

Als de applicatie eenmaal ingepakt (image) in de container is, kun je snel deployen. Denk hierbij aan het deployen van test- naar acceptatie- en productie omgevingen. Dat scheelt uiteraard veel tijd en daarmee kosten. Zeker als de omgeving veel flexibiliteit eist en schaalbaarheid, is dit een groot voordeel.

Je hoeft dus niet telkens een nieuwe VM met een apart OS op te bouwen. Dat scheelt overigens dus ook veel storagecapaciteit. Op de manier wordt de hardware efficiënter gebruikt. De footprint en overhead is immers kleiner.

Ook de performance wordt verbeterd: de applicatie praat direct met de CPU en geheugen, dus niet meer via de Hypervisor. Ook op gebied van “patch management” bieden containers veel voordelen. Op OS-vlak heb je een stuk minder systemen draaien en hoef je daardoor ook minder patches uit te rollen. Op applicatief gebied hoef je per applicatie maar de container te patchen en vervolgens door jouw OTAP-straat te rollen. Kortom, ook iets dat veel tijd en daarmee kosten bespaart.

Alleen maar voordelen?
Klinkt fantastisch, maar het zijn niet alléén maar voordelen… Ik zie ook wel in dat je voor iedere applicatie die je nodig hebt een aparte container moet maken. Zeker als er veel verschillende applicaties draaien in een ICT-omgeving is dat initieel erg veel werk. Daarnaast zullen niet alle applicaties even geschikt zijn om te “containeren”, met veel statische applicaties zal weinig winst te behalen zijn.

Maar… als deze tijdsinvestering eenmaal gedaan is, win je er veel beheersbaarheid, snelheid en flexibiliteit mee terug. En dat scheelt uiteraard heel veel kosten. Ook belangrijk.

Ik geloof erin dat dit echt een vlucht gaat nemen de komende periode. Apps worden leading in de wereld van morgen en het is van belang dat ze goed werken in verschillende omgevingen. Ik lees er veel over en zie ook dat grote technologiereuzen het omarmen. Maar in de praktijk bij bedrijven? Ik ben benieuwd wanneer het écht gaat gebeuren en dat er geen sprake meer is van een hype maar van een trend!

Wil je over dit onderwerp meer over weten?
Of heb je een vraag?

Laat het mij weten!


Niek Verspaget
Technisch consultant BCONN ICT

e-mail: niek.verspaget@bconn.nl
LinkedIn: https://www.linkedin.com/in/niekverspaget/