Vai alla Homepage del Portale di Ateneo Laurea in Informatica

Seminario Microservizi

Il seminario sarà tenuto dal Prof. Davide Rossi

11 maggio 2022 dalle 11:00 alle 14:00

Aula Ercolani 1 - Mura Anteo Zamboni 2/b - Bologna - Evento in presenza

I microservizi, o più propriamente le architetture a microservizi, sono la spina dorsale di molte fra le più note aziende “dot.com”, al punto che è difficile identificarne una fra le più conosciute che non ne faccia ampio uso. In queste architetture le singole applicazioni sono costituite da un ampio numero di servizi molto focalizzati e con responsabilità limitate che collaborano al fine di realizzare le funzionalità richieste, in opposizione alle classiche applicazioni "monolitiche". In questo seminario analizzeremo le buone pratiche per progettare applicazioni di questo tipo e discuteremo le opzioni tecnologiche per realizzarle. Vedremo come l’uso dei container e delle applicazioniper  la loro gestione (es. Docker), insieme agli orchestratori (es. Kubernetes), risultino vere e proprie tecnologie abilitanti in questo contesto. Affronteremo poi alcuni delle “best practices” e dei principali pattern applicati ai microservizi, quali circuit breaker, bulkhead e sidecar. Arriveremo quindi a descrivere cosa sono le service mesh (es. Istio) e come ci possono aiutare nella realizzazione e nella gestione di questa classe di applicazioni.

Discuteremo anche vantaggi e svantaggi che queste soluzioni comportano, in particolare rispetto alle varie classi di requisiti non funzionali che, per comodità,  raggruppiamo sotto i termini “ombrello” disponibilità e consistenza. Ci sono infatti diverse criticità che possono emergere nelle soluzioni basate su microservizi, alcune mitigabili altre no, tipicamente legate  al fatto che, sotto la “coperta della novità”, si tratta pur sempre di applicazioni distribuite.
Uno dei principali problemi che sembrano essere alla base di alcune fra le più note “horror stories” che riguardano l’adozione dei microservizi che si leggono sui social media ad argomento tecnologico sembrano infatti valutazioni errate legate a questo aspetto. Cercheremo quindi, in una prospettiva di ingegneria del software, di analizzare
quando le soluzioni basate sui microservizi sono più adatte ricordando, come opportuno, che le scelte architetturali dovrebbero sempre essere guidate dalle priorità associate agli aspetti non funzionali. Il seminario si propone di essere una occasione informale di interazione fra persone interessate a questi argomenti, domande su aspetti non direttamente trattati, testimonianze di esperienze personali, o qualsiasi altra occasione di confronto su argomenti legati ai microservizi saranno benvenute e spero che concorreranno a rendere l’evento più interessante.