Het afgelopen decennium heeft de IT-wereld veel veranderingen gekend. Eerst zijn we getransformeerd van fysieke hardware naar virtual servers. Toen deden de public en private cloud hun intrede. Afgelopen jaren heeft een veelbelovende innovatie opnieuw voor opwinding gezorgd: Containers. Container-technologie neemt met de dag in populariteit en gebruik toe. Tijd voor een kijkje in de keuken van containers. Want wat zijn containers eigenlijk? Waarin verschillen ze van virtual servers? En welke mogelijkheden en voordelen biedt deze nieuwe technologie?
Wat zijn containers en hoe verschillen ze van virtual machines?
Een container is in principe een ‘pakketje’. Dit pakket bevat een applicatie (software) en alle onderdelen die de applicatie nodig heeft om te kunnen draaien. Zowel bij virtual machines (VM) en containers wordt virtualisatie toegepast waardoor hardware resources efficiënter benut worden. Het grote verschil is dat de virtualisatie op een andere laag van de stack gebeurd. Bij VM’s draait men door middel van een hypervisor (software) verschillende virtual machines op één fysieke server. Bij containers visualiseert men echter het besturingssysteem in plaats van de hardware.
Zoals de afbeelding laat zien draait iedere VM zijn eigen besturingssysteem terwijl containers één besturingssysteem (OS) delen. Iedere VM heeft ook zijn eigen CPU, storage, netwerk adapters en BIOS. Containers daarentegen delen dezelfde kernel en netwerkverbinding. Kijk hier voor een uitgebreidere uitleg over containers.
Wat zijn de voordelen van containers?
Containers bieden zowel voor ontwikkel teams als op strategisch en operationeel gebied verschillende voordelen. Één van de grote voordelen is dat containers erg compact, oftewel ‘lightweight’ zijn. Ze zijn slechts tientallen megabytes, terwijl virtual machines verschillende gigabytes zijn. Daarnaast heeft het uitvoeren ook minder overhead, omdat er slechts één kopie van het besturingssysteem draait. Dit maakt het mogelijk om 2 tot 10 keer zoveel containers als VM’s op één fysieke server te draaien, waardoor je flink kan besparen op hardware- en datacenter kosten. Doordat containers zo lightweight zijn, is het mogelijk om een container binnen enkele seconden op te starten of af te breken. Dit leidt onder andere tot een grote mate van schaalbaarheid.
Een ander belangrijk kenmerk van containers is het feit dat de applicatie als het ware geïsoleerd is van zijn omgeving. Dit zorgt er in de praktijk voor dat containers makkelijker verhuisd kunnen worden naar andere systemen. Door deze isolatie komen ook minder inconsistenties voor tussen bijvoorbeeld een ontwikkel, test en productie-omgeving. Dit voorkomt onder andere bugs, waardoor het ontwikkelproces minder gecompliceerd en tijdrovend wordt, bedrijven beter kunnen inspelen op gebruikerservaring en de time-to-market wordt verkort. Bekijk hier een uitgebreider overzicht van de voordelen van containers.
Implementatie en beheer van container-infrastructuur uitbesteden
Containers bieden ontzettend veel voordelen en kansen. Maar uiteraard bieden ze zoals iedere andere nieuwe technologie ook de nodige uitdagingen en vereist het opzetten van een container platform gedegen kennis. Wanneer een container-omgeving initieel niet volgens best practices ingericht wordt kan dit later in het traject namelijk voor een grote technische schuld zorgen. Ook vereist een container omgeving een andere aanpak van het beheer, de monitoring en security. Zorg er dus voor dat je in zee gaat met een partij die voldoende kennis, expertise en ervaring in huis heeft op het gebied van container-technologie.
Terug naar overzicht