- Door
- Jeroen Bakker (Cyso)
- geplaatst op
- 1 september 2015 10:00 uur
Vroeger stond iedere server op z’n eigen hardware. Met de komst van virtualisatie en cloudtechnologie werd het mogelijk deze hardware te delen en flexibeler en efficiënter in te zetten naar behoefte. De mogelijkheden om resources te delen, te verdelen en dynamisch in te zetten, zijn tegenwoordig echter nog uitgebreider door de komst van containertechnologie. Het gebruik van containers is één van de belangrijkste IT-trends van dit moment en de technologie maakt een razendsnelle ontwikkeling door. Docker, Kubernetes en Mesos zijn daarbinnen de belangrijkste technologieën.
Wat zijn containers?
Waar het bij virtualisatie gaat om het delen en efficiënt inzetten van hardware resources, draait het bij containers om software. Virtuele servers delen hardware; containers delen een operating system (OS) met elkaar. Applicaties die draaien in containers denken dat zij elk toegang hebben tot hun eigen OS. Containers gebruiken maar weinig resources (zoals geheugen en CPU cycles) en zijn efficiënter qua beheer doordat er slechts één OS hoeft te worden onderhouden.
Met containers kunnen razendsnel eenvoudige, lichtgewicht omgevingen (microservices) gemaakt worden. Wilt u snel de impact van wijzigingen aan systemen of applicaties uitproberen? Maak een container aan, voer de update uit en gooi de container na afloop direct weer weg. Er hoeven geen complete servers meer te worden uitgerold; alleen datgene wat u echt wilt testen hoeft uitgerold te worden.
Waarom zijn Docker containers interessant?
In een container worden applicaties (zoals bijvoorbeeld Magento, Apache of MySQL) verpakt, zodat deze veelvuldig, razendsnel en zelfstandig ingezet kunnen worden. De inhoud van een container is vrij te bepalen, waardoor het mogelijk is om alle onderdelen van online diensten uit elkaar te trekken in afzonderlijke en onafhankelijk opererende containers.
Docker is een open-source project dat voorziet in een API om eenvoudig met containers om te kunnen gaan. Docker werkt via een client-server model dat ingezet wordt om met gestandaardiseerde containerimages te werken. Met Docker is het mogelijk om via een overzichtelijke command line interface en API containers te maken en te beheren.
Docker draait als aparte service op een Linux host. Containers kunnen gebruikt worden voor ontwikkeling, testen en productie op een virtual server, een werkstation, een laptop, OpenStack clusters, public clouds en meer.
Automatische deployment en orchestration
Het gebruik van containers is voornamelijk krachtig als het wordt ingezet voor de vereenvoudiging van deployment, standaardisering van software en veelzijdige schaalbaarheid en orchestration. Een belangrijk kenmerk van containers is namelijk dat ze eenvoudig en snel te recyclen zijn. Waar men een (al of niet virtuele) server zorgvuldig verzorgt en beheert, zijn containers snel en eenvoudig te kopiëren en te vervangen. Om dit snel en geautomatiseerd te kunnen doen, worden tools zoals Kubernetes en Mesos gebruikt.
Met deze tools worden regels en procedures gedefinieerd die bepalen hoe een applicatie om moet gaan met drukte, storingen en andere omstandigheden. Deze software stuurt vanuit een Master node de infrastructuur (Minions) aan om containers te verplaatsen, te kopiëren of te verwijderen. Hiermee is het mogelijk om op een slimme manier, zonder menselijke tussenkomst applicaties uit te rollen, te laten schalen en om te laten gaan met calamiteiten.
Docker Container Hosting
Containers zijn uniforme bouwstenen, zeer schaalbaar, goedkoop in gebruik en razendsnel uit te rollen. Ze vereenvoudigen zowel beheer als testen en uitrollen van updates. Voor het grootschalig inzetten van applicaties kan het een goedkope en bijzonder efficiënte oplossing zijn.
Hostingproviders kunnen op verschillende manieren Docker hostingdiensten aanbieden. Enkele voorbeelden:
- Als gestandaardiseerde applicaties die met Docker-technologie beheerd worden; denk hierbij bijvoorbeeld aan Magento of WordPress. U profiteert van een voordelige, maar toch volledig afgescheiden omgeving voor uw webapplicatie. De hostingprovider beheert de applicatie-infrastructuur, u alleen de content van uw website.
- Als onderdeel van Managed Hosting diensten. De provider zorgt voor het ontwerp en beheer van uw op Docker gebaseerde platformen en applicaties. Platformarchitecten verzorgen technisch design; ontwikkelaars helpen u bij deployment en orchestration; beheerders zorgen ervoor dat uw applicatie altijd beschikbaar en veilig is.
- U kunt ook alleen de onderliggende infrastructuur afnemen van uw hostingprovider (als public of private cloud). U kunt er in dat geval helemaal zelf mee aan de slag. Uw provider levert dan de connectiviteit en het platform (hardware of cloud) waarop u uw toepassingen ontwikkelt en beheert.
Geschreven door Jeroen Bakker (Cyso)
Dit ingezonden artikel is geschreven door Jeroen Bakker van Cyso.
Stuur ook uw blog, achtergrond artikel of andere bijdrage in!
Indien u zelf een interessante bijdrage, zoals een blog, how-to of achtergrond heeft, dan plaatsen wij die graag en dat kost u niks. Neem contact op met de ISPam.nl redactie via [email protected] of kijk op deze pagina voor meer informatie over het leveren van een bijdrage aan ISPam.nl.