Microservices benefici dell’architettura 2 Parte

architettura Microservices

Microservices – quali sono i benefici dell’architettura?

Vediamo insieme i Microservices e quali sono i benefici dell’architettura. Separare i componenti applicativi rende l’ambiente più consistente per il build, il deploy e la manutenzione degli applicativi altamente scalabile.

La separazione dei serivi in microservizi sviluppati e distribuiti in modo indipendente sono più semplici da sviluppare, manutenere e aggiornare.

Questi non sono gli unici vantaggi di scrivere e utilizzare micro servizi.

Di seguito vediamo quali altri vantaggi possiamo ottenere.

Vediamo ora i Microservices e quali sono i benefici dell’architettura

Minori possibilità di creare fermi a causa di bugs

La suddivisione di una applicazione in componenti diminuisce di molto il rischio di blocchi in caso di bachi software e di conseguenza riduce molto la probabilità che un problema si rifletta sull’intero sistema. Una eventuale servizio “difettoso” può essere isolato, riparato e messo in produzione senza l’interruzione dell’intero applicativo.

Organizzazione degli ambienti più snella

L’organizzazione del software in micro servizi consente l’automatizzazione dei processi di deploy (In uno dei prossimi articoli parleremo di Jenkins), build e test più semplice da gestire.

Gli ambienti di sviluppo, collaudo e produzione posso rimanere coerenti e allineati più facilmente e sono generalmente necessarie meno configurazioni.

Iterazioni più veloci

Il codice scritto per i micro servizi risulta essere più snello e semplice da leggere e comprendere rispetto ad un applicativo complesso che espone più servizi. Semplificare la comprensione del software fa si che i programmatori possano concentrarsi principalmente sulla scrittura del codice senza doversi necessariamente interfacciarsi con altri sviluppatori.

Un architettura a microservizi rende fattibile il continuous delivery.

Scalabilità più efficace

Il concetto di scalabilità a livello di servizio singolo diventa maggiormente conveniente e può essere fatta “su richiesta” (on demand) in maniera “elastica”.
Ogni servizio può essere distribuito su hardware più adatto alle esigenze specifiche del servizio in termini di risorse. Il concetto è diverso rispetto a quando si sceglie di utilizzare un’architettura monolitica in cui i componenti vengono distribuiti tutti insieme con lo stesso tipo di risorse.

Lo stack di una applicazione microservices

Versioning del codice

Il versionamento dei singoli servizi possono essere versionati seguendo un proprio schema mentre l’applicazione può seguire il versioning rispettando lo schema della major release. Per fare il versioning possiamo utilizzare SVN o Git (quest’ultimo è il più recente). Uno strumento che ci consente di parlare tra micro servizi è sicuramente Kafka.

Libertà di utilizzo del linguaggio di sviluppo

L’architettura dei Micro Servizi non ha vincoli sul inguaggio di programmazione da utilizzare. In linea di massima un micro servizio può essere sviluppato in qualsiasi linguaggio di programmazione e framework tenendo sempre conto di quello che si ha intenzione di realizzare. Consideriamo sempre che, pur non essendoci limiti sulla scelta del linguaggio da adottare, in una azienda è sempre meglio delimitare la scelta. Consideriamo che non ci sono vincoli rispetto a decisioni prese in passato. Ogni volta che decidiamo di scrivere un nuovo servizio sarebbe bene prendere in considerazioni nuovi linguaggi e nuove tecnologie più efficaci rispetto a scelte prese in passato.

Nel prossimo articolo andremo a vedere gli svantaggi che porta una architettura microservices.

Potrebbero interessarti anche...