Descrivere Azure Migration Framework

Completato

Prima di iniziare a eseguire la migrazione dei carichi di lavoro locali di Tailwind Traders in Azure, è consigliabile creare un piano di migrazione. Il piano deve identificare i carichi di lavoro di cui eseguire la migrazione e il servizio o gli strumenti appropriati da usare durante la migrazione. Idealmente, il piano deve includere anche dettagli su come ottimizzare i servizi migrati.

Il framework di migrazione di Azure consente di sviluppare il piano ed eseguire la migrazione. Il framework è costituito da quattro fasi: Valutazione, Migrazione, Ottimizzazione e Monitoraggio.

Fase 1: Valutare l'ambiente locale

Nella prima fase si valuta l'ambiente locale corrente:

  • Identificare le app e i relativi server, servizi e dati correlati, inclusi nell'ambito della migrazione
  • Iniziare a coinvolgere gli stakeholder, ad esempio il reparto IT e i gruppi aziendali pertinenti
  • Creare un inventario completo e una mappa delle dipendenze dei server, dei servizi e delle app di cui si intende eseguire la migrazione
  • Stimare il risparmio sui costi usando il calcolatore del costo totale di proprietà (TCO) di Azure
  • Identificare gli strumenti e i servizi appropriati che è possibile usare per eseguire le quattro fasi

Modelli di strategia di migrazione

Esistono quattro modelli di strategia generali per la migrazione dei carichi di lavoro nel cloud: rehosting, refactoring, riprogettazione e ricompilazione. La strategia adottata dipende dai fattori chiave dello sviluppo aziendale e dagli obiettivi di migrazione prefissati. È possibile prendere in considerazione l'adozione di più modelli. È possibile scegliere di eseguire il rehosting di app o app semplici non critiche per l'azienda, ma di riprogettare le app più complesse e critiche per l'azienda.

  • Rehost: il rehosting viene spesso definito migrazione in modalità lift-and-shift. Questa strategia non richiede modifiche al codice e consente di eseguire rapidamente la migrazione dei carichi di lavoro esistenti ad Azure. Ogni carico di lavoro viene migrato così com'è, senza i rischi e i costi associati alle modifiche del codice.

  • Refactoring: il refactoring viene 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. È possibile eseguire la migrazione di app esistenti a Servizio app di Azure o servizio Azure Kubernetes (servizio Azure Kubernetes). In alternativa, è possibile effettuare il refactoring di database relazionali e non relazionali in altre opzioni. Effettuare il refactoring in Istanza gestita di SQL di Azure, Database di Azure per MySQL, Database di Azure per PostgreSQL e Azure Cosmos DB (se l'app può essere facilmente riconfezionata per funzionare in Azure).

  • Riprogettazione: la riprogettazione per la migrazione è incentrata sulla modifica e l'estensione delle funzionalità dell'app e sulla codebase per ottimizzare l'architettura delle app per la scalabilità cloud. È possibile suddividere un'applicazione monolitica in un gruppo di microservizi che interagiscono e ridimensionano facilmente. In alternativa, è possibile riprogettare i database relazionali e non relazionali a una soluzione di database completamente gestita. Riprogettare per Istanza gestita di SQL di Azure, Database di Azure per MySQL, Database di Azure per PostgreSQL e Azure Cosmos DB.

  • Ricompilazione: la ricompilazione fa un passo avanti ricompilando completamente un'app usando le tecnologie cloud di Azure. È possibile creare app green-field con tecnologie native del cloud, ad esempio Funzioni di Azure, intelligenza artificiale di Azure, Istanza gestita di SQL di Azure e Azure Cosmos DB.

Nella tabella seguente sono elencati gli scenari per l'uso dei quattro modelli.

Rehosting Refactoring Riprogettazione Ricompilazione
Spostare rapidamente i carichi di lavoro nel cloud

Spostare un carico di lavoro senza modificarlo

Per le app progettate per sfruttare la scalabilità IaaS di Azure dopo la migrazione

Quando i carichi di lavoro sono importanti per l'azienda, ma non sono necessarie modifiche immediate alle funzionalità dell'app
Applicare procedure DevOps innovative fornite da Azure

Implementare una strategia del contenitore DevOps per i carichi di lavoro

Supportare la portabilità della codebase esistente e le competenze di sviluppo disponibili
Le app necessitano di revisioni importanti per incorporare nuove funzionalità

Le app necessitano di revisioni importanti per funzionare in modo efficace su una piattaforma cloud

Usare gli investimenti di applicazioni esistenti

Soddisfare i requisiti di scalabilità

Applicare procedure DevOps innovative

Ridurre al minimo l'uso delle macchine virtuali
Sviluppo rapido

Supportare le app esistenti con funzionalità e durata limitate

Accelerare l'innovazione aziendale usando le procedure DevOps

Creare nuove applicazioni usando tecnologie native del cloud come Azure Blockchain

Ricompilare le applicazioni legacy come "nessuna app di codice" o "app insufficienti" nel cloud

Fase 2: Eseguire la migrazione dei carichi di lavoro

Dopo aver completato la valutazione, è possibile iniziare il processo di migrazione delle app di destinazione e dei relativi servizi e dati correlati. La fase di migrazione è in genere costituita dalle attività seguenti:

  • Distribuire le destinazioni dell'infrastruttura cloud. Prima di poter eseguire la migrazione dei carichi di lavoro di Tailwind Traders, è necessario creare le destinazioni dell'infrastruttura cloud necessarie. A seconda degli strumenti usati per la migrazione, potrebbe essere necessario creare le risorse di Azure necessarie prima di iniziare la migrazione. Alcuni strumenti, ad esempio Azure Migrate e Servizio Migrazione del database di Azure, possono creare automaticamente le risorse di Azure di destinazione.

  • Eseguire la migrazione dei carichi di lavoro. È consigliabile pilotare la migrazione del carico di lavoro e scegliere un'app non critica per il progetto pilota. Questo approccio consente di acquisire familiarità con gli strumenti, acquisire esperienza con processi e procedure e ridurre i rischi durante la migrazione di carichi di lavoro complessi o di grandi dimensioni.

  • Rimuovere le autorizzazioni dell'infrastruttura locale: dopo aver soddisfatto la migrazione delle app e dei database di origine, è necessario rimuovere le autorizzazioni per i carichi di lavoro di origine. È consigliabile conservare i backup del carico di lavoro di origine e dei dati archiviati. Questi dati potrebbero risultare utili perché forniscono un archivio cronologico. È possibile archiviare questi backup e archivi in Archiviazione BLOB di Azure.

Fase 3: Ottimizzare i carichi di lavoro migrati

Per la fase di ottimizzazione, sono tre gli sforzi principali per concentrarsi sulla pianificazione:

  • Analizzare i costi di migrazione per i carichi di lavoro
  • Esaminare le raccomandazioni per ridurre i costi
  • Identificare le opzioni per migliorare le prestazioni del carico di lavoro

È possibile usare Gestione costi Microsoft (in precedenza noto come Gestione costi e fatturazione di Azure) nel portale di Azure per analizzare i costi del carico di lavoro. Questo strumento è disponibile per il gruppo di risorse di Azure che contiene i carichi di lavoro migrati. Lo strumento è disponibile nella sezione Gestione costi di analisi> deicosti. Lo screenshot seguente mostra l'analisi dei costi per l'ultimo periodo fatturabile per il ContosoResourceGroup gruppo di risorse. I risultati visualizzano i costi in base al nome del servizio, all'area e alla risorsa. È possibile personalizzare i risultati di visualizzazione in base alle proprie esigenze.

Screenshot che mostra un esempio di analisi dei costi con i costi stimati nel portale di Azure.

Per ridurre i costi, è possibile usare le funzionalità di Azure Advisor scegliendo Consigli di Advisor. Dopo aver analizzato i costi correnti ed esaminato le raccomandazioni, è possibile determinare le opzioni per migliorare le prestazioni del carico di lavoro.

Fase 4: Monitorare i carichi di lavoro

È possibile usare Monitoraggio di Azure per acquisire informazioni sull'integrità e sulle prestazioni dalle macchine virtuali di Azure. Installare l'agente Log di Monitoraggio di Azure (in precedenza noto come Log Analytics) nelle macchine virtuali di destinazione e quindi configurare avvisi e report.

Nota

È possibile installare l'agente log di Monitoraggio di Azure nei computer che eseguono Windows o Linux.

È possibile configurare gli avvisi in base a un'ampia gamma di origini dati:

  • Valori di metriche specifici, ad esempio l'utilizzo della CPU
  • Testo specifico nei file di log
  • Metriche di integrità
  • Metriche di scalabilità automatica