chp:containers

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
chp:containers [2018/09/13 16:52] – created matthiaschp:containers [2026/05/27 14:01] (current) – external edit 127.0.0.1
Line 1: Line 1:
  
 ====== Wat zijn containers ? ====== ====== Wat zijn containers ? ======
-===== Geschiedenis =====+Technisch gezien zijn containers geisoleerde processen. Maar wat betekend dat precies en waarom moeten deze processen zo nodig geisoleerd zijn? En wat is dan het verschil met een Virtuele Machine (VM)?
  
 {{:chp:algemeen:old-cargo.jpg?nolink&300 |}}  {{:chp:algemeen:old-cargo.jpg?nolink&300 |}} 
  
-Om uit te leggen wat containers zijn moeten we eerst een stukje de geschiedenis in. +Laten we eerst beginnen met wat containers niet zijn. Containers zijn geen "mini VMs", door je applicatie in een container te stoppen wordt het geen micro-service 
- +Vaak wordt er een vergelijking gemaakt met zee-containers en met de transport-industrie. In die zin is een applicatie-container inderdaad een container en is een VM het hele schip met de vracht. \\
-In het verleden werden goederen vervoerd in kratten, tonnen en kisten. Het probleem hiervan was dat ieder z'n eigen formaat had en hierdoor moeilijk te stapelen en vast te maken warenVooral bij schepen was dit een probleem omdat deze tijdens de tocht over zee en oceaan veel bewegen. \\ +
- +
- +
-De transport industrie heeft hier een oplossing voor bedacht in de vorm van (zee)containers die allemaal een standaard vorm en maat hebben. +
-De containers zijn door de klanten van de vervoers maatschappijen zelf in te pakken op de manier die voor hun het beste is en het enige waar de vervoers maatschappijen rekening moeten houden is het vervoeren van de container zelf. Hierdoor zijn de containers makkelijk te stapelen op schepen, gaan ze perfect achter een vrachtwagen en passen ze allemaal achter elkaar achter een trein. \\ +
 {{:chp:algemeen:container-vessels1-1024x683.jpg?nolink&200|}}  {{:chp:algemeen:container-vessels1-1024x683.jpg?nolink&200|}} 
 {{:chp:algemeen:510179304-612x612.jpg?nolink&200|}}  {{:chp:algemeen:510179304-612x612.jpg?nolink&200|}} 
 {{:chp:algemeen:container-train-3-2-696x461.jpg?nolink&200|}}  {{:chp:algemeen:container-train-3-2-696x461.jpg?nolink&200|}} 
 +Een container is bijvoorbeeld alleen een php worker met alles wat php nodig heeft om te kunnen werken met niets meer en niets minder. Het is geen virtuele server met alles wat daarbij komt kijken. Daardoor kunnen containers veel sneller opgestart en afgesloten worden. 
  
  
  
-===== Applicatie Containers =====+==== Waarom de isolatie, waar is dat voor nodig?  ==== 
 +Standaard word er applicatie-processen weinig in de weg gelegd om volledig beslag te kunnen nemen op je hele (virtuele) machine. Want dat is soms is dat ook echt nodig. Het gevolg is dat applicatie-processen elkaar in de weg (kunnen) zitten. Container-processen hebben hun eigen omgeving op het gebied van storage, netwerk, gebruikers, processen en worden qua CPU en geheugenverbruik waar nodig ingeperkt doordat ze in een control-group draaien. In het kort betekend dit dat container-processen elkaar niet zo snel in de weg zullen zitten.  
  
-{{ :chp:algemeen:application-container.png?nolink&300|}}  +===== Containers maken applicaties met alle benodigdheden reproduceerbaar=====  
-Bij applicatie containers gebeurt hetzelfdeDe applicaties worden door middel van standaard linux tools en settings in een afgesloten container gestartAan de kant van het het platform zien deze er allemaal hetzelfde uit en zijn gemakkelijk te stapelen.+Een ander probleem is dat applicaties soms lastig te reproduceren zijnDat komt vooral doordat de omgeving waarbinnen de applicaties draaien traditioneel lastig te reproduceren is. De applicatie-code zelf staat idealiter in een versie-beheer systeem zoals Git, daarmee kun je heel makkelijk de code zelf ergens uitrollen\\ 
 +Maar dat is alleen maar de code. Een site heeft naast de ruwe code ook natuurlijk een stuk configuratie en infrastructuur nodig om te kunnen werken
  
 Ontwikkelaars pakken de container in met alles wat ze nodig hebben voor het draaien van de applicatie, hier kunnen ze heel specifiek zijn in welke versies ze nodig hebben en zijn niet meer afhankelijk van wat er al op het systeem staat. Ontwikkelaars pakken de container in met alles wat ze nodig hebben voor het draaien van de applicatie, hier kunnen ze heel specifiek zijn in welke versies ze nodig hebben en zijn niet meer afhankelijk van wat er al op het systeem staat.
  • chp/containers.1536850350.txt.gz
  • Last modified: 2026/05/27 14:01
  • (external edit)