Dai monoliti ai microservizi: Il percorso verso la nuova normalità

La modernizzazione del panorama applicativo è un argomento importante per molte aziende. Nel caso di architetture monolitiche e applicazioni legacy, la modernizzazione con piattaforme container e microservizi è spesso all'ordine del giorno.

Le aziende e gli sviluppatori devono affrontare il compito di guidare l'innovazione e aumentare il time-to-market utilizzando tecnologie più produttive. Gli obiettivi sono una maggiore efficienza, agilità e velocità.

Le architetture monolitiche sono meno adatte a questo per principio. Sono troppo grandi e complessi, partono lentamente e sono costosi da testare per gli aggiornamenti. Anche un solo errore può influenzare la disponibilità dell'applicazione e possono sorgere conflitti tra i moduli durante lo scaling. Queste caratteristiche possono anche renderle un ostacolo all'introduzione di nuove tecnologie.

In contrasto con le architetture monolitiche, le piattaforme container e i microservizi offrono il potenziale per guidare l'innovazione rapidamente e a costi ottimizzati. I contenitori sono fondamentalmente tecnologie che possono essere usate per impacchettare, incapsulare e isolare le applicazioni con tutti i componenti necessari e i dettagli di configurazione e l'intero ambiente di runtime - cioè: con tutti i file necessari per il funzionamento.

Containers, Microservices, DevOps

Containers sono la tecnologia chiave per l'introduzione dei microservizi, che permettono la costruzione di applicazioni modulari, loosely coupled. Offrono un supporto cruciale alle aziende per accelerare la creazione di applicazioni.

I servizi sono forniti tramite API leggere e tecnologicamente neutre che aumentano la flessibilità nell'implementazione, la scalabilità e la manutenzione. I processi e le metodologie DevOps permettono anche di automatizzare i test di qualità in ogni fase del processo, riducendo significativamente il tempo e lo sforzo richiesto dagli sviluppatori.

Come risultato, sempre più aziende stanno prendendo la strada della migrazione dai monoliti alle piattaforme container e ai microservizi quando modernizzano le loro applicazioni. In linea di principio, ci sono tre opzioni per questo: re-hosting, re-platforming e re-factoring.

Molto o poco bisogno di cambiamento?

Con il re-hosting o lift-and-shift, gli sviluppatori confezionano applicazioni e carichi di lavoro esistenti - senza ulteriori modernizzazioni - in un contenitore con il minor numero possibile di modifiche, li migrano nel cloud e li gestiscono come PaaS.

Nel processo di re-platforming o lift-and-reshape, gli sviluppatori determinano quali parti dell'applicazione beneficiano della tecnologia dei container, le rielaborano trasferendole in microservizi e aggiungono strati API per la comunicazione. L'aggiunta di nuovi strati rende anche le funzionalità dell'applicazione esistente accessibili alle nuove applicazioni, risparmiando tempo e costi di sviluppo.

Infine, il re-factoring o la riscrittura comporta una modifica fondamentale del codice del programma di un'applicazione basata su una nuova architettura di microservizi.

Veloce o costoso?

La scelta della strategia di modernizzazione e migrazione dipende da diversi fattori, come l'applicazione, i requisiti di business o fattori contestuali. Bisogna anche tener conto del fatto che le tre varianti mostrano talvolta delle differenze considerevoli in termini di durata della migrazione e di costi. Di regola, la procedura più veloce ed economica è il re-hosting, mentre quella più dispendiosa in termini di tempo e costi è il re-factoring.

Markus Eisele si è unito a Red Hat nella posizione di Developer Adoption Program Lead EMEA.

I tre percorsi di migrazione aiutano gli architetti di applicazioni e i team di sviluppo e operativi a modernizzare le applicazioni esistenti senza bisogno di sviluppi completamente nuovi. In molti casi, è stato dimostrato che un approccio successivo ha senso nel contesto di una strategia di modernizzazione globale: dal re-hosting al re-platforming al re-factoring, che è in definitiva la procedura più completa per modernizzare l'architettura delle applicazioni.


Pagine utili:

Informazioni sul formato .ai
Informazioni sul formato .ova
Informazioni sul formato .ser

Lascia un commento