Infrastructure Automation: inleiding

HOGENT toegepaste informatica

Bert Van Vreckem, Thomas Parmentier, Alexander Veldeman

2025-2026

Intro

Woensdag 10 maart 2021, 01:31

Inuits on-call team merkt dat enkele VMs “weg” zijn.

Dit zijn productiesystemen!

Het lijkt er op dat ze niet terugkomen…

Woensdag 10 maart 2021, 03:42

De situatie

  • OVHcloud is een cloudprovider
  • 32 datacenters over 4 continenten
  • o.a. in Straatsburg (SBG)

Je servers zijn dus weg. Wat nu?

Wat was er gebeurd?

  • Waarschijnlijk een defecte UPS (stroomvoorziening)
  • 3,6M websites, 464K domeinen weg
  • Impact op bedrijven en overheden
  • Geen disaster recovery plan? Vaarwel data! Vaarwel klanten! Vaarwel bedrijf!

De situatie bij Inuits

  • 130 VMs over 12 servers zijn weg
  • Meeste problemen opgelost door automatische failover naar andere datacenters
  • Enkele “probleemgevallen”…

Casus 1

  • VIP klant, failover faalt
  • Handmatige wijziging DNS record nodig voor de load balancer
  • 1u kwijt: klant had controle over DNS, moesten wijziging zelf doen

Casus 2

  • Klant verspreid over 2 DCs
  • Volledige infrastructuur gereconstrueerd bij andere ISP vóór 9:00
  • Zonder notificatie zou klant niets gemerkt hebben…

Impact op Inuits

  • Geen dataverlies!

  • Meeste problemen opgelost voor aanvang kantooruren

Wat is hun “geheim”?

  • Infrastructure as Code
    • Configuration Management
    • Alles is een pipeline!
  • Cloud native
    • Geen eigen HW
    • Multi-cloud, cloud-agnostic
  • High Availability in het design

Referenties

Infrastructure Automation

Infrastructure Automation

Gerelateerde termen:

  • Infrastructure as Code
  • GitOps
  • DevOps

Levenscyclus van een server

Wat zijn de verschillende fasen in het leven van een server(-VM)?

Tooling (1/3)

Tools voor server lifecycle management:

  • Provisioning: lege machine → JEOS
    • Vagrant, Packer, Docker, Terraform/OpenTofu, Pulumi, …
    • (bare metal: WakeOnLan, PXEBoot, Kickstart, …)
  • Configuration Management: JEOS → klaar voor productie
    • Ansible, Puppet, Chef, CFEngine, …

Tooling (2/3)

  • Software Delivery/Release engineering
    • CI/CD: Jenkins, Travis CI, Circle CI, Gitlab CI, Github Actions, …
    • Packaging: rpmbuild, dpkg-deb, fpm
    • Package mgmt: RPM, deb, npm, RubyGems, pip, Helm, Chocolatey, WinGet, …
    • Repository management: Pulp

Tooling (3/3)

  • Orchestration: systemen in productie beheren
    • Ansible, SaltStack, Kubernetes, …
  • Monitoring:
    • Traditioneel: Icinga, Nagios, …
    • Time Series DB: Prometheus, collectd, Cacti, …
    • Logging: Grafana Loki, Elastic stack, Splunk, Fluentd, …

Studiewijzer

Studiewijzer

Zie Chamilo-cursus voor gedetailleerde info!

Leerdoelen en competenties

  • Provisioning: Vagrant
  • Configuration Management Systems: Ansible
  • Software delivery: CI/CD met Jenkins
  • Monitoring: Prometheus
  • Orchestration: Kubernetes

Cursusinhoud

  • Intro, werkomgeving opzetten
  • M1. Continuous Integration/Delivery
  • M2. Configuration management
  • M3. Monitoring
  • M4. Container orchestration

Leermaterialen

Nodige software

PS> winget install Git.Git
PS> winget install Microsoft.VisualStudioCode
PS> winget install Oracle.Virtualbox --version 7.2.2
PS> winget install Hashicorp.Vagrant

(Mac, Linux: zie studiegids op Chamilo)

Software (vervolg)

  • VSCode: installeer aangeraden plugins (zie studiegids)
  • VirtualBox:
    • Versie 7.2.x
    • Extension Pack!
  • Git client: ook Git Bash installeren!

Werkvormen

  • Klassikale instructie en demonstraties
  • Labo-opdrachten

Studiebegeleiding

  • Individuele begeleiding voor labo-opdrachten
  • Stel vragen tijdens de les
  • Buiten de les: algemeen Teams-kanaal
  • Enkel voor persoonlijke vragen: e-mail

Gebruik van AI

  • Kritisch gebruik van full AI is toegelaten (zie https://aiassessmentscale.com)
  • Jij bent verantwoordelijk voor de inhoud van je werk:
    • Je controleert de output (hallucinaties, verouderde info, niet correct voor deze opstelling, …)
    • Je past de output aan waar nodig voor de opdracht
    • Je begrijpt de code ten gronde en kan deze uitleggen of aanpassen
  • Je bent nog steeds in staat om gebruik te maken van “klassieke” documentatie en je eigen labonota’s

Gebruik van AI (vervolg)

Labo-verslag met kritische reflectie:

  • Welke AI tool(s) heb je gebruikt?
  • Geef voorbeelden van prompts/output
  • Grootste succes?
  • Grootste teleurstelling?
  • Waar ga je in de toekomst op letten bij professioneel gebruik van AI?
  • Zou je de labo-opdrachten aanpassen voor het AI-tijdperk?

Evaluatie

  • Beoordeling via rubrics
    • Voor elke opdracht minstens “bekwaam” (5/10) halen
  • Portfolio:
    • Github repo met broncode en laboverslagen
  • Demo’s:
    • Tijdens het semester:
      • M1, M4 vóór de deadline!
      • On-campus of via Panopto-opname
      • M2, M3 optioneel voor W12 of via Panopto voor 17/12
    • Examenperiode:
      • M2, M3 via Teams

Tweede examenkans

Persoonlijke opdracht, geen begeleiding

  • Niet afgewerkte labo-opdrachten
  • Extra opdrachten (TBD), mogelijke topics:
    • Packer, OpenTofu
    • Cilium, Helm, Chaos Engineering
    • Gitlab CI
    • Grafana Loki
    • Bijdrage open source project

Semesterplanning

  1. Intro, installatie software

    M1. Continuous Integration/Delivery with Jenkins

  2. (labos)

  3. M2. Configuration management with Ansible

  4. (labos)

  5. (labos) Deadline M1.

  6. M3. Monitoring

Semester schedule

  1. (labos)

  2. (labos)

  3. M4. Container Orchestration with Kubernetes

  4. (labos)

  5. (labos)

  6. (labos) Deadline M4.

  7. Optioneel: inhaalsessie

    Wo 17 dec: Deadline Panopto-opnames (M2, M3)

Vragen?

  • Stel vragen tijdens de contactmomenten
  • Gebruik het Teams-kanaal

Save the date!

2-3-4 Februari 2026: Configuration Management Camp 2026 Ghent

  • Campus Schoonmeersen
  • Gratis! (mits registratie)
  • Professionele conferentie met wereldwijde uitstraling
  • Keynotes, 10 parallelle tracks, lightning talks
  • Woensdag: workshops, fringe events

https://cfgmgmtcamp.org/ghent2026/

cfgmgmtcamp topics

  • Ansible, Puppet, Chef, SaltStack
  • Foreman, Pulp, Katello, System Initiative
  • Terraform, OpenTofu, Pulumi
  • NixOS
  • Cloud, Kubernetes
  • Observability, Monitoring