Terug naar overzicht

Tegenwoordig lijkt het alsof er aan containertechnologie zoals Docker of Kubernetes geen ontkomen meer is. Is het echt de ‘holy grail’ of valt het allemaal wel mee? Waar kan je het voor gebruiken? Wat is het nou eigenlijk? Daar gaan we in deze miniseries over containers dieper op in.

Doel

In de meest basale vorm is het belangrijkste doel van containerization (het toepassen van container technologie) voor de meeste ontwikkelaars het bieden van een betere manier om applicaties te kunnen maken, packagen en deployen op verschillende infrastructuren terwijl consistentie gewaarborgd is.

Wat is een container?

Containers zijn een vorm van virtualisatie binnen een bestaand besturingssysteem (OS) om applicaties en eventuele afhankelijkheden geisoleerd en gestandaardiseerd te kunnen draaien. Doordat het binnen een bestaand besturingssysteem virtualiseerd, hebben containers minder overhead dan volledige Virtual Machine (VM) virtualisatie.

Omdat containers in essentie isolatie en standaardisatie bieden, zijn ze inzetbaar vanuit het perspectief van een development engineer, maar ook vanuit het perspectief van een operations engineer. 

Zo kan een developer zijn applicatie beginnen op een container in test en deze door de lifecycle uiteindelijk op productie uitrollen. Eventuele afhankelijkheden voor de applicatie worden meegenomen binnen de container.

Containers worden gemaakt op basis van container images, vergelijkbaar met een template voor een VM op ons IaaS platform. Een container image bevat de applicatie, en alles wat deze nodig heeft om te functioneren. In het 2e deel van deze miniseries gaan we in op het uitrollen van een container. Van steeds meer bestaande software wordt tegenwoordig ook een container variant geboden.

Hoe werkt een container?

Hierboven werd al genoemd dat containers een vorm van virtualisatie techniek toepassen. Het verschil tussen een container en een VM is dat een VM een volledige virtualisatie van een computer inclusief besturingssysteem biedt. Een VM wordt daarna binnen een cluster van servers die virtualisatie software, zoals VMware ESXi, of Linux KVM draaien gehost.

Virtualisatie van VM’s is al meerdere tientallen jaren gemeengoed binnen de IT en wordt door Interconnect aangeboden met haar IaaS dienst. Het biedt, simpel gezegd, een manier om de resources van een fysieke server optimaal te benutten, door deze te verdelen in meerdere virtuele servers met elk een eigen Operating System. Alhoewel deze aanpak goed werkt, kan de overhead van al deze virtuale servers vanuit beheer en kostenperspectief snel oplopen.

Containers zijn een belangrijk onderdeel van de Interconnect roadmap. Het belangrijkste verschil tussen een container en een VM is dat een container virtualiseert binnen het operating system. Elke container draait als zijn proces, met een geisoleerde environment en resources.

Aan de slag!

Deel 2 komt snel!

Plaats reactie

1000 Resterende tekens