Micro-services mediante esempi: che cosa sono?

Micro-services mediante esempi: che cosa sono?

Il mondo informatico dietro le cosiddette Microservices Architecture (MA in sigla) è da sempre orientato allo sviluppo di applicazioni evolute, sfruttando un vero e proprio pattern scalabile in grado di fornire facilità di uso e di riutilizzo delle varie componenti software. Per fare questo, a livello pratico i microservizi vengono interrogati da remoto e forniscono una risposta nel formato HTML, JSON o XML (a seconda dei casi), in modo da evitare di effettuare la chiamata di codice da remoto, e sfruttando le direttive del server mediante un semplice URL interrogato via POST (normalmente). L’idea alla base di questa architettura software è semplice ed efficace: consentire ai servizi non solo di essere interrogati in autonomia ma anche (per non dire soprattutto) poter cooperare tra di loro.

L’introduzione dei microservizi, del resto, va di pari passo con le cosiddette Service Oriented Architecture o SOA, un modello di gestione delle applicazioni che consiste in una collezione di servizi già pronti all’uso e sfruttabili per ottenere e combinare risultati tra loro. In un modello concettuale più evoluto rispetto alla programmazione classica, le architetture orientate ai servizi scompongono il problema da risolvere da diversi punti di vista, quindi sia a livello di partizionamento logico che dei dati dell’applicazione, ma richiedono per forza di cose team di sviluppo molto più grandi. I microservizi, in questo, dovranno essere perfettamente funzionanti ed ogni singolo mattoncino che li compone avrà il compito di fornire il proprio piccolo contributo alla causa dell’applicazione, o delle applicazioni, che saranno create. Il mito del nerd che, da solo nel proprio garage, progetta monoliticamente applicazioni spaziali in perfetta solitudine (magari slogandosi le dita sulla tastiera), sembra quindi essere destinato a tramontare.

Quali siano i vantaggi derivanti dall’uso dei microservizi è presto detto: scalabilità, rapidità di sviluppo e possibilità di sfruttare direttamente funzionalità di alto livello. Questo si riflette in modo drastico sia sulla qualità delle applicazioni risultati che, soprattutto, sulla loro possibilità di essere riutilizzate per crearne di nuove, creando così una sorta di circolo virtuoso che velocizza l’evoluzione delle applicazioni stesse. Verrebbe anche da chiedersi, a questo punto, quale sia la differenza tra un microservice ed un web service, a questo punto: di fatto i microservizi sono più specifici e progettati per lavorare in cooperazione, mentre i web-service tendono ad essere sfruttati per singoli utilizzi più generici e, di solito, indipendenti tra di loro.

1 voto


Informazioni sull'autore

Salvatore Capolupo

Consulente SEO, ingegnere informatico e fondatore di Trovalost.it, Pagare.online, Lipercubo.it e tanti altri. Di solito passo inosservato e non ne approfitto.