Pianificare la migrazione
Per organizzazioni come Contoso, che stanno prendendo in considerazione lo spostamento delle risorse locali in Azure, uno dei primi e più importanti passaggi della migrazione è la pianificazione. In un progetto di migrazione la maggior parte del lavoro in genere viene svolta nelle fasi di pre-pianificazione.
Queste fasi comportano una valutazione approfondita di:
- Modello di business.
- Elaborazione e sistemi correnti.
- Funzionamento del processo aziendale in Azure al termine della migrazione.
Nella tabella seguente vengono identificati i diversi elementi da prendere in considerazione e le strategie corrispondenti da mettere in atto quando si definisce e si determina una strategia di migrazione globale.
| Considerazioni | Dettagli |
|---|---|
| Driver di business | I responsabili IT devono collaborare attivamente con i partner commerciali per comprendere gli obiettivi da raggiungere con la migrazione. I driver di business dovrebbero concentrarsi su come gestire la crescita aziendale, limitare i rischi e specificare l'ambito della migrazione. |
| Obiettivi della migrazione | Gli obiettivi consentono di determinare il metodo di migrazione ideale. |
| Progettazione della soluzione | Dopo aver identificato gli obiettivi e i requisiti, si progetta e si esamina una soluzione di distribuzione e si identifica il processo di migrazione, inclusi i servizi di Azure che verranno usati per la migrazione. |
Scegliere una strategia di migrazione
Le strategie di migrazione cloud rientrano in quattro categorie più ampie:
- Rehosting
- Refactoring
- Riprogettazione
- Ricostruzione
La strategia adottata dipende dai fattori chiave dello sviluppo aziendale e dagli obiettivi di migrazione prefissati. È anche possibile adottare più modelli. Ad esempio, Contoso può optare per il rehosting di app semplici o app che non sono cruciali per l'azienda, scegliendo di riprogettare quelle più complesse e critiche. La tabella seguente descrive questi modelli.
| Modello | Definizione | Quando utilizzare |
|---|---|---|
| Rehosting | Noto anche come migrazione in modalità lift-and-shift. Adottando questa strategia non è necessario apportare modifiche al codice ed è possibile eseguire rapidamente la migrazione ad Azure delle app esistenti. Ogni app viene migrata così com'è in modo da sfruttare i vantaggi del cloud senza i rischi e i costi associati alle modifiche del codice. | Quando è necessario spostare rapidamente le app nel cloud. Quando si vuole spostare un'app senza modificarla. Quando le app sono progettate in modo da utilizzare la scalabilità dell'infrastruttura IaaS di Azure dopo la migrazione. Quando le app sono importanti per l'azienda, ma non è necessario apportare modifiche immediate alle loro funzionalità. |
| Refactoring | Spesso definito repackaging, il refactoring richiede modifiche minime alle app in modo che possano connettersi alla piattaforma distribuita come servizio (PaaS) di Azure e usare le offerte cloud. È ad esempio possibile eseguire la migrazione delle app esistenti al Servizio app di Azure o al servizio Azure Kubernetes. In alternativa, si può anche eseguire il refactoring di database relazionali e non relazionali in opzioni come Istanza gestita di database SQL di Azure, Database di Azure per MySQL, Database di Azure per PostgreSQL e Azure Cosmos DB. Se l'app può essere facilmente riassemblata in modo da funzionare in Azure. | Se si vogliono applicare le procedure DevOps innovative offerte da Azure o si sta valutando l'opportunità di investire in DevOps adottando una strategia basata su contenitori per carichi di lavoro. Per il refactoring, è necessario considerare la portabilità della codebase esistente e le competenze di sviluppo disponibili. |
| Riprogettazione | La riprogettazione per la migrazione è incentrata sulla modifica e sull'estensione della codebase e delle funzionalità delle app al fine di ottimizzarne l'architettura per la scalabilità nel cloud. Può ad esempio essere opportuno suddividere un'applicazione monolitica in un gruppo di microservizi che funzionano insieme e sono facilmente scalabili. In alternativa, è anche possibile riprogettare database relazionali e non relazionali e trasformarli in una soluzione di database completamente gestita, come Istanza gestita di database SQL di Azure, Database di Azure per MySQL, Database di Azure per PostgreSQL e Azure Cosmos DB. | Quando si devono apportare revisioni significative alle app per incorporare nuove funzionalità o per migliorarne il funzionamento su una piattaforma cloud. Quando si vogliono sfruttare gli investimenti esistenti delle applicazioni, rispettare i requisiti di scalabilità, applicare procedure DevOps innovative e ridurre al minimo l'uso di macchine virtuali. |
| Ricostruire | Questa strategia consente di compiere un passo in avanti ricostruendo un'app da zero con le tecnologie cloud di Azure. È ad esempio possibile creare app greenfield con tecnologie native del cloud come Funzioni di Azure, Azure per intelligenza artificiale, Istanza gestita di database SQL di Azure e Azure Cosmos DB. | Quando si vogliono sviluppare app rapidamente e le app esistenti hanno funzionalità e ciclo di vita limitati. Quando si è pronti ad accelerare l'innovazione aziendale (adottando anche le procedure DevOps fornite da Azure). Quando si vogliono creare nuove applicazioni con tecnologie native del cloud. Quando si vogliono utilizzare i miglioramenti delle tecnologie di intelligenza artificiale, Blockchain e Internet delle cose (IoT). |
Strumenti di migrazione
Dopo aver selezionato una strategia, Contoso deve scegliere lo strumento o gli strumenti di migrazione appropriati. La tabella seguente descrive alcuni dei possibili strumenti di migrazione disponibili, a seconda dello scenario di migrazione.
| Strumento | Scenario di migrazione |
|---|---|
| Azure Migrate: Valutazione server | Esegue una valutazione per i server fisici e le macchine virtuali locali in esecuzione in ambienti Hyper-V e VMware in preparazione alla migrazione ad Azure. |
| Azure Migrate: Migrazione server | Esegue la migrazione per i server Windows fisici e le macchine virtuali locali in esecuzione in ambienti Hyper-V e VMware e altre macchine virtuali del cloud pubblico. |
| Azure Migrate: Valutazione database | Esegue una valutazione dei database di Microsoft SQL Server locali in preparazione alla migrazione al database SQL di Azure, a un'istanza gestita di database SQL di Azure, a un'istanza gestita di database o a macchine virtuali di Azure che eseguono SQL Server. |
| Azure Migrate: Migrazione database | Esegue una valutazione in preparazione alla migrazione a macchine virtuali di Azure che eseguono SQL Server, al database SQL di Azure o a istanze gestite di database SQL di Azure. |
| Azure Migrate: Valutazione app Web | Esegue una valutazione delle app Web locali e ne esegue la migrazione in Azure. |
| Azure Migrate: Data Box | Sposta grandi quantità di dati offline in Azure usando Azure Data Box. |