TECHTARGET

Service Oriented Architecture e migrazione verso i microservizi

I microservizi sono la buzz word del momento. Per chi è abituato a lavorare con le SOA, cambiare approccio può essere destabilizzante. Per traghettare gli sviluppatori ai microservizi gli esperti forniscono alcune importanti linee guida

Pubblicato il 20 Set 2019

AI Questions Icon
Chiedi all'AI
Riassumi questo articolo
Approfondisci con altre fonti
Service Oriented Architecture

Come fare se si rende necessario passare ai microservizi laddove venga utilizzato il modello di sviluppo SOA (Service Oriented Architecture?) Gli sviluppatori SOA dovrebbero comprendere bene le differenze tra le due architetture in modo da rendere quanto più possibile indolore il cambio di passo.

Service Oriented Architecture e microservizi: che cosa sono

Le SOA hanno una doppia natura. A livello concettuale, la Service Oriented Architecture è un modello che consente di progettare applicazioni assemblando componenti che possono essere condivisi tra le applicazioni e ospitati in modo indipendente. A livello di implementazione, la SOA ha sviluppato una serie di standard che definiscono le caratteristiche e le interfacce dell’applicazione, l’accesso e la sicurezza del broker, tra cui sono inclusi il protocollo Simple Object Access e il linguaggio Web Services Description.

I microservizi sfruttano la componentizzazione delle applicazioni in applet più piccoli (detti appunto microservice), che possono essere distribuiti lungo una vasta gamma di risorse del data center come nei cloud pubblici o in quelli privati.

La prima differenza sostanziale è Internet

Tra le Service Oriented Architecture e le Microservice Architecture sussistono delle analogie in quanto molti dei concetti chiave della SOA sono anche concetti fondamentali nei microservizi. Tuttavia, i microservizi applicano questi concetti attraverso la mediazione di Internet, ovvero dell’universo web e delle interfacce REST.

Quasi tutti i team di sviluppo hanno familiarità con REST e le applicazioni di programmazione basate sul Web, quindi hanno già le conoscenze di base per far fronte allo sviluppo di microservizi. Il focus dell’implementazione deve solo spostarsi sul web, il che comporterà la necessità di imparare ad utilizzare delle nuove procedure.

Il termine microservizi può essere fonte di confusione per alcuni ex sviluppatori SOA, in quanto può evocare l’immagine di centinaia o migliaia di servizi che consistono in un paio di righe di codice, richiamate in base alla necessità. Una tale struttura di microservizi genererebbe quasi certamente enormi ritardi a causa della latenza del trasferimento dei messaggi. Gli ex professionisti delle Service Oriented Architecture dovrebbero tenere presente come i principi di progettazione della componentizzazione della SOA siano ugualmente efficaci per i microservizi.

Dove microservizi e architettura SOA differiscono

Service Oriented Architecture

La differenza tra comportamento stateless e stateful è probabilmente il problema più complesso da comprendere per gli sviluppatori SOA. Una semplice regola è che non si dovrebbero mai archiviare dati all’interno di un microservizio. Questa pratica, infatti, limita la capacità di poter scalare un servizio sotto carico o di sostituire un servizio fallato. Se è necessario mantenere i dati o il contesto su più istanze in un’architettura di microservizi, è possibile archiviare i dati e inviarli al microservizio quando questo viene chiamato, oppure ottenerli da un database di back-end. La progettazione di un microservizio presuppone che nel chiamarli con lo stesso input si genererà sempre lo stesso output.

C’è anche una differenza fondamentale nel modo in cui i servizi SOA e i microservizi vengono utilizzati da un’applicazione. I servizi SOA vengono in genere visualizzati come procedure o funzioni, nel senso che sono progettati per emulare componenti software scritti localmente. Ad esempio, quando è necessario un servizio SOA, basta richiamarlo. Al contrario, i microservizi non vengono chiamati ma sono una risorsa da cui attingere. Quando vengono utilizzati nell’elaborazione di eventi, ad esempio, vengono attivati ​​da un evento piuttosto che chiamati esplicitamente. I microservizi , infine, sono in genere senza stato, mentre la maggior parte dei componenti SOA sono con stato.

Anche la risoluzione dei problemi di sicurezza e di governance nei microservizi è più sfumata. Molte organizzazioni hanno sviluppato metodi standardizzati per la sicurezza, la gestione delle identità e la governance della SOA. Tuttavia, la maggior parte delle aziende non ha metodi standardizzati per affrontare i problemi di sicurezza e governance nei microservizi. Gli architetti che migrano alle microservice architecture devono escogitare dei metodi utili a rispondere a queste esigenze, assicurandosi che siano standardizzati rispetto all’intero ecosistema IT. In caso contrario, le differenze che sussistono nelle procedure di sicurezza e nella gestione degli accessi e delle identità bloccano la distribuzione. Significa anche che quando vengono identificate opportunità per nuove applicazioni, si rischia di scoprire incompatibilità nascoste. Per fortuna, esistono molti sistemi basati su token comprovati per la gestione delle identità e la sicurezza dei microservizi che aiuta a non compromettere la sicurezza e la governance.

Se il cloud è il futuro, lo sono anche i microservizi

Un’altra area in cui i microservizi e le SOA differiscono è l’organizzazione dei flussi di lavoro. Le applicazioni SOA sono spesso collegate a un Enterprise Service Bus (ESB), in cui l’esecuzione è guidata dal linguaggio BPM (Business Process Management). I microservizi vengono chiamati esplicitamente dalle applicazioni, quindi il sequenziamento delle fasi del processo viene eseguito a livello applicativo. Un’altra cosa importante da tenere a ente è che i microservizi sono tutti componenti riutilizzabili. Non sono righe di codice consisistenti come possono essere quelle supportate dai linguaggi ESB e BPM. Tuttavia, ci sono modelli di progettazione che forniscono un processo di orchestrazione simile utilizzando i microservizi.

Le interfacce di qualsiasi tipo richiedono una sorta di meccanismo di scambio di dati. Con le Service Oriented Architecture, il meccanismo tradizionale è l’XML che, pur essendo flessibile, alcuni sviluppatori trovano troppo dettagliato e complicato. Con i microservizi, è possibile continuare a utilizzare l’XML, anche se molti sviluppatori gravitano verso JSON perché lo trovano più facile. Se un team ha maggiore familiarità con l’XML rispetto a Java, è possibile continuare a usare l’XML. Come fanno notare gli esperti, JSON è comunque la scelta migliore nella maggior parte dei casi. Il cambio di passo non dovrebbe essere difficile per la maggior parte dei programmatori SOA.

Perché passare dalle Service Oriented Architecture ai microservizi

L’unica domanda che rimane è se gli sviluppatori SOA debbano davvero adottare la componentizzazione e i microservizi. Lo sviluppo della SOA è ancora in corso e molte applicazioni importanti e di rilievo si basano ancora su questo approccio sia dal punto di vista concettuale che dell’implementazione.

È vero però che il cloud sta favorendo una visione dinamica e resiliente dei componenti applicativi. Questo significa che la scalabilità e la resilienza sono più preziose della sola componibilità. I modelli cloud si sposano meglio con componenti leggeri, in grado di essere modellati in maniera agile fin dalla fase di esecuzione.

Insomma: se il cloud è il futuro, lo sono anche i microservizi. La SOA non scomparirà, ma è anche improbabile che sia capace di adattarsi a questi nuovi requisiti. Le pratiche software si stanno spostando verso i microservizi, quindi i professionisti delle Service Oriented Architecture dovrebbero prepararsi per tempo.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Partecipa alla community

guest
0 Commenti
Più recenti Più votati
Inline Feedback
Vedi tutti i commenti

DATA CENTER HUB

Tutti
RICERCHE
I PROTAGONISTI
GUIDE
APPROFONDIMENTI
Leggi l'articolo Data center in Italia, la corsa si gioca sull’energia: 95 GW di richieste a Terna
l'analisi
Data center in Italia, la corsa si gioca sull’energia: 95 GW di richieste a Terna
Leggi l'articolo Data center, gestione dell’energia e architetture critiche con Schneider Electric
l'identikit
Data center, gestione dell’energia e architetture critiche con Schneider Electric
Leggi l'articolo Data center, la region Azure in Italia di Microsoft
l'identikit
Data center, la region Azure in Italia di Microsoft
Leggi l'articolo Sviluppo dei data center, l’approccio integrato di Deerns
l'identikit
Sviluppo dei data center, l’approccio integrato di Deerns
Leggi l'articolo Campus data center e interconnessione: come si sviluppa l’ecosistema Equinix
l'identikit
Campus data center e interconnessione: come si sviluppa l’ecosistema Equinix
Leggi l'articolo Continuità elettrica per i data center: le soluzioni di Riello UPS
l'identikit
Continuità elettrica per i data center: le soluzioni di Riello UPS
Leggi l'articolo Data center, le 50 parole chiave
glossario
Data center, le 50 parole chiave
Leggi l'articolo Equans, un approccio end-to-end per i nuovi data center
l'identikit
Equans, un approccio end-to-end per i nuovi data center
Leggi l'articolo Munters, il raffreddamento che sostiene l’evoluzione dei data center
l'identikit
Munters, il raffreddamento che sostiene l’evoluzione dei data center
Leggi l'articolo Elettrificazione e distribuzione elettrica ad alta efficienza secondo ABB
L'identikit
Elettrificazione e distribuzione elettrica ad alta efficienza secondo ABB
Leggi l'articolo Dallo staffaggio alla protezione antincendio: l’offerta Hilti per i data center
l'identikit
Dallo staffaggio alla protezione antincendio: l’offerta Hilti per i data center
Leggi l'articolo Come HiRef ottimizza il raffreddamento e l’efficienza energetica dei data center
l'identikit
Come HiRef ottimizza il raffreddamento e l’efficienza energetica dei data center
Leggi l'articolo Data center in Italia: come cambia l’ecosistema della filiera
VADEMECUM
Data center in Italia: come cambia l’ecosistema della filiera
Leggi l'articolo La corsa all’AI fa esplodere la domanda energetica dei data center
Lo studio
La corsa all’AI fa esplodere la domanda energetica dei data center
Leggi l'articolo Dal data center all’AI factory: cosa serve sapere prima di investire
Vademecum
Dal data center all’AI factory: cosa serve sapere prima di investire
Leggi l'articolo Consumi AI data center: ABB scommette sulla corrente continua
Energy efficiency
Consumi AI data center: ABB scommette sulla corrente continua
Leggi l'articolo Data center, cresce l’appeal del mercato italiano per i capitali
L'analisi
Data center, cresce l’appeal del mercato italiano per i capitali
Leggi l'articolo Data center “lights-out”: quanto manca all’infrastruttura autonoma
vademecum
Data center “lights-out”: quanto manca all’infrastruttura autonoma
Leggi l'articolo Etichetta UE per i data center: più trasparenza sui consumi
L'approfondimento
Etichetta UE per i data center: più trasparenza sui consumi
Leggi l'articolo Data center, Becker: “La sovranità digitale passa dalla dimensione regionale”
L'intervista
Data center, Becker: “La sovranità digitale passa dalla dimensione regionale”
Leggi l'articolo Data center in Italia, la corsa si gioca sull’energia: 95 GW di richieste a Terna
l'analisi
Data center in Italia, la corsa si gioca sull’energia: 95 GW di richieste a Terna
Leggi l'articolo Data center, gestione dell’energia e architetture critiche con Schneider Electric
l'identikit
Data center, gestione dell’energia e architetture critiche con Schneider Electric
Leggi l'articolo Data center, la region Azure in Italia di Microsoft
l'identikit
Data center, la region Azure in Italia di Microsoft
Leggi l'articolo Sviluppo dei data center, l’approccio integrato di Deerns
l'identikit
Sviluppo dei data center, l’approccio integrato di Deerns
Leggi l'articolo Campus data center e interconnessione: come si sviluppa l’ecosistema Equinix
l'identikit
Campus data center e interconnessione: come si sviluppa l’ecosistema Equinix
Leggi l'articolo Continuità elettrica per i data center: le soluzioni di Riello UPS
l'identikit
Continuità elettrica per i data center: le soluzioni di Riello UPS
Leggi l'articolo Data center, le 50 parole chiave
glossario
Data center, le 50 parole chiave
Leggi l'articolo Equans, un approccio end-to-end per i nuovi data center
l'identikit
Equans, un approccio end-to-end per i nuovi data center
Leggi l'articolo Munters, il raffreddamento che sostiene l’evoluzione dei data center
l'identikit
Munters, il raffreddamento che sostiene l’evoluzione dei data center
Leggi l'articolo Elettrificazione e distribuzione elettrica ad alta efficienza secondo ABB
L'identikit
Elettrificazione e distribuzione elettrica ad alta efficienza secondo ABB
Leggi l'articolo Dallo staffaggio alla protezione antincendio: l’offerta Hilti per i data center
l'identikit
Dallo staffaggio alla protezione antincendio: l’offerta Hilti per i data center
Leggi l'articolo Come HiRef ottimizza il raffreddamento e l’efficienza energetica dei data center
l'identikit
Come HiRef ottimizza il raffreddamento e l’efficienza energetica dei data center
Leggi l'articolo Data center in Italia: come cambia l’ecosistema della filiera
VADEMECUM
Data center in Italia: come cambia l’ecosistema della filiera
Leggi l'articolo La corsa all’AI fa esplodere la domanda energetica dei data center
Lo studio
La corsa all’AI fa esplodere la domanda energetica dei data center
Leggi l'articolo Dal data center all’AI factory: cosa serve sapere prima di investire
Vademecum
Dal data center all’AI factory: cosa serve sapere prima di investire
Leggi l'articolo Consumi AI data center: ABB scommette sulla corrente continua
Energy efficiency
Consumi AI data center: ABB scommette sulla corrente continua
Leggi l'articolo Data center, cresce l’appeal del mercato italiano per i capitali
L'analisi
Data center, cresce l’appeal del mercato italiano per i capitali
Leggi l'articolo Data center “lights-out”: quanto manca all’infrastruttura autonoma
vademecum
Data center “lights-out”: quanto manca all’infrastruttura autonoma
Leggi l'articolo Etichetta UE per i data center: più trasparenza sui consumi
L'approfondimento
Etichetta UE per i data center: più trasparenza sui consumi
Leggi l'articolo Data center, Becker: “La sovranità digitale passa dalla dimensione regionale”
L'intervista
Data center, Becker: “La sovranità digitale passa dalla dimensione regionale”