Perché microservizi e container saranno la regola

Ormai il mobile e il cloud sono le leve che stanno spingendo verso una trasformazione epocale delle attuali applicazioni aziendali legacy rispetto alle applicazioni per componenti, ossia i microservizi.

A parlarcene è Giancarlo Marino di Ibm, guru del software per mainframe e, di conseguenza, in grado di intercettare e interpretare il cambiamento tecnologico per tutte le piattaforme e gli ambiti aziendali.

Ed è proprio lo scenario dei sistemi informativi in azienda che negli ultimi anni è stato stravolto da una serie di cambiamenti che hanno impattato sia utenti che fornitori di soluzioni e servizi.

Aspetti come la migrazione verso servizi cloud e la sempre più alta diffusione di dispositivi mobili hanno costretto gli uni e gli altri a ridefinire rispettivamente le proprie modalità (e processi) operative e le dinamiche di offerta.

Giancarlo Marino, zSystems Software Sales manager Ibm Italy

D’altro canto tutti i cloud provider offrono la possibilità di realizzare microservizi sui propri cloud e, più in generale, qualsiasi ambiente basato su OpenStack li supporta.

La sfida adesso è quindi quella di progettare architetture estremamente flessibili e implementabili anche su realtà piccole e medie, che trovano un limite invalicabile nelle attuali tecnologie e nei costi necessari a sostenerle

Microservizi inevitabili

I microservizi sono ormai una evoluzione inevitabile di qualsiasi ambiente applicativo e la gran parte delle aziende sta quantomeno considerando di adottarli in qualche misura.

Questo perchè in questo modo si potrà avere un sistema informativo in grado di cambiare velocemente dove è più facile inserire nuovi processi e nuove sorgenti dati in tempi e costi ridotti.

In estrema sintesi, nell’approccio a microservizi le funzioni di una applicazione monolitica sono segmentate in tante piccole applicazioni specifiche (appunto i microservizi) che sono collegate fra loro da API RESTful.

Ogni microservizio è distinto e isolato, nel senso che ha un suo database e non condivide dati con gli altri. Questo tra l’altro permette di sviluppare microservizi dotati della base dati più opportuna a ciò che devono fare, senza il peso di una struttura comune.

Dai microservizi ai container

Il concetto di microservizio si lega bene poi a quello di container: entrambi sono componenti “atomici” e stateless.

Per questo appare solo logico incapsulare un microservizio in un container e gestire un ambiente virtualizzato in modo che il microservizio scali orizzontalmente attivando tante istanze quante ne servono in un certo momento, dotandole delle risorse più opportune.

Naturalmente questa nuova architettura applicativa pone nuove sfide per le aziende a livello infrastruttura, applicazioni, policy e strategie di integrazione.

Queste sfide coinvolgono i sistemi legacy costruiti su piattaforme proprietarie così come quelli più recenti basati su standard, ma legati ancora a vecchie logiche di utilizzo e regole ormai superate.

In sostanza, smartphone, tablet così come il paradigma mobile e micorservizi in generale hanno di fatto fornito nuove prospettive di impiego richiedendo nel contempo reti adeguate e applicazioni ben testate capaci di rispondere alle richieste degli utenti, senza mettere a rischio la sicurezza del business ma al contrario abilitandone ulteriori sviluppi e crescita.

Processi modificabili

La creazione di microservizi passa attraverso la definizione di processi che debbono risultare facilmente modificabili anche nel corso della loro esecuzione, utilizzando, ad esempio, le tecniche di mash-up.

I servizi possono esser composti da applicazioni esterne alla propria organizzazione, magari fruite in outsourcing, tipo specifiche componenti applicative o Web Service reperiti dinamicamente sulla rete.

Elementi che comportano la necessità di acquisire nuove capacità di Portfolio e Project Management, di definizione delle specifiche e valutazione delle prestazioni sia sul piano funzionale che su quelli dell’affidabilità e delle prestazioni.

Infatti quando vi trovate con una architettura di decine di microservizi che insieme devono realizzare il flusso logico che avete previsto, la cosa principale che volete sapere è “cosa sta facendo un microservice in un dato momento” e se l’insieme dei servizi si sta effettivamente comportando come gli sviluppatori vogliono. Il che significa due cose: orchestration e monitoraggio delle applicazioni.

Si passa da un'unica applicazione da controllare ad una applicazione scomposta in vari servizi che restano interdipendenti ma sono delegati a moduli autonomi e scollegati. In più Il traffico di rete tra i microservizi aumenta insieme alle latenze di rete  corrispondenti.Controllare il tutto diventa molto più difficile.

Le aziende devono fare molta attenzione a questo aspetto e pensare di dotarsi di sistemi di monitoraggio e orchestration evoluti.

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche iscriviti alla newsletter gratuita.
CONDIVIDI

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here