Microservizi: cosa sono e come si usano

Aggiornato il: 26-06-2022 22:04

Cosa sono i (microservizi) micro-services

Siamo nell’ambito delle piattaforme utilizzate dagli sviluppatori, ed i microservizi sono una parte consistente del “patrimonio” disponibile per il developer moderno. Il mondo informatico dietro le cosiddette Microservices Architecture (MA, in acronimo) è orientato allo sviluppo di applicazioni evolute, sfruttando un pattern scalabile e multi-uso in grado di fornire facilità  di uso e di riutilizzo delle varie componenti software.

Per fare questo, a livello pratico i microservizi seguono due fasi:

  1. vengono interrogati da remoto (per esempio dammi il cambio valuta tra euro e bitcoin)
  2. forniscono una risposta nel formato HTML, JSON o XML (a seconda dei casi).

Questo approccio di domanda e risposta, se vogliamo, oltre ad essere estremamente semplice nella sua filosofia evita l’approccio basato su RPC (Remote Procedure Call), in modo da evitare di effettuare la chiamata di codice da remoto (cosa che non è il massimo lato sicurezza e si presta a falle informatiche potenziali molto subdole), sfruttando le direttive del server mediante un semplice URL interrogato via POST (ci sono anche microservizi che funzionano solo con le GET o solo con le PUT o DELETE, a seconda dei casi: per un approfondimento su questi termini nello specifico, vedi la nostra guida ai servizi RESTful di WordPress).

L’idea alla base dell’architettura software fondata sui microservices è semplice ed efficace: consentire ai servizi non solo di essere interrogati in autonomia, ma anche (per non dire soprattutto) poter cooperare tra di loro.

Micro-services e architetture SOA

L’introduzione dei microservizi va di pari passo con le cosiddette Service Oriented Architecture o SOA, un ulteriore modello di gestione delle applicazioni che consiste in una collezione di servizi già  pronti all’uso, sfruttabili per ottenere e combinare risultati tra loro.

In un modello concettuale più evoluto rispetto alla programmazione classica (in cui le chiamate alle funzioni rispondono solo ad esigenze molto basilari e tutt’altro che specifiche, per esempio i costrutti FOR, i loop, il WHILE, ecc.), 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. Questo facilita un approccio allo sviluppo più ad alto livello, ma richiedono per forza di cose team di sviluppo molto più grandi e risorse scalabili (hosting cloud o SaaS, il più delle volte).

I microservizi, in questo ambito, 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 almeno in buona parte e salvo casi eccezionali, alla prova dei fatti.

Vantaggi dei micro-servizi

Quali siano i vantaggi derivanti dall’uso dei microservizi è presto detto: scalabilità , rapidità  di sviluppo e possibilità  di sfruttare direttamente funzionalità  di alto livello.Grazie ai microservizi ci metto di meno a sviluppare software evoluti che, senza di essi, richiederebbero un pesantissimo riscrivere da zero software per le necessità  di alto livello, che invece possiamo sfruttare in modo funzionale e funzionante a patto di rispettare le “regole” o la policy, equivalentemente, imposta dagli stessi.

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.



Questo blog pubblica contenuti ed offre servizi free da 11 anni. – Leggi un altro articolo a caso – Per informazioni contattaci
Non ha ancora votato nessuno.

Ti piace questo articolo? Vota e fammelo sapere.

Microservizi: cosa sono e come si usano
L'hosting italiano conveniente e funzionale è V-Hosting !
ruben bagues zzx60cQdSlU unsplash
Torna su