Seleziona una pagina

Ultimo aggiornamento 2 anni fa

Dedicated ha sviluppato la piattaforma DMP basandosi su un nuovo approccio architetturale a microservizi.

Oggi vi spieghiamo meglio in cosa consiste e quali sono le principali differenze tra le diverse architetture.

L’architettura a microservizi si contrappone infatti alla cosiddetta architettura monolitica, dove tutti i processi sono strettamente legati tra loro e vengono trattati come un unico servizio.

Per molti anni l’architettura monolitica è stata il principale punto di riferimento per lo sviluppo di un software, potremmo dire quasi un modello tradizionale.

La sua caratteristica è appunto quella di contenere tutte le funzioni all’interno di un unico blocco, da qui il nome ispirato ai monoliti (blocchi solidi di pietra, non inclini alla suddivisione in diverse parti).

Questo significa che i processi sono strettamente collegati tra di loro rendendo più difficili alcune azioni, che sarebbe meglio eseguire separatamente, costringendo ad un riadattamento integrale dell’architettura.

Questa complessità è una sfida per la sperimentazione e per l’avanzamento di nuove idee, step fondamentali per aumentare l’efficienza di un business che vuole aggiornarsi costantemente ed essere innovativo.

Allo stesso modo un unico errore relativo ad un servizio potrebbe compromettere tutti i processi legati all’architettura del software.

 

Gli svantaggi dell’architettura monolitica

In poche parole tra gli svantaggi principali dell’architettura monolitica che hanno portato a cercare una soluzione alternativa ci sono:

  • l’aggiornabilità dispendiosa: per aggiornare una funzionalità in questo tipo di struttura è necessario aggiornare l’intera applicazione, nonché installare un nuovo eseguibile. Questo risulta in un dispendio inutile di soldi.
    Per metodologie di sviluppo moderne come DevOps o Agile che richiedono vari aggiornamenti l’architettura monolitica non è la soluzione migliore.
  • una ridotta flessibilità: non è possibile scegliere un linguaggio di programmazione adeguato per le singole funzioni del software. Per lo sviluppo dell’applicazione è possibile usare un unico linguaggio, che costringe gli sviluppatori a conoscere il funzionamento di tutte le applicazioni che sono strettamente intrecciate e codipendenti tra di loro.
  • la manutenzione scomoda: legato ai punti visti sopra citati, la manutenzione del software monolitico potrebbe risultare problematica perché legata a competenze di programmatori e a tecnologie troppo specifiche.

 

Da architettura monolitica a struttura a microservizi

La principale spinta per la creazione di una soluzione alternativa coincide con l’avvento del Cloud Computing e delle tecniche di containerizzazione.

I team di sviluppo hanno assistito all’affermazione di un nuovo approccio architetturale, i microservizi, rivoluzionari per la scrittura di un software.

Si tratta di una soluzione di tipo enterprise che si differenzia dal modello monolitico perché basata su un’infrastruttura distribuita che suddivide un software nelle sue funzioni di base.

Le applicazioni vengono così scomposte in elementi più piccoli e indipendenti tra di loro anche se in interazione costante per portare a termine la medesima attività.

Ciascuna di esse corrisponde ad un servizio di piattaforma indipendente dagli altri. In questo modo, se da un lato gli aggiornamenti di una componente comportano degli errori, dall’altro l’eventuale criticità non determina il blocco dell’intero sistema.

Ne derivano:

  • scalabilità, 
  • gestione dinamica dei cicli di sviluppo e 
  • facile integrazione di nuovi elementi.

Suddividere un software nelle relative funzioni base comporta l’evitamento delle insidie che abbiamo analizzato in precedenza legate ad un approccio monolitico.

 

Quali vantaggi comporta la gestione distribuita dei microservizi con DMP?

DMP è una piattaforma distribuita e collaborativa basata su componenti che comunicano con layers indipendenti di monitoraggio.

I nostri servizi:

  • EDI
  • Peppol
  • e-Invoicing
  • DMP Connector

sono ripartiti tra più istanze all’interno di una Virtual Private Network in Cloud.

Così facendo, i team – dall’area IT al Business e Strategy – possono lavorare contemporaneamente e creare tempestivamente valore grazie ad una Digital Platform scalabile in Cloud.

In definitiva i microservizi della piattaforma DMP sono:

  • distribuibili in contenitori scalabili;
  • facili da monitorare in real time grazie ad interfacce ben definite;
  • configurabili con componenti esterne;
  • estremamente affidabili;
  • gestibili da piccoli team di sviluppo;
  • infine, sicuri da modificare e distribuire grazie alla Continuous Integration & Deployment.

Per maggiori informazioni, contattaci qui.