Sobes.tech
Junior

Wat is het verschil tussen containerisatie en virtualisatie?

sobes.tech AI

Antwoord van AI

Virtualisatie emuleert de hardware, waardoor het mogelijk is om meerdere besturingssystemen op één fysieke server te draaien. Elke virtuele machine (VM) heeft zijn eigen besturingssysteem, kernel, bibliotheken en applicaties. Dit biedt sterke isolatie, maar vereist aanzienlijke bronnen (geheugen, CPU, schijfruimte) voor elke VM.

Containerisatie werkt op OS-niveau, waarbij de kernel van het OS wordt gedeeld tussen de applicaties. Een container bevat alleen de applicatie, haar afhankelijkheden en bibliotheken. Dit maakt containers lichter, sneller op te starten en minder resource-intensief dan VM's. Isolatie wordt bereikt op proces- en naamruimte-niveau van het OS.

Hier zijn de belangrijkste verschillen:

Parameter Virtualisatie Containerisatie
Niveau van werking Hardware Besturingssysteem
Isolatie OS en VM-kernel Processen en naamruimtes van het OS
Resources Hoog (voor elke VM) Laag (gedeeld kernel)
Snelheid Langzame VM-start Snelle container-start
Beeldgrootte Groot (inclusief OS) Klein (alleen applicatie en dependencies)
Draagbaarheid Vereist compatibiliteit op VM-niveau Hoog (werkt op elke host)

Voorbeeld van VM-configuratie:

// Configuratiebestand voor qemu/kvm
[drive]
file=/var/lib/libvirt/images/mijn-vm.qcow2
if=virtio
bus=virtio
cache=none

[cpu]
type=host

[memory]
size=4g

Voorbeeld van Dockerfile-definitie voor een container:

# Gebruik een basisafbeelding
FROM ubuntu:20.04

# Installeer afhankelijkheden
RUN apt-get update && apt-get install -y nginx

# Kopieer applicatiebestanden
COPY html /var/www/html

# Open poort
EXPOSE 80

# Start de applicatie
CMD ["nginx", "-g", "daemon off;"]