2022-10-05

Architettura Monolitica e Architettura dei Microservizi

Categoria: development

Siamo abituati ad assistere a cambiamenti repentini in tecnologia, quello di cui vorrei parlare oggi però è qualcosa di più: un cambiamento strutturale, un cambiamento di architettura del software che ci porta a ripensare completamente a come organizzare il nostro lavoro.
Nel tentativo, come spesso avviene nell'ambito delle innovazioni tecnologiche, di evitare il wipeout ed esserne travolto, si propone una nuova ed esaltante sfida, quella lanciata dai microservizi.

Che cosa sono i microservizi

I microservizi sono un apporccio che organizza la struttura di un prodotto (o servizio, perdona la ripetizione) in modo che questo sia composto da servizi indipendenti che comunicano tramite interfacce di programmazione (API).

Facciamo subito esempi pratici, in modo da limitare il linguaggio assertivo e andare nel dettaglio delle questioni.

Architettura Monolitica

Si definisce Architettura Monolitica quella in cui tutti i processi collegati tra loro sono eseguiti come un unico processo, o servizio.
Non sempre è un male, diciamo però che a svantaggio, esempi tipici di criticità sono quello del ritardo di un particolare proccesso che ritarda in evitabilmente il totale; oppure il caso di picchi, oppure ancora quello di un errori.

In questa architettura, come suggerisce il nome, la parola chiave è unicità, una rete di elaborazione unica e di grandi dimensioni con una base di codice che raggruppa tutti gli obiettivi di business.

Architettura di microservizi

La grande novità che introduce l'Architettura dei microservizi è legata al concetto di atomizzazione, l'introduzione di componenti che si occupano in maniera specifica di un processo (o servizio).
In questo modo ogni servizio ha una funzione e risulta di facile manutenzione, indipendente dalle altre, l'eventuale interruzione di un servizio, con le dovute e necessarie precisazioni del caso, non comprometteranno il funzionamento dell'applicativo in generale.

Questo intendiamo quando parliamo di sistema distribuito che si origina dalla comunicazione tramite API di tali componenti, che possono essere modificati in modo indipendente, magari da team di lavoro differenti in perfetta modalità Agile

Sviluppi

Ecco come spiegare in breve la popolarità dei moderni framework JavaScript, React, (e Next.js), Vue, Angular (ecc...); in cui i concetti chiave sono l'atomizzazione, l'essere strutturati in componenti, la gestione della comunicazione tra di loro...

Torneremo ancora sull'argomento con esempi di applicazioni tipiche dell'Architettura a Microservizi. Spero ti sia piaciuto questo articolo, fammi sapere cosa ne pensi!

Spotify è spento
Enjoy the Silencetorna presto!