Cloud computing technologies

A.A. 2024/2025
6
Crediti massimi
48
Ore totali
SSD
INF/01
Lingua
Inglese
Obiettivi formativi
Gli obiettivi dell'insegnamento sono i) fornire competenze architetturali sui sistemi cloud di nuova generazione compreso il loro impatto nelle moderne applicazioni distribuite sia da un punto di vista funzionale che non funzionale, ii) approfondire le tecnologie al base dei sistemi di cloud computing.
Risultati apprendimento attesi
Competenze teoriche per la progettazione di architetture cloud e competenze pratiche per l'implementazione di soluzioni cloud complesse a supporto di applicazioni distribuite di nuova generazione.
Corso singolo

Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.

Programma e organizzazione didattica

Edizione unica

Periodo
Secondo semestre

Programma
L'insegnamento si compone di quattro aree principali, strutturate come segue:

1. Introduzione ai sistemi distribuiti moderni
- Concetti di base, requisiti e storia dell'evoluzione
- Fondamenti di virtualizzazione

2. Nozioni di base sul cloud computing
- Modelli di servizio e deployment, tecnologie e casi di studio
- Migrazione verso il cloud, cloudonomics, sfide e problemi
- Esempi pratici

3. Fondamenti delle architetture a microservizi
- Panoramica e concetti di base
- Migrazione verso architetture a microservizi
- Tecnologie basate su container: sviluppo, orchestrazione e distribuzione
- Esempi pratici

4. Aspetti non funzionali dei moderni sistemi distribuiti
- Tecniche di assicurazione e rischio
- Audit, Certificazione, Conformità
- Resilienza e tolleranza ai guasti
- Esempi pratici
Prerequisiti
Conoscenza dei concetti base delle reti di calcolatori, fondamenti di programmazione e di sicurezza informatica.
Metodi didattici
L'insegnamento viene erogato mediante lezioni frontali per l'apprendimento dei concetti teorici più relevanti. Sessioni di demo presenteranno l'applicazione dei concetti teorici appresi nella pratica.
Materiale di riferimento
Dispense e slide disponibili alla pagina web dell'insegnamento https://myariel.unimi.it/
Codice e descrizione delle demo al sito github del progetto: https://github.com/Sesar-Lab-Teaching/Cloud-Computing-Technologies

SISTEMI DISTRIBUITI
1. Tanenbaum, S., Maarten Van Steen, Distributed Systems: Principles and Paradigms, Prentice Hall (2007), 0-13-239227-5. M. van Steen and A.S. Tanenbaum, Distributed Systems,
3rd ed., distributed-systems.net, 2017.
2. George Coulouris, Jean Dollimore, Tim Kindberg, Distributed Systems - Concepts and Design, 4th edition, Pearson/Addison Wesley (2006), 0321-26354-5

CLOUD
- L. Badger, T. Grance, R. Patt-Corne, J. Voas, Cloud Computing Synopsis and Recommendations, NIST, http://csrc.nist.gov/publications/nistpubs/800-146/sp800-146.pdf
- B. Sosinsky, Cloud Computing Bible, 2011

REST services
- R.T. Fielding, Architectural Styles and the Design of Network-based Software Architectures, https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
- L. Richardson and S. Ruby, RESTful Web Services, http://www.crummy.com/writing/RESTful-Web-Services/
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste in una prova orale e un progetto. La prova orale punta ad accertare, tramite una serie di domande, le conoscenze dello studente su tutti gli argomenti trattati nell'insegnamento. Il progetto, la cui qualità verrà valutata durante la prova orale, mira ad approfondire gli aspetti pratici di uno degli argomenti trattati nell'insegnamento. La valutazione complessiva, espressa in trentesimi, terrà conto dei seguenti parametri: grado di conoscenza degli argomenti, capacità di applicare le conoscenze alla risoluzione di un progetto concreto, qualità del progetto sviluppato, capacità di ragionamento critico, chiarezza espositiva e proprietà di linguaggio.
INF/01 - INFORMATICA - CFU: 6
Lezioni: 48 ore
Turni:
Docente/i
Ricevimento:
Su appuntamento
Ufficio docente (7003) presso il Dipartimento di Informatica in Via Celoria 18, Milano (MI)
Ricevimento:
Su appuntamento
Ufficio docente presso il Dipartimento di Informatica in Via Celoria 18, Milano (MI)