Dalle applicazioni desktop al web ed alle architetture multi tier. Dallo sviluppo basato sui componenti alle service oriented architecture… I Microservices saranno la soluzione vincente?

Se siete incaricati della valutazione delle tecnologie per la vostra azienda, sarete interessati a conoscere più dettagli per i microservizi.

Microservice o “microservizi” è un termine utilizzato per descrivere un’architettura software nella quale vari sottosistemi, o servizi, di un’applicazione sono indipendenti o debolmente accoppiati e lavorano insieme in modo transazionale. L’opposto delle architetture software “monolitiche” dove tutti i sottosistemi sono strettamente connessi l’uno all’altro.

La maggior parte delle applicazioni aziendali legacy (CRM, e-mail, comunicazioni unificate/contact center) sono progettate usando un approccio monolitico. Tutti i vari sottosistemi (come ad esempio il login manuale, il routing, il reporting, il recupero/storage dei dati ecc.) sono solitamente progettati per funzionare insieme sullo stesso server. Tipicamente, se un sottosistema non funziona, tutti smettono di funzionare. Se un sottosistema necessita di una patch o di essere aggiornato, lo stesso vale per tutti. Se abbiamo bisogno di ridondanza e scalabilità, tutto deve essere replicato.

Un tale sistema monolitico trarrebbe un grande beneficio dall’essere riprogettato usando i Microservices.

I Microservices sembrano promettere sistemi scalabili e flessibili, basati su piccoli componenti che possono essere facilmente implementati in modo indipendente e quindi promuovono l’uso delle migliori scelte nel campo delle tecnologie per componenti. Fondamentalmente, si tratta delle stesse promesse tipiche di CBD e SOA, quindi parrebbe non esserci nulla di nuovo, ma in realtà questa volta è diverso.

L’avvento e la diffusione del cloud computing, le pratiche di continuous delivery, l’approccio alla gestione della complessità del software basato sul DDD (Domain-Driven Design), l’organizzazione agile delle aziende in team di sviluppo piccoli ed autonomi (3-7 persone) sono il contesto in cui è emerso il modello dell’architettura a microservizi.

Le piattaforme software basate su microservizi garantiscono oggi un’esperienza di funzionamento estremamente elevata, sono infinitamente scalabili e non richiedono interruzioni di servizio per la manutenzione.

Ma quindi: cosa c’è di diverso rispetto alle precedenti architetture? Cosa renderà i microservice il paradigma vincente, come invece non erano i suoi predecessori? Che cosa lo fa emergere? 

Queste le domande a cui risponderemo nel prossimo Workshop del 22 marzo a Firenze! 

Iscrivetevi !  Vi aspettiamo dalle 19.00 in Piazza Madonna della Neve c/o le Murate.