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 kun je het voor gebruiken? Wat is het nou eigenlijk? Daar gaan we in deze mini serie over containers dieper op in.
Doel
In de meest basale vorm is het belangrijkste doel van containerization (het toepassen van container technologie) het bieden van een betere manier om applicaties te kunnen maken, packagen en deployen op verschillende infrastructuren terwijl de 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 virtualiseert, 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 Cloud platform. Een container image bevat de applicatie en alles wat deze nodig heeft om te functioneren. In het volgende deel van deze mini serie gaan we in op het uitrollen van een container. Van steeds meer bestaande software wordt tegenwoordig ook een containervariant aangeboden.
Hoe werkt een container?
Hierboven werd al genoemd dat containers een vorm van virtualisatietechniek 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 virtualisatiesoftware, 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 Cloud 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! U kunt natuurlijk contact met ons opnemen hiervoor via info@interconnect.nl.
Plaats reactie