SISTEMI CLOUD E LABORATORIO
Modulo LABORATORIO

Anno accademico 2023/2024 - Docente: ANDREA FRANCESCO FORNAIA

Risultati di apprendimento attesi

Obiettivi formativi generali in termini di risultati di apprendimento attesi.
  1. Conoscenza e capacità di comprensione (knowledge and understanding): verrano acquisite conoscenza e comprensione dei concetti essenziali e di alcune tra le principali soluzioni cloud e di virtualizzazione. Verranno inoltre trattate tecnologie relative al DevOps, CI/CD e Infrastructure as Code (IaC).
  2. Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): lo studente sarà in grado di impiegare le tecnologie introdotte e sperimentate nel corso, in modo da acquisire capacità operative e progettuali nel campo dello sviluppo di applicazioni Cloud Native e di adozione di tecniche di DevOps.
  3. Autonomia di giudizio (making judgements): lo studente sarà in grado di valutare comparativamente i vantaggi e i limiti delle principali tecnologie disponibili nel campo dello sviluppo di applicazioni per il cloud.
  4. Abilità comunicative (communication skills): lo studente apprenderà la terminologia specifica del cloud computing e acquisirà le abilità comunicative appropriate per esprimere e discutere, ad un livello tecnico rigoroso, le problematiche di interesse.
  5. Capacità di apprendimento (learning skills): lo studente sarà in grado di utilizzare la documentazione tecnica delle soluzioni per il cloud computing, al fine di impiegarle concretamente nelle attività di amministrazione e sviluppo per il cloud computing.

Modalità di svolgimento dell'insegnamento

Sessioni di laboratorio con esercitazioni.

Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.

Prerequisiti richiesti

Conoscenza delle principali architetture e tecnologie per lo sviluppo dei sistemi distribuiti.

Frequenza lezioni

La frequenza delle lezioni è fortemente consigliata. 

Contenuti del corso

  • Virtualizzazione in ambiente Linux
  • Linguaggi di scripting per Infrastructure Automation
  • Tecnologie di Infrastructure as Code per il DevOps
  • Docker e container
  • Tecnologie e pattern per lo sviluppo di applicazioni Cloud Native
  • DevOps e CI/CD, GitOps

Testi di riferimento

Documentazione tecnica resa disponibile dal docente e in rete dai siti ufficiali delle tecnologie e dei servizi cloud oggetto del corso.

Programmazione del corso

 ArgomentiRiferimenti testi
1Virtualizzazione in ambiente Linux
2Linguaggi di scripting per Infrastructure Automation
3Tecnologie di Infrastructure as Code per il DevOps
4Docker e container
5Tecnologie e pattern per lo sviluppo di applicazioni Cloud Native
6DevOps e CI/CD, GitOps

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

Svolgimento di un progetto concordato in anticipo col docente. Discussione in sede d'esame dei risultati ottenuti. La verifica dell’apprendimento potrà essere effettuata nelle fasi intermedie anche per via telematica, qualora le condizioni lo dovessero richiedere.

Esempi di domande e/o esercizi frequenti

Impiego delle tecnologie tipiche del web, dei container e del cloud computing per la realizzazione del progetto scelto.

Gestione dello sviluppo e rilascio del codice su Cloud adottando tecniche di DevOps, strumenti di CI/CD e IaC.