Caratteristiche e vantaggi dell’architettura a microservizi (MSA)

Caratteristiche e vantaggi dell’architettura a microservizi (MSA)

L’architettura a microservizi (MSA) è costituita da un insieme di servizi che interagiscano e comunicano tra loro. Questo modello cerca di raggruppare le operazioni che fanno le stesse cose, rendendole indipendenti dalle altre.

L’indipendenza di ciascun servizio è fondamentale per far si che in caso di guasto del servizio, questo non implichi il malfunzionamento dell’intero sistema. Un aspetto fondamentale di quest’architettura è che ciascun servizio, possiede un database che può essere sia condiviso con altri servizi o di uso personale. Nel successivo paragrafo confronteremo l’architettura a microservizi con quella SOA, evidenziando le differenze architetturali e modalità di utilizzo.

La gestione centralizzata dell’applicazione è ridotta al minimo indispensabile e perciò i suoi microservizi possono essere implementati usando diversi linguaggi di programmazione e diverse tecnologie di gestione dati, oltre ad essere messi in produzione in maniera indipendente dagli altri microservizi.

Caratteristiche e vantaggi dell'architettura a microservizi (MSA)

Vantaggi dell’architettura a microservizi

In prima analisi il vantaggio più evidente è la loro eterogeneità. Con l’introduzione dei microservizi infatti, non siamo più vincolati alla stessa tecnologia ma siamo liberi di scegliere ogni volta la tecnologia migliore per la soluzione che stiamo sviluppando.

Inoltre, essendo i microservizi formati da tanti e piccoli servizi, è facile intervenire solo su alcuni di essi senza alterare gli altri, garantendo una maggiore scalabilità.
Sono componibili, quindi è un po’ come giocare con i Lego, è possibile comporre un’applicazione andando ad aggiungere di volta in volta una nuova funzionalità ed ampliando la nostra soluzione un po’ alla volta, senza dover rilasciare tutto subito.

Ogni microservizio ha il vantaggio di poter essere sviluppato in maniera del tutto indipendente dagli altri, cosi come qualsiasi problema di sviluppo o di distribuzione non riflette sul resto dell’applicazione.
Favoriscono la resilienza, infatti se una componente del sistema fallisce questo non compromette a cascata il funzionamento dell’intero sistema, essendo ogni singolo microservizio isolato, rilasciarlo è molto più semplice poiché non necessita l’interruzione di tutti gli altri nello stesso tempo.
Grazie a tutti questi vantaggi, possiamo ben capire il motivo per il quale i microservizi sono ormai diventati i pilastri tecnologici di chi sviluppa applicazioni.

Vantaggi dell’architettura a microservizi

Tuttavia, trattandosi di un sistema distribuito, è soggetto al cosiddetto teorema del CAP acronimo di Consistency, Availability, Partition tolerance, il quale afferma che è impossibile possedere contemporaneamente le tre qualità, ovvero Consistenza, Disponibilità e Tolleranza di partizione, ma bisogna scegliere due dei tre.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *