Insight,

Il percorso e le strategie di App Modernization: come districarsi tra le 7 R e valutare il giusto mix per la modernizzazione del software aziendale

Strategie app modernization

Modernizzare applicazioni Legacy è una sfida che per molte aziende non è più possibile ritardare. Tuttavia è difficile capire da dove iniziare, e come scongiurare  interruzioni di servizi o perdita di dati e fare una corretta previsione dei costi di un’App Modernization. 

Due sono gli aspetti cruciali di questo processo e sono, la definizione della nuova infrastruttura IT in cloud e l’adozione di codice e framework adatti alla nuova infrastruttura.

Nel fare le prime valutazioni di App Modernization, qualsiasi sia l’infrastruttura target (AWS, GCP, Microsoft Azure, o un ibrido), ci si imbatte ben presto nel modello delle 7R. Si tratta di un elenco riassuntivo di attività complesse, che se svolte secondo una precisa strategia, permettono alle aziende di rinnovare software e offerte senza soluzione di continuità. Questa guida fornirà un’illustrazione delle strategie di migrazione in Cloud nel percorso di App Modernization, illustrando i pro e i contro di ogni possibile passo. La finalità di questa guida è quella di permettere una prima valutazione del percorso verso un software moderno e un’infrastruttura altamente scalabile.

Audit dell’Infrastruttura IT

Come in ogni decisione strategica aziendale che vada ad incidere in maniera rilevante, è doveroso iniziare da una “fotografia” della situazione di partenza. Nel caso di una modernizzazione di sistemi obsoleti, con un Audit dell’Infrastruttura IT e dell’applicativo è possibile identificare:

  • Quali sistemi necessitano maggiormente di modernizzazione
  • Quali sarebbero più facili ed economici da modernizzare  
  • Quali potrebbero produrre i maggiori vantaggi

Solo dopo aver eseguito l’audit, è possibile sviluppare una strategia che supporti al meglio gli obiettivi aziendali.

La giusta Strategia di Modernizzazione del Legacy

Tutte le strategie di App Modernization aggiungono vari gradi di vantaggi e valore, ma optare per un approccio con una visione complessiva migliora le probabilità di successo rispetto a sforzi di modernizzazione ad hoc o frammentari. Imboccare quindi la strada più idonea per modernizzare i sistemi legacy aziendali è uno step fondamentale per la migrazione al Cloud nella maniera più efficiente, ma consente anche di prevenire ed evitare “incidenti di percorso” che potrebbero far lievitare tempi e costi in un secondo momento.

Un buon piano di modernizzazione delle applicazioni richiede di bilanciare i vantaggi, i rischi e l’idoneità di aspetti specifici, oltre che il ruolo di Clienti, utenti finali, e altre parti interessate. Di seguito abbiamo raccolto le classiche 7 strategie di modernizzazione delle applicazioni, note anche come le 7 R:

  1. Refactor
  2. Repurchase
  3. Relocate
  4. Retain
  5. Retire

Trasferimento di Host: Re-Hosting

Una prima, semplice, strategia di App Modernization è il trasferimento dell’Host, cioè il trasferimento dell’applicativo dal locale al Cloud effettuando modifiche minime alla struttura.

Il Re-Hosting, detto anche Lift & Shift, viene utilizzato principalmente per migrare rapidamente applicazioni legacy su larga scala; questo processo non è solo un punto di arrivo, ma spesso è il primo fondamentale passo per successivi interventi. Infatti, a seguito dell’operazione di Re-Hosting sul Cloud, l’infrastruttura IT risulta più facile da ottimizzare e riprogettare.

Vantaggi Re-Host

  • Strategia di migrazione più conveniente sul breve periodo in termini di tempi e costi
  • Non sono necessarie competenze o processi aggiuntivi per il processo di gestione
  • È possibili trasferire interi sistemi legacy sul Cloud con rapidità mentre si pianificano ulteriori modifiche in futuro

Rischi Re-Host

  • Necessita di ulteriori attività per sfruttare al meglio i vantaggi forniti dai servizi cloud-native
  • Sul lungo periodo può risultare più costosa rispetto ad altre strategie come il Re-Platforming o il Re-Factoring

Trasferimento di piattaforma: Re-Platforming

Il Re-Platforming consiste nello spostare un’applicazione legacy nel Cloud effettuando anche un certo livello di ottimizzazione così che funzioni in modo ottimale nel Cloud senza riscrivere la sua architettura di base. Così come nel Re-Hosting quindi, non si apportano stravolgimenti alla struttura.

Il processo di Re-Platforming viene usato generalmente quando è necessario apportare al codice minime variazioni, quelle che servono per garantire che nella nuova piattaforma cloud l’applicazione abbia le stesse funzionalità; per questo il trasferimento di piattaforma viene anche detto Lift & Reshape.

Vantaggi Re-Platform

  • Migliore scalabilità orizzontale
  • Maggiore automazione
  • Modifiche e costi a seconda delle esigenze
  • Risparmio di tempo rispetto ad una riscrittura completa dell’architettura

Rischi Re-Platform

  • Se non ben pianificato, con il Re-Platforming c’è il rischio di aggiungere modifiche non necessarie, facendo aumentare tempi e costi
  • Le applicazioni che sono state modificate potrebbero non funzionare correttamente (sono quindi necessari test approfonditi)
  • Il personale IT potrebbe far fatica ad adattarsi al nuovo sistema cloud native

Creazione di una nuova Architettura: Re-Factoring

Il Re-Factoring consiste nella riscrittura, parziale o totale, di un’applicazione per conformarla ai nuovi standard, funzionalità e casi d’uso del cloud computing. La strategia di App Modernization tramite Re-Factoring può richiedere molto tempo e denaro. Tuttavia, è anche il percorso più efficace e durevole per sfruttare i più recenti vantaggi del cloud.

La strategia di riscrittura del codice, detta anche Re-Architecting, viene utilizzata per rendere compatibili al meglio le applicazioni sulle piattaforme cloud, ma anche nel caso in cui si vogliano aggiungere nuove funzionalità all’app senza rischiare che possano interferire con quelle principali del software.

Vantaggi Re-Factor

  • Garantisce la continuità aziendale
  • Soluzione ideale ottenere software future-proof
  • Via più sicura per aumentare la scalabilità
  • Interventi futuri più facili grazie ad un codice più snello e leggibile

Rischi Re-Factor

  • Il processo di Re-Factoring richiede pianificazione, esecuzione e test approfonditi (per questo può richiedere molto tempo e costi elevati)
  • Sono necessarie competenze cloud avanzate e formazione del personale
  • Richiede un monitoraggio continuo per massimizzare le prestazioni e ottimizzare i costi

Sostituzione: Re-Purchasing (o Re-Placing)

La strada del Re-Purchasing mira a sostituire una soluzione locale con un’alternativa basata sul cloud, spesso con una soluzione Software-as-a-Service (SaaS). La strategia di Sostituzione consiste quindi nel rimpiazzare applicazioni e dati locali con un prodotto cloud native già pronto, senza alcuna responsabilità infrastrutturale o di manutenzione (il processo è infatti anche noto come Drop and Shop).

Sostituire un sistema legacy esistente con uno cloud è l’ideale per risparmiare sui costi relativi allo sviluppo IT o per migrare in cloud applicazioni e dati che risultano difficili da trasferire.

Vantaggi Re-Purchase

  • Rapida soluzione in Cloud
  • Modello Re-Purchase è flessibile e basato su un pricing degli effettivi consumi
  • Non richiede eccessiva formazione per il reparto IT

Rischi Re-Purchase

  • Non è possibile personalizzare significativamente l’applicazione
  • Nessun controllo in caso di malfunzionamento

Rilocalizzazione: Re-Locating

Con una strategia di rilocalizzazione si migra l’infrastruttura nell’ambiente cloud senza la necessità di un nuovo hardware, di modifiche nelle operazioni esistenti o di riscrittura delle applicazioni.

Questo scenario di modernizzazione di app è specifico per la migrazione di infrastrutture su VMware Cloud di AWS (Amazon Web Services). È una via percorribile per le strutture che utilizzano VMware come data center on-premise per spostare carichi di lavoro sul Cloud senza avere interruzioni di servizio.

Vantaggi Re-Locate

  • Il Re-Locating assicura la continuità dei carichi di lavoro supportati
  • Rilocalizzazione rapida
  • Riduzione dei costi di gestione di uno o più data center

Rischi Re-Locate

  •  Numero limitato di funzionalità cloud AWS disponibili

Conservazione: Retaining

Non sempre è possibile, o auspicabile, modernizzare le applicazioni legacy migrandole sul Cloud, per svariate ragioni: problemi di conformità e fattibilità, ma anche di sicurezza. La strategia di conservazione consiste nel mantenere dei carichi di lavoro in locale, con un piano per rivederli in seguito per ulteriori decisioni (per questo è anche detta Re-Visit).

Il Retain di sistemi legacy diviene una strada percorribile quando si hanno applicazioni che non possono essere migrate, o nel caso in cui bisogna rispettare rigide politiche sulla trasmissione dei dati e sulla privacy, ma anche come strategia di temporeggiamento per future valutazioni.

Vantaggi Retain

  • Il Retaining è un’opportunità per identificare quali carichi di lavoro non devono essere spostati nel cloud

Rischi Retain

  • Mantenere parti del sistema legacy può significare non esplorare pratiche più performanti, sicure, convenienti e produttive 

Smantellamento dell’App: Retiring

Fin qui abbiamo visto processi di modifica o spostamento di App Legacy sul Cloud. A volte però può essere necessario semplicemente disattivare o rimuovere applicazioni che non sono più necessarie. È in pratica una di strategia di alleggerimento dell’App per farla performare meglio.

Tuttavia, non è una via da prendere con leggerezza, poiché bisogna attentamente valutare quali applicazioni ritirare: potrebbero avere ripercussioni non (ancora) note su altre funzionalità.

Vantaggi Retire

  • Il Retiring consente una maggiore ottimizzazione delle risorse
  • Bassi costi in termini di tempo e denaro

Rischi Retire

  • Rischio di dismettere funzionalità in realtà utili

Un reale percorso di Application Modernization

Intraprendere e completare un percorso di Application Modernization, non è semplice. 

Come abbiamo detto richiede innanzitutto un Audit o una fase preliminare di approfondita valutazione.

Per portare a termine tutte le attività necessarie e quindi tutto il percorso di modernizzazione, sono necessarie diverse figure e specializzazioni che lavorino in team e che gestiscano tutti gli aspetti tecnologici e operativi.

Inoltre, sono necessarie figure specializzate nella progettazione, nell’allestimento e nella gestione della nuova infrastruttura cloud, come sviluppatori specializzati nei framework adatti.

Per tutte queste ragioni le aziende si rivolgono a partner specializzati, che sono in grado di affiancarle per portare a termine con successo il percorso di Application Modernization.
Bottega52 è un partner ideale per la modernizzazione degli applicativi aziendali, e si distingue per:

  • Comprensione del modello di business del cliente e integrazione di KPI business nel processo di modernizzazione degli applicativi
  • Approccio umano di aperto confronto costruttivo con tutti gli stakeholder aziendali
  • Condivisione della cultura con il team del cliente e trasparenza nel processo di lavoro
  • Attitudine allo sviluppo di soluzioni innovative e su misura per le esigenze del cliente

Ho modernizzato, e ora? Ci pensa Bottega52!

La modernizzazione di applicazioni legacy non si esaurisce con il compito di un partner specializzato in tecnologia cloud come Bottega52. Una volta completato il processo e messo l’applicativo in opera, l’infrastruttura cloud necessita di una corretta operatività e manutenzione. Bottega52 è anche un Cloud Service Provider in grado di gestire l’intero ciclo di vita dei prodotti digitali, e affiancare il Cliente con la gestione completa dell’infrastruttura IT

Esternalizzando il reparto IT cloud il cliente può dedicare il team interno all’evoluzione e al miglioramento degli applicativi, affidando a Bottega52 l’intera gestione dell’infrastruttura, secondo SLA concordati e con assistenza 24/7 enterprise grade.

Contattaci per valutare insieme la migliore strategia di App Modernization!