Microservizi e Container: i pilastri delle nostre nuove architetture software

Alle applicazioni mobili e web dei grandi player che operano nel settore dei servizi elettronici a valore aggiunto, possono accedere contemporaneamente volumi di utenti che generano picchi di traffico difficili da amministrare con le risorse IT dei data center organizzati secondo architetture tradizionali.

La capacità di elaborazione non è sempre facilmente scalabile in maniera elastica e la maggior parte dei sistemi legacy non sono concepiti per supportare i carichi di lavoro ad alta affidabilità con una disponibilità 24/7.

Inoltrte, in aggiunta al problema della scalabilità e delle prestazioni occorre considerare anche l’esigenza, espressa sempre di dalle imprese, di creare velocemente nuove applicazioni e servizi digitali, per rispondere di continuo alla domanda proveniente dal mercato e per non perdere spazi e opportunità di business.

In questo contesto non è più possibile organizzare lo sviluppo software mantenendo le modalità di pianificazione e progettazione seguite fino ad oggi dalla maggior parte delle aziende ICT.

Container e microservizi sono una risposta efficace all’esigenza delle organizzazioni di gestire l’IT in maniera agile,

Essendo improntati su un’architettura cloud-native, i data center di ultima generazione non sono più unicamente costituiti da sistemi server e infrastrutture fisiche di tipo tradizionale, ma sono entità di tipo software-defined, costituite da macchine virtuali, container e microservizi.

I nuovi Centri Servizi possono estendersi su più cloud e infrastrutture IT.

Le architetture applicative basate su microservizi e sulla containerizzazione delle applicazioni risultano molto più agili e consentono ai gestori dei data center di spostarle facilmente funzioni e servizi tra cloud e ambienti IT differenti.

In questo modo è possibile assegnare e spostare i carichi di lavoro dove risulta più conveniente, in funzione delle esigenze di business.

Nelle architetture basate su microservizi l’applicazione viene progettata sviluppando singoli servizi, ciascuno creato come componente indipendente e dedicato a una determinata funzione, in grado di connettersi e comunicare con gli altri tramite API (application programming interface).

I vantaggi di questo paradigma sono evidenti: si guadagna in agilità di sviluppo ottimizzando il time-to-market, si agevolano le pratiche CI/CD (continuous integration/continuous deployment), si incrementa la scalabilità delle performance grazie all’indipendenza di ciascun microservizio e si garantisce la continuità del business a fronte del fault di uno dei servizi.

Per ovviare all’inevitabile incremento della complessità di deployment che deriva dall’adozione di questo paradigma architetturale vengono in soccorso le tecnologie di conteinerizzazione e orchestrazione.

Incapsulando ciascun microservizio in un container e utilizzando una tecnologia di orchestrazione l’agilità dell’IT e del business nel cloud ibrido aumentano ulteriormente.

La tecnologia container consente di racchiudere in un file immagine tutto ciò che serve (codice, dipendenze, librerie, file di configurazione) per il funzionamento di un dato microservizio, rendendolo indipendente dalla piattaforma hardware e software sottostante.

A loro volta. i container si possono connettere ed orchestrare tramite tecnologie come Kubernetes,  automatizzando il deployment e la scalabilità dei servizi containerizzati.

Per tutti questi motivi, andando incontro alle esigenze manifestate dai nostri clienti, il nostro Gruppo ha da tempo avviato un’importante attività di ricerca e sviluppo in questo settore, e dal settembre 2021 sono state rilasciate le prime componenti software che permettono la realizzazione rapida di sistemi e piattaforme applicative conformi ai paradigmi appena descritti.

I primi rilasci in produzione su clienti di rilevanza nazionale sono in corso in questi giorni e saranno in pieno esercizio dal gennaio 2022.