L'approccio corretto alla migrazione delle applicazioni dipende dagli obiettivi aziendali e dalla complessità dell'applicazione. Per valutare le opzioni disponibili, molte organizzazioni si affidano alle "6 Rs" della migrazione delle applicazioni, tra cui:
1. Rehosting
Il rehosting, o "trasferimento in modalità lift-and-shift," comporta lo spostamento delle applicazioni così come sono da un ambiente a un altro, in genere dall'ambiente locale al cloud, senza apportare modifiche all'applicazione stessa. Questa è spesso l'opzione più veloce e meno complessa.
Ideale per: applicazioni che non necessitano di modifiche e possono trarre vantaggio dalla scalabilità del cloud.
2. Replatforming
In un replatforming, le organizzazioni apportano alcune ottimizzazioni o modifiche all'applicazione per allinearla meglio all'ambiente cloud, ma senza riprogettare completamente l'applicazione. Ciò può includere lo spostamento del database in un servizio cloud gestito o la sostituzione di tecnologie obsolete con equivalenti nativi del cloud.
Ideale per: applicazioni che richiedono un'ottimizzazione per la compatibilità cloud, ma che non richiedono una riprogettazione completa.
3. Refactoring
Quando le organizzazioni devono apportare modifiche significative a un'applicazione per sfruttare al meglio le funzionalità native del cloud, si chiama refactoring o riprogettazione. Spesso devono riscrivere parti dell'applicazione per la scalabilità, le prestazioni o l'affidabilità.
Ideale per: applicazioni che devono essere modernizzate per sfruttare appieno le tecnologie cloud, ad esempio microservizi o elaborazione serverless.
4. Repurchasing
A volte la strategia migliore consiste nel sostituire un'applicazione esistente con una nuova soluzione basata sul cloud. Ciò si verifica in genere quando un'organizzazione passa da un sistema locale legacy a una piattaforma Software-as-a-Service che fornisce la stessa funzionalità.
Ideale per: situazioni in cui un nuovo prodotto basato sul cloud supporta meglio le esigenze aziendali.
5. Retiring
Retiring significa rimuovere le applicazioni che non sono più necessarie o che sono troppo costose da gestire. In questo modo è possibile liberare risorse e ridurre la complessità durante il processo di migrazione.
Ideale per: sistemi legacy che non forniscono più valore o non sono più critici per l'azienda.
6. Retaining
Se un'applicazione soddisfa ancora le esigenze aziendali o richiede un'infrastruttura specializzata, potrebbe essere opportuno conservarla in locale o nell'ambiente corrente. L'approccio potrebbe far parte di una strategia di cloud ibrido.
Ideale per: applicazioni troppo complesse o costose per la migrazione o strettamente integrate con sistemi locali.