Tra le innovazioni più recenti dell’ingegneria del software c’è la scrittura delle applicazioni a microservizi, esempio di come l’utilizzo maturo delle risorse in cloud abbia innescato cambiamenti significativi anche a livello dello sviluppo applicativo. I microservizi rivoluzionano l’architettura delle tradizionali applicazioni monolitiche frammentandone i codici in una molteplicità di servizi atomici indipendenti e comunicanti tra loro attraverso protocolli standard, facili da manutenere e da mettere in produzione. Un’architettura adatta al moderno dinamismo dell’IT e del business, impiegabile ovunque serva la capacità di aggiornare rapidamente le applicazioni per rispondere alle richieste dei clienti o per cogliere le opportunità del mercato.

Esempi di microservizi si trovano oggi un po’ dappertutto nei settori dove la trasformazione digitale è più avanti, in particolare nel campo del retail e del manufacturing. Vediamo per cosa e con quali vantaggi.


Esempi di come i microservizi rivoluzionano le architetture software

La sostituzione delle applicazioni monolitiche con microservizi, meglio se supervisionata da un partner specializzato, consente di aggiornare facilmente le funzionalità e di scalare le prestazioni, potendo scegliere per ciascun servizio le modalità d’impiego e di deploy più convenienti. Essendo strutturalmente indipendenti, i microservizi possono essere generati con differenti ambienti di programmazione, usare storage, database e servizi diversi, sia on premise sia in cloud. Il ciclo di vita dei microservizi è gestito in modo indipendente dall’applicazione, attraverso i processi di continuous integration e continuous development (CI/CD) che accompagnano l’uso delle metodologie Agile e DevOps. Oltre a sviluppo e deploy, con i microservizi sono facilitate le operazioni di test e di debug grazie alla possibilità di monitorare gli scambi dei dati in rete per capire l’origine di un problema, e come intervenire.

Con i microservizi diventa possibile reimpiegare le funzioni in applicazioni diverse, sfruttare quanto è già sviluppato internamente o dalle terze parti (servizi accessibili in rete via API), sia per gli utilizzi aziendali sia per offrire servizi digitali a clienti e partner riducendo i tempi del go-to market. Per esempio, con i microservizi è possibile evitare duplicazioni dei dati negli ambiti multicanale, rendendo inutili onerose integrazioni tra applicazioni, facilitando la single view dei dati significativi dei clienti.


Microservizi: esempi d’uso nel retail omnichannel

Nel settore del retail la pandemia ha accelerato i processi di digitalizzazione già in atto nella vendita, nella distribuzione delle merci e nei rapporti con i consumatori. Il software è diventato fondamentale per gestire velocemente le movimentazioni dei prodotti e garantire l’erogazione dei servizi e del supporto in un contesto sempre più dinamico dove i clienti possono liberamente scegliere quali servizi fruire online, “in app” e “in store” nel corso del loro customer journey. Una condizione quasi impossibile da realizzare con le usuali componenti software monolitiche, ma che richiede funzioni software facili da riarrangiare per ottenere i servizi che servono per dare supporto a nuove iniziative o per ampliare le capacità.

La flessibilità del software è un fattore strategico per garantire la resilienza in momenti difficili, come quelli vissuti durante la pandemia, ma anche per sfruttare opportunità di mercato che richiedono grande velocità. Poter modificare le funzioni esistenti o poterle riassemblare in modo differente attraverso le micro-app evita la creazione di silos applicativi e segregazioni dei dati che sarebbero d’ostacolo a efficaci strategie omnichannel e a una buona user experience attraverso canali diversi. Altri esempi di microservizi si trovano nell’ambito della gestione della logistica e delle consegne a domicilio, settori che hanno avuto grandi sollecitazioni durante i recenti lockdown.


Esempi di microservizi nel manufacturing

L’impiego dei microservizi accompagna le trasformazioni della fabbrica già avviate con i progetti d’industria 4.0, con l’arrivo di macchinari più moderni e di nuove applicazioni in grado di sfruttare i dati per migliorare programmazioni, ottimizzazioni, manutenzione preventiva e simulazioni.

C’è inoltre l’incorporazione del software come componente strutturale dei prodotti più recenti, per esempio, in accompagnamento ai sensori IoT e con l’erogazione di servizi digitali innovativi. La realizzazione di un software a microservizi va a braccetto con il disegno di processi industriali più flessibili, intelligenti ed ecologici che incorporino modalità data-driven.

L’uso dei microservizi aiuta a standardizzare i software che sono destinati a scopi diversi, aiuta a mantenere aggiornati prodotti-servizi nel corso del ciclo di vita e a creare differenze nel valore della manifattura. Software ed intelligenza digitale integrati nel prodotto consentono di conoscere meglio il cliente, capire come usa il prodotto e come migliorarne la qualità. Esempi di microservizi si ritrovano oggi nelle soluzioni che accompagnano la digitalizzazione della fabbrica e che supportano la gestione del ciclo di vita dei prodotti.