Descrizione del modulo: dgt_k8s07 – Introduzione ai container
Panoramica
Il modulo “dgt_k8s07 – Introduzione ai container” è un’introduzione ai fondamenti della containerizzazione rivolta ai principianti. Tratta l’architettura dei container, i loro vantaggi e le loro applicazioni nello sviluppo software moderno.
Obiettivi del modulo
Al termine del modulo, i partecipanti saranno in grado di:
- Comprendere che cosa sono i container e come funzionano.
- Confrontare i container con le macchine virtuali VM, concentrandosi sulle differenze architetturali e sui casi d’uso.
- Guidare la macchina in linguaggio naturale nella configurazione e gestione di ambienti containerizzati con strumenti diffusi come Docker e Kubernetes, e verificare che il risultato corrisponda a quanto richiesto.
- Descrivere come deve essere effettuato il deploy di un’applicazione in un ambiente containerizzato, e rivedere i Dockerfile e i manifest che la macchina produce per farlo.
Moduli principali
- Introduzione alla containerizzazione
- Definire i container: che cosa sono e perché sono importanti?
-
Contesto storico: l’evoluzione dalle VM tradizionali ai container moderni.
-
Differenze tra macchine virtuali e container
- Differenze architetturali: comprendere la tecnologia sottostante.
- Considerazioni sulle prestazioni: efficienza delle risorse dei container rispetto alle VM.
-
Casi d’uso: quando scegliere i container invece delle macchine virtuali, e viceversa.
-
Orchestrazione dei container con Kubernetes
- Introduzione a Kubernetes: concetti chiave e architettura.
-
Gestire i container su larga scala: deployment, scaling e strategie di gestione.
-
Laboratori in linguaggio naturale
- Docker: chiedere alla macchina di installare Docker e avviare il tuo primo container, quindi ispezionare che cosa è davvero in esecuzione.
- Kubernetes: descrivere alla macchina l’applicazione di cui vuoi il deploy su un cluster e leggere i manifest che applica.
- Scenari reali: esercitazioni pratiche in cui verifichi e correggi il lavoro della macchina per consolidare la comprensione.
Qui l’approccio dell’academy è evidente: una volta che sai che cosa sono namespace, cgroup e immagini, puoi lasciare che sia la macchina a costruire ed eseguire i container mentre tu mantieni il controllo, verificando quale immagine ha scaricato, quali porte ha esposto e se il pod è davvero in salute e non semplicemente “creato”.
Una nota speciale
Nell’ambito della nostra esplorazione dell’evoluzione e dell’impatto delle tecnologie informatiche, faremo riferimento al talk di Kat Cosgrove “Fly Me to the Moon: Punch cards, Supercomputers, and Kubernetes”. La presentazione offre un contesto storico su quanta strada abbia fatto la tecnologia, dai primi sistemi di calcolo alle piattaforme di orchestrazione dei container di oggi come Kubernetes, trattando sia i progressi tecnici sia l’impatto che queste tecnologie hanno avuto.
Destinatari
Questo modulo è rivolto a:
- Sviluppatori software che adottano la containerizzazione nei propri flussi di lavoro.
- Professionisti IT che passano a ruoli DevOps.
- Chi è interessato alle moderne strategie di deploy delle applicazioni.
Gli studenti possono caricare i propri esercizi nel Progetto Git dell’Academy DevOps & SRE. Per questo modulo, crea una cartella con il tuo username come nome nella seguente sottocartella: https://github.com/Garanti-Del-Talento/gdt_academy
