21 July 2020

Containertechnologie vs virtuele machines: een terechte vergelijking?

Jan Buurman
Containerization

De container-technologie wordt vaak vergeleken met die van virtuele machines. De vraag is of deze vergelijking wel terecht is? De twee ontwikkelingen zijn immers niet beiden een oplossing voor hetzelfde vraagstuk. Wij horen deze vergelijking echter vaak terugkomen, vandaar dat we hier in dit blog er kort op ingaan.

Het doel van virtual machines

Virtuele Machines zijn ontstaan om fysieke hardware resources te kunnen delen, waarbij de verschillende virtuele machines op één fysieke server mogen verschillen qua opzet en inrichting. Dit is een softwarematige imitatie van een fysieke server. Een virtual machine emuleert dus hardware.

Het doel van containers

Het hele idee van containers is daarentegen ontstaan met als doel software op een betrouwbare manier te kunnen gebruiken en te verplaatsen naar verschillende omgevingen en infrastructuur. De evolutie op het gebied van distributie en portabiliteit is dan ook integraal terug te vinden in producten binnen de container-technologie. Hierbij emuleert de container niet de hardware.

Als we ze dan toch gaan vergelijken…

Het belangrijkste verschil is dat een container gebruik maakt van virtualisatie op het niveau van het besturingssysteem, terwijl een virtuele machine dit op het niveau van hardware doet. Dit resulteert in het feit dat containers veel kleiner zijn en veel minder resources/systeembronnen gebruiken. Hierdoor:

  • kan er simpelweg meer (applicatie)functionaliteit op één server.
  • is het eenvoudiger om snel op en af te schalen en daarmee meerdere kopieën van dezelfde functionaliteit draaiend te hebben.
  • past dit in de lijn van het werken met microservices die vaak snel en eenvoudig te deployen moeten zijn.

Misschien een slecht argument voor een vergelijking – maar het geldt wel – is dat container-technologie de toonaangevend innovatie / evolutie binnen de IT is op dit moment. Dit betekent dat alle gerenommeerde technologiebedrijven hierop inzetten en hierin investeren. Dit zorgt voor een grote versnelling van de ontwikkelingen op dit gebied.