Simulation-Software-Engineering / Simulation-Software-Engineering/Lecture-Material

Potential improvements to the virtualization/containers lecture

Aperta
#202 1 commento 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

lecture reworking part:vm-containers
Lingua principale
Python
Stelle
63
Fork
70
Merge medio
8g 18h
PR unite (30g)
1

Descrizione

Some notes from my impression from this year:

  • Reduce the motivational content, and especially the duplication between sections. I had the feeling that everyone was motivated enough, and we needed more time for details and hands-on.
  • Explain the difference between virtualization and emulation, and explain the compatibility between architectures, since this is now more relevant than in the "almost everyone runs x86" years. This raised a lot of discussion this year. We could also show a concrete demo with QEMU.
  • Discuss KVM as an alternative to VirtualBox (potentially have a demo available)
  • Discuss concrete steps for minimizing the size of the published images (e.g., by running apt clean after apt update && apt install).
  • Put more emphasis on Singularity. I had the impression that students generally knew about Docker, while Singularity is quite neat.
  • Talk about Podman equally as much as Docker (or even default to Podman, in the same way as we default to Apptainer for talking about Singularity).
  • Discuss integration of Docker with VSCode and other tools (I quickly showed this at the end of the exercise).
  • Add a comparison table between solutions.
  • For the exercise, find, test, and suggest concrete solutions for Apple Silicon. This year, we had five students affected by this. What worked in the end was VMWare Fusion with Ubuntu images build for ARM. This worked with Vagrant as well (but I am not sure if the suggested bento/ubuntu-24.04 box worked in the end).

I also found it useful to have an overview of commands on the blackboard:

# Overview

## Vagrant

vagrant init bento/ubuntu-24.04

vagrant up
vagrant provision
vagrant ssh

vagrant global-status
vagrant box list

## Docker

docker pull ubuntu:24.04
docker run -it ubuntu:24.04
docker exec -it ubuntu:24.04 /bin/bash

docker image ls
docker ps -a

## Singularity

apptainer pull docker://ubuntu:24.04

apptainer shell ubuntu_24.04.sif
./ubuntu_24.04.sif
apptainer exec ubuntu_24.04.sif /bin/bash

Any feedback by students is welcome here as well.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Individua il materiale della lezione su virtualizzazione e container e il relativo esercizio, quindi esamina gli argomenti non selezionati e la panoramica dei comandi in questa issue. Aggiorna il contenuto della lezione per coprire gli strumenti richiesti, le pratiche relative alle dimensioni delle immagini, i confronti e le indicazioni per Apple Silicon, e verifica che le dimostrazioni suggerite e le soluzioni dell’esercizio funzionino.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
docker, ubuntu, vscode
Ambito
devops, documentation, infrastructure
Tipo di issue
Documentazione
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.