- Docente: Davide Luppoli
- Crediti formativi: 6
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Cesena
- Corso: Laurea in Tecnologie dei sistemi informatici (cod. 6007)
-
dal 20/02/2025 al 05/06/2025
Conoscenze e abilità da conseguire
Al termine del corso, lo studente conosce approfonditamente le strategie di sviluppo di sistemi in cloud ed i framework per lo sviluppo forniti dai principali cloud provider, ed in particolare: i linguaggi ed i metodi per realizzare e gestire infrastrutture virtuali per mezzo di codice (IaC) e per bilanciare dinamicamente il carico; i principali linguaggi e framework per realizzare applicazioni a base web in cloud; i principali processi di sviluppo per la conduzione di progetti in cloud e gli strumenti disponibili; i principali strumenti per realizzare servizi di directory e meccanismi di sicurezza delle comunicazioni nei sistemi ed applicazioni dispiegati in cloud; i principali strumenti per monitoraggio, billing e auditing delle applicazioni e dei sistemi in cloud. Conosce le principali certificazioni dei principali cloud provider. È in grado di progettare o contribuire a progettare un sistema informatico di piccole o medie dimensioni dispiegato in cloud.
Contenuti
Introduzione ai concetti teorici alla base del cloud computing, inclusi i paradigmi (scalability, elasticity, ...) e i modelli di servizio (IaaS, PaaS, SaaS, ...).
Presentazione dei modelli di deploy in cloud (pubblico, privato e ibrido), dei principali cloud provider (AWS, Azure, GCP) e delle architetture di base.
Approfondimento sulle seguenti tematiche:
- IaaS e virtualizzazione: cenni storici, casi d'uso, vantaggi/svantaggi, esempi su GCP.
- Architetture scalabili: autoscaling verticale e orizzontale, bilanciamento del carico, stateful vs stateless application.
- Architetture dei dati: database relazionali e non relazionali, cache server e object storage model.
- Container: introduzione al concetto e differenze rispetto alla virtualizzazione, modalità di utilizzo, Docker.
- Architetture a microservizi: differenze e vantaggi rispetto ad architetture monolite, RESTful API, esempi e casi di studio.
- PaaS: modelli serverless, caratteristiche principali, casi di studio su GCP.
- Monitoraggio e logging: brevi cenni teorici sulle metriche, SLI/SLO/SLA, tipologia di log, monitoraggio attivo.
- DevOps: significato e responsabilità, Continuous Integration e Continuous Delivery.
- Infrastracture as Code: definizione, paradigma, linguaggi dichiarativi e framework.
- Cloud Security: shared responsability model, sicurezza delle piattaforme, esempi di strumenti per la sicurezza
Testi/Bibliografia
Le slide e il materiale aggiuntivo saranno rese disponibili su Virtuale.
Metodi didattici
Lezioni frontali ed esercitazioni in laboratorio.
Modalità di verifica e valutazione dell'apprendimento
L'esame è diviso in due parti: una prova scritta e una prova orale individuale. Opzionalmente, la prova scritta può essere sostituita dalla presentazione di un progetto svolto in gruppo.
Strumenti a supporto della didattica
Slide fornite dal docente, crediti per l'utilizzo di Google Cloud Platform e per la piattaforma CloudSkillBoost
Orario di ricevimento
Consulta il sito web di Davide Luppoli