Magazine

Modernizzazione delle applicazioni, come scegliere il giusto approccio

17/04/2023
Modernizzazione delle applicazioni, come scegliere il giusto approccio
Enterprise
La pianificazione è una parte importante di qualsiasi trasformazione, soprattutto se parliamo di cloud journey. Spesso un'organizzazione inizia il suo ‘viaggio’ realizzando un inventario della propria infrastruttura e creando un piano per migrare le macchine virtuali locali. Un piano di migrazione dell'infrastruttura cloud based fornisce vantaggi come affidabilità, resilienza, stabilità e scalabilità, ma quali sono i passaggi successivi?

La modernizzazione delle applicazioni offre ulteriori benefici, che consentono alle aziende di innovare a un ritmo più rapido, ridurre i costi e facilitare il go-to-market del business o in alcuni casi il suo rilancio. Il primo passo, in un'iniziativa di questo tipo, consiste nell'eseguire un inventario dell'intero patrimonio digitale, non limitandosi alla sola infrastruttura. Quali applicazioni sono ospitate? Quanti ambienti di sviluppo, test e produzione ha ciascuna applicazione? E quali archivi di dati (database, condivisioni di file, ecc.) sono richiesti per ciascuna di esse? Ponendosi queste domande, un'organizzazione può iniziare un processo di razionalizzazione di ogni carico di lavoro per identificare la migliore strategia per la modernizzazione che, di norma, segue il percorso delle cosiddette "5 R": Rehost, Refactor, Rearchitect, Rebuild e Replace.

A sostegno che sia questa la corretta strada da intraprende, i risultati del sondaggio “2023 Gartner CIO and Technology Executive Survey” mostrano che il 46% delle organizzazioni aumenterà la spesa per la modernizzazione delle applicazioni (la quarta area tecnologica per spesa) e il 50% aumenterà la spesa per le piattaforme cloud (la terza area tecnologica per spesa). Inoltre, il 47% diminuirà gli investimenti in infrastrutture legacy e tecnologie per data center, a dimostrazione della transizione verso piattaforme tecnologiche moderne.
 
Ma come far avvenire questa transizione? I passi da seguire sono definiti dalle già citate ‘5 R’, che vale la pena analizzare singolarmente.

Rehost 

Il rehosting di un'applicazione è la strategia più comune nel processo di application modernization. Spesso indicato come "lift and shift", consiste nel migrare semplicemente l'applicazione e l'infrastruttura sottostante nel cloud; concretamente la dismissione di un data center o la liberazione di spazio all’interno di uno di questi diventano il driver per l'adozione del cloud.

Refactor

Poiché molte applicazioni possono essere sottoposte facilmente a un refactoring (tecnica che consiste nel modificare il codice per migliorarne alcune caratteristiche non funzionali senza mutarne il comportamento),  è possibile sfruttare le offerte comuni di Platform-as-a-Service (PaaS) di un fornitore di servizi cloud. Con quali vantaggi? I servizi PaaS possono aiutare a ridurre i costi operativi rispetto a un modello di hosting basato su infrastruttura pura. Inoltre consentono a un'organizzazione di utilizzare in modo più efficiente il cloud, infatti molti servizi possono facilmente adattarsi alla domanda o utilizzare un modello di pricing basato sul consumo.

Rearchitect

Potrebbe accadere che alcune applicazioni legacy non siano state ben progettate al momento dello sviluppo originale con una conseguente difficoltà ad essere utilizzate per un servizio cloud based. Ne consegue che applicazioni di questo tipo spesso richiedono una riprogettazione prima di poter sfruttare correttamente il cloud. Durante gli esercizi di riprogettazione, non solo l'applicazione può essere riprogettata per il cloud, ma i team possono anche decidere di adottare tecniche DevOps per lo sviluppo e la distribuzione della stessa.

Rebuild 

Se un'applicazione richiede troppo lavoro per il refactoring o la riprogettazione in ottica cloud o non soddisfa più le esigenze dell'azienda, la strategia migliore consiste nel ricostruirla da zero. Il rebuild di un'applicazione non solo aiuta a soddisfare le ‘nuove’ esigenze dell'organizzazione, ma anche ad adottare pratiche DevOps moderne e a sfruttare i servizi basati su cloud per garantire tutta una serie di vantaggi anche nel medio-lungo periodo.

Replace

Infine, può esserci anche il caso in cui la scelta migliore consista nel sostituire completamente un'applicazione; piuttosto che supportare un software personalizzato, si potrebbe optare per una soluzione SaaS (Software-as-a-Service) che consente di ottenere solo ciò che serve, acquisendo in agilità e versatilità. 
Passando alla pratica, quale strategia di modernizzazione delle applicazioni una organizzazione deve perseguire? Come si è visto non esiste una strada univoca e la risposta dipende da molteplici fattori. Maggiore è il valore aziendale di un'applicazione, tanto più sarà il potenziale vantaggio derivante dal portarla in cloud. Ad esempio, effettuando il refactoring delle app business-critical si può massimizzare il tempo, dando priorità alle applicazioni che hanno più da guadagnare da architetture flessibili e infrastrutture scalabili. Le applicazioni, invece, che rimangono invariate per lunghi periodi di tempo e che non ostacolano la capacità di innovazione dell’azienda non hanno bisogno di essere riscritte. Quando invece l'obiettivo è aumentare l'efficienza IT e ridurre i costi, sarà meglio eseguire il rehosting o il replace, per risolvere le criticità e rendere il business più snello e pronto ad affrontare nuove sfide.

Approccio sistemico

Come ricorda Gartner nel suo report “How to choose the right approach for application modernization and cloud migration”: “Oltre ai cinque principali approcci di modernizzazione delle applicazioni e di migrazione al cloud, i responsabili IT dovrebbero valutare opzioni alternative quando la modernizzazione o la migrazione non è conveniente. La scelta di modernizzare e migrare o meno deriva spesso da una precedente iniziativa di razionalizzazione delle applicazioni o di valutazione del portafoglio applicativo”. Si parla allora di Retain, Encapsulate e Retire.
  • Lasciare l'applicazione così com'è, approccio Retain, è un’opzione se l'ammodernamento o la migrazione non valgono la pena, perché comporterebbero troppi sforzi e rischi, oppure se l'applicazione è prossima al “pensionamento” e per ora va tollerata.
  • La strada “Encapsulate” prevede di catturare i dati e le funzioni dell'applicazione per renderli accessibili come servizi tramite API. Questo approccio sfrutta ed estende le caratteristiche e il valore dell'applicazione, mentre le specifiche di implementazione sono nascoste dietro l'interfaccia.
  • Infine il “Retire”: dismettere l'applicazione, spesso come parte di uno scenario di sostituzione, non è sbagliato ma consente di tagliare i ponti con il passato, abbracciando in toto un nuovo modello, diretto dall’innovazione.
Ma quali sono i tre  principali fattori che spingono un’organizzazione alla modernizzazione delle applicazioni? Il primo è l’adattamento al business: l'applicazione non soddisfa più gli attuali requisiti aziendali. Poi l’innovazione: l'applicazione impedisce all'azienda di sfruttare le nuove opportunità di business o di affrontare le interruzioni. L’agilità: l'applicazione e i suoi ecosistemi di supporto non sono in grado di tenere il passo con il ritmo dei cambiamenti, o questi ultimi possono comportare un livello inaccettabile di costi e rischi. 

E dal  punto di vista dell'IT? I tre fattori principali per la modernizzazione delle applicazioni sono invece il costo totale di gestione, la complessità e il rischio derivante da problemi di sicurezza e conformità. Nelle piattaforme e nei linguaggi applicativi più vecchi, il rischio di una carenza di competenze è spesso una delle principali preoccupazioni.

Per questo, Gartner consiglia di seguire un framework per la selezione del giusto approccio di modernizzazione delle applicazioni e di migrazione al cloud. Il quadro elenca ogni approccio di modernizzazione e migrazione e identifica la misura in cui può contribuire a risolvere problemi di tecnologia, architettura o funzionalità. Ad esempio, la riarchitettura di un componente dell'applicazione può risolvere i problemi tecnologici e architettonici, ma ha un valore limitato nella risoluzione dei problemi funzionali.

La ricostruzione di un'applicazione offre la massima opportunità e flessibilità per migliorare la tecnologia, l'architettura e la funzionalità. “I responsabili IT dovrebbero utilizzare questo framework per creare una rosa di approcci di modernizzazione adeguati e discuterne con tutte le parti interessate. Ma anche per delineare insieme le aspettative, rendendo tutti consapevoli della portata, degli effetti, dei risultati e delle conseguenze della modernizzazione. Le considerazioni e le conseguenze devono essere valutate e soppesate, per decidere se vale la pena modernizzare o migrare e quale degli approcci offra il miglior equilibrio tra valore ed effetto rispetto a costi, rischi e impatto” spiegano gli analisti.

La tua organizzazione sta andando nella direzione dell’application modernization? Scopri l’offerta Aruba Enterprise per il cloud native