Come semplificare la gestione dei microservizi

I microservizi sono la logica applicativa preponderante per lo sviluppo di nuove applicazioni, quelle cosiddette cloud-native, e anche per l'integrazione delle applicazioni tradizionali agli ambienti più moderni. Però creare applicazioni e servizi basandosi sulla nuova logica non è semplice, perché scomporre un'applicazione monolitica in una collezione di microservizi impone agli sviluppatori di tenere conto di elementi specifici e prima non presenti, come la discovery dei servizi stessi, la tolleranza ai guasti della rete, la sicurezza e la compliance.

Non esiste un approccio unico a queste problematiche e nemmeno può essere imposto, perché in molti casi non è possibile intervenire sul codice delle applicazioni preesistenti per modificarlo in tal senso. La soluzione potrebbe essere invece inserire un nuovo "strato" infrastrutturale tra i servizi applicativi e la rete. È la strada che Google, IBM e Lyft hanno deciso di seguire dando vita al progetto open source Istio.

Istio serve a creare quella che le tre aziende definiscono una "service mesh". È uno strato logico che separa gli aspetti relativi alla gestione dei servizi da quelli che interessano invece gli sviluppatori, in modo che le relative attività possano andare avanti in parallelo.

Ad esempio, Istio presenta a chi gestisce le infrastrutture dei microservizi le informazioni necessarie a visualizzare lo stato delle applicazioni, dei microservizi e del traffico dei loro dati in rete. Questi dati servono a evidenziare eventuali criticità dell'architettura dei servizi ed evitare, o almeno identificare rapidamente, i colli di bottiglia. Il vantaggio per gli sviluppatori sta nel fatto che tutta questa parte di monitoraggio e gestione non richiede nessun contributo da parte loro perché non si trova nel codice dei microservizi.

Lo sviluppo è astratto dalle caratteristiche operative della rete e dell'insieme di servizi che "crea" un'applicazione. È Istio che si occupa di elementi come il routing intelligente verso i servizi, il bilanciamento del loro carico, la gestione di eventuali policy, la telemetria. Lo fa dialogando con Kubernetes, al momento, perché la sua prima versione è pensata per le applicazioni containerizzate.

Il progetto Istio (il termine vuol dire vela, in greco) nasce principalmente dalla collaborazione tra Google, IBM e Lyft ma vede coinvolte anche Red Hat, Pivotal, Weaveworks, Tigera e Datawire.

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

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here