95655 - LABORATORIO DI PIATTAFORME E METODOLOGIE DI SVILUPPO CLOUD

Anno Accademico 2022/2023

  • Docente: Giovanni Delnevo
  • Crediti formativi: 6
  • Lingua di insegnamento: Italiano
  • Moduli: Giovanni Delnevo (Modulo 1) Manuel Iaderosa (Modulo 2)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
  • Campus: Cesena
  • Corso: Laurea in Tecnologie dei sistemi informatici (cod. 5816)

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: la presentazione di gruppo del progetto e una prova orale individuale.


Strumenti a supporto della didattica

Slide fornite dal docente

Orario di ricevimento

Consulta il sito web di Giovanni Delnevo

Consulta il sito web di Manuel Iaderosa

SDGs

Imprese innovazione e infrastrutture

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.