Voordelen van containers

Vorige week hebben we besproken wat containers zijn. Waar we voorheen van een fysieke omgeving naar een (grotendeels) virtuele omgeving zijn gegaan, gaan we nu van virtueel naar container. Deze week zet ik een aantal voordelen van containers op een rijtje.

Resources besparen

Containers worden vaak vergeleken met virtuele machines, maar hun voetafdruk en omvang zijn veel kleiner. Een VM gaat ervan uit dat je een server draait die meerdere applicaties kan huisvesten. Een container heeft een minimale hoeveelheid besturingssysteem en resources nodig om zijn inhoud te draaien, wat een of meerdere applicaties kunnen zijn. Een container kan een grootte van slechts tien megabytes hebben, terwijl een VM met zijn eigen, volledige OS een aantal gigabytes in omvang kan zijn.  Om deze reden kan een enkele server veel meer containers dan virtuele machines huisvesten. Zie ook deze post over containers.

Snel en makkelijk implementeren en opstarten

Door het containeriseren van het applicatieplatform en zijn afhankelijkheden worden verschillen in OS distributies en de onderliggende infrastructuur weg geabstraheerd. Een container kan vrijwel overal draaien, zelfs in een virtuele machine en op een kale machine. Het maakt de container niet uit. Het implementeren van containers gaat makkelijk en snel. Hoewel het minuten of dagen kan duren om een volledig functionerende VM aan de gang te krijgen, duurt dit bij een container meestal seconden. Een ander groot voordeel is dat het bij VM’s over het algemeen enkele minuten duurt om hun besturingssystemen op te starten en de applicaties die zij huisvesten te draaien, terwijl gecontaineriseerde applicaties bijna direct kunnen worden gestart. Dit betekent dat containers vlak voordat ze nodig zijn geïnstantieerd kunnen worden, en verwijderd kunnen worden als ze niet meer nodig zijn, waardoor resources op hun hosts vrijkomen. Dit is bijvoorbeeld heel fijn voor situaties waarin er snel (en tijdelijk) meer camera’s nodig zijn.

Goed functionerende applicaties in verschillende omgevingen

Doordat alles samen wordt verpakt is een container zeer verplaatsbaar en ontstaan er minder integratie fouten. Containers zijn een antwoord op de vraag hoe software op betrouwbare wijze gedraaid kan worden als het verplaatst wordt van de ene computing omgeving naar een andere. Een eigen Video Management Systeem moet bijvoorbeeld van de laptop van de ontwikkelaar naar een testomgeving en later naar de productieomgeving verplaatst worden. Wat ook kan is dat er applicaties van een fysieke machine op locatie naar een VM in een private of public cloud moeten worden gebracht. Problemen ontstaan als de ondersteunende software omgevingen niet identiek zijn. Maar naast verschillen in software kunnen ook verschillen in netwerktopologie, beveiligingsbeleid en opslag problemen opleveren. Containers zijn hier een goede oplossing voor.

Eenvoudig te beheren applicaties door microservices

Een ander voordeel van containers is dat ze grotere modulariteit mogelijk maken. In plaats van het draaien van een gehele, complexe applicatie binnen een enkele container, kan de applicatie opgesplitst worden in modules (zoals de applicatie front end en de database). Dit is de zogenoemde microservices benadering. Applicaties die op deze manier zijn gebouwd zijn makkelijker te beheren vanwege het feit dat elke module relatief eenvoudig is en veranderingen aan modules kunnen worden gemaakt zonder dat de volledige applicatie opnieuw gebouwd hoeft te worden. Omdat containers zo licht zijn, kunnen individuele modules of microservices alleen indien nodig geïnstantieerd worden en zijn ze bijna meteen beschikbaar.

Dit zijn enkele voordelen van containers. Welke van deze of andere voordelen je kunt benutten met behulp van containerisatie is natuurlijk afhankelijk van jouw omgeving en creativiteit.

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit /  Bijwerken )

Google photo

Je reageert onder je Google account. Log uit /  Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit /  Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit /  Bijwerken )

Verbinden met %s