Introduction to Programming

Runtime Environments

Personal Computer

Standardization Process

Virtual Machine

Hypervisor with VMs

WSL 2

Windows Subsystem for Linux

History of Unix/Linux OS

VM versus Container

Docker Engine

Wat is Docker?

"It Works on My Machine 😏"

  • Docker is een open-source platform waarmee ontwikkelaars applicaties kunnen maken, implementeren en uitvoeren in containers.
  • Containers zijn lichtgewicht en draagbaar, wat betekent dat applicaties gemakkelijk tussen omgevingen kunnen worden verplaatst.

Voordelen van Docker

  • Consistentie: Docker zorgt ervoor dat de applicatieomgeving consistent is op verschillende machines.
  • Isolatie: Elke container draait in zijn eigen geïsoleerde omgeving, wat betekent dat applicaties kunnen draaien zonder elkaar te storen.
  • Efficiëntie: Containers zijn lichtgewicht, wat betekent dat ze minder middelen gebruiken dan virtuele machines.

Container runtimes

  • Docker: De meest populaire container runtime, Docker stelt je in staat om containers te maken en te beheren met behulp van Docker-images.
  • Containerd: Een industriestandaard container runtime die wordt gebruikt door Docker en andere containerplatforms.
  • CRI-O: Een lichtgewicht en snelle container runtime die is ontworpen voor het uitvoeren van containers in Kubernetes-clusters.
  • rkt: Een op beveiliging gerichte container runtime die is ontwikkeld door CoreOS (nu onderdeel van Red Hat).

Scale up

Standardization Process

Cloud

Container Initiative

Kubernetes

Een inleiding tot Kubernetes, een populaire container orchestrator

Wat is Kubernetes?

  • Kubernetes is een open-source container orchestrator die is ontworpen om het beheer van containerapplicaties op grote schaal te vereenvoudigen.
  • Met Kubernetes kun je containerized applicaties implementeren, schalen en beheren op een efficiënte en gestroomlijnde manier.

Hoe werkt Kubernetes?

  • Kubernetes werkt door het creëren van een cluster van nodes, die samenwerken om containerized applicaties uit te voeren.
  • Elke node kan meerdere containers hosten, en Kubernetes is verantwoordelijk voor het beheren van de communicatie tussen de nodes en de containers.

Belangrijke Kubernetes-componenten

  • Pods: De kleinste en eenvoudigste unit in Kubernetes, die één of meer containers bevat.
  • Services: Een abstractie die wordt gebruikt om toegang te bieden tot een set van één of meer pods, vaak gebruikt voor load balancing.
  • Deployments: Een Kubernetes-object dat wordt gebruikt om de gewenste status van de pods te beschrijven en te beheren.

Voordelen van Kubernetes

  • Automatisering van containerbeheer, wat leidt tot minder menselijke fouten en hogere efficiëntie.
  • Automatische schaalbaarheid, wat het eenvoudiger maakt om snel te reageren op veranderende gebruiksbehoeften.
  • Portabiliteit van applicaties, waardoor het eenvoudiger wordt om applicaties tussen verschillende omgevingen te verplaatsen.

A Service

Box - Box - Cilinder