Attraverso i microservizi, una rinnovata spinta verso la semplicità e il minimalismo IT

  • Oct 19, 2023

Ridimensionamento della SOA Guerrilla? I consulenti PwC consigliano servizi più leggeri, più semplici e più veloci per stare al passo con le esigenze aziendali.

Nelle aziende in rapida evoluzione di oggi, la velocità di implementazione delle applicazioni è tutto. Le cose devono essere cambiate o adattate rapidamente. Le interfacce devono essere modificate oppure i sistemi back-end dietro le interfacce devono essere aggiornati o sostituiti. Esistono molte opzioni: API, servizi cloud, servizi REST, ma come sfruttarle o unirle insieme in un attimo?

L'approccio dei microservizi è adatto per i casi in cui gli sviluppatori o gli amministratori desiderano conservare le funzionalità e le interfacce già stabilite per un sistema, ma è necessario aggiungerne di nuove funzionalità.

L'architettura orientata ai servizi, in linea di principio, avrebbe dovuto rendere i sistemi sottostanti più reattivi e adattabili ai vari cambiamenti nelle richieste e nei processi aziendali. Tuttavia, anche i framework SOA, in particolare quelli che coinvolgevano infrastrutture middleware complesse, si rivelavano a loro modo ingombranti.

Ecco perché alcuni osservatori del settore chiedono una nuova forma di architettura orientata ai servizi, o quella che chiamano architettura di microservizi, o MSA. Galen Gruman e Alan Morrison di PwC hanno recentemente messo insieme un panoramica del passaggio a MSA e di come aiuta gli sviluppatori e i fornitori di servizi ad adattarsi più rapidamente alle nuove realtà.

Cosa sono i microservizi e c'è qualcosa di nuovo in essi? Sembra ancora una volta un deja vu. I microservizi sono, in sostanza, servizi a grana fine, distribuiti senza middleware o broker, come un bus di servizi aziendali. Ci sono sfumature di Jim Webber"Guerriglia SOA", da lui sostenuto diversi anni fa come un modo per costruire e distribuire rapidamente servizi per attacchi tattici rapidi. Anche le API e i servizi RESTful si adattano a questo stampo. Gruman e Morrison suggeriscono che MSA è tutte queste cose, con l'accento sull'adozione di un approccio minimalista ai servizi:

"MSA suddivide un'applicazione in componenti molto piccoli che eseguono funzioni distinte e niente di più. Ad esempio, un microservizio potrebbe essere una ricerca di codici postali basata su indirizzo o geolocalizzazione, non un modulo di mappatura completo. La natura a grana fine, senza stato e autonoma dei microservizi crea il disaccoppiamento tra le diverse parti di una base di codice ed è ciò che li rende facili da aggiornare, sostituire, rimuovere o aumentare. In MSA, desideri parti semplici con interfacce pulite e in stile messaggistica; meno elaborato è, meglio è. E non vuoi middleware elaborati, bus di servizio o altri broker di orchestrazione, ma piuttosto sistemi di messaggistica più semplici come Apache Kafka."

Caratteristica speciale

Software aziendale: le grandi tendenze e perché sono importanti

Le applicazioni che gestiscono le imprese stanno subendo profondi cambiamenti, anche se c'è anche molta inerzia nel sistema. Esaminiamo alcune delle tendenze chiave, tra cui l'adozione del cloud, la mobilità, la consumerizzazione e l'analisi aziendale, che stanno plasmando il panorama del software aziendale di domani.

Leggi ora

Servizi così piccoli e ben mirati sono rapidi e facili da sviluppare, comprendere, gestire e integrare, affermano Gruman e Morrison. "Fanno solo ciò che è necessario e possono essere rimossi o ignorati quando non sono più necessari." I servizi abilitati per MSA tendono ad essere creati con "orientati al web linguaggi come Node.js che privilegiano piccoli componenti con interfacce dirette, e in linguaggi funzionali come Scala o la libreria Clojure Lisp," hanno aggiungere.

Sono realizzati per le odierne funzioni aziendali emergenti basate su API e REST. Gli esempi citati da Gruman e Morrison includono la modifica di una ricerca di codice postale statunitense "in una ricerca di codice postale del Regno Unito modificando o aggiungendo un microservizio" o estraendo dati da "un database NoSQL come MongoDB in una fase del ciclo di vita di un'applicazione e da un prodotto relazionale come MySQL in un altro. In ogni caso, cambieresti o aggiungeresti un servizio."

L'approccio ai microservizi sostenuto dagli autori è adatto ai casi in cui lo desiderano sviluppatori o amministratori mantenere le funzionalità e le interfacce già stabilite per un sistema, ma è necessario affrontarne di nuove funzionalità. Naturalmente, questo tipo di architettura tende ad essere guidata dal basso verso l'alto, da sviluppatori e utenti esperti che hanno bisogno di riconfigurare rapidamente parti di un'applicazione per un nuovo requisito aziendale. Si tratta di un atto individuale e locale: "uno sviluppatore, o un piccolo team, produce in modo indipendente un microservizio", sottolineano.

Come notano gli autori, l’MSA non è che uno dei tanti strumenti oggi disponibili. Insieme a SOA standard, REST, API e cloud. Si tratta di un ulteriore approccio per gestire configurazioni IT che potrebbero essere molto diverse nel giro di pochi mesi.