Eseguire la migrazione di database open source ad Azure

Questo articolo illustra in che modo la società fittizia Contoso valuta, pianifica ed esegue la migrazione dei vari database open source locali ad Azure. Per istruzioni dettagliate, è anche possibile guardare Migrate and Modernize Linux VMs and Databases into Azure (video).

Prendendo in considerazione la migrazione ad Azure, Contoso vuole eseguire una valutazione tecnica e finanziaria per determinare se i carichi di lavoro locali dell'azienda sono idonei per la migrazione al cloud. In particolare, il team Contoso vuole valutare la compatibilità di computer e database per la migrazione, nonché stimare la capacità e i costi per l'esecuzione delle risorse di Contoso in Azure.

Driver di business

Contoso ha vari problemi con la gestione di tutte le numerose versioni dei carichi di lavoro dei database open source esistenti nella rete. Dopo l'ultima riunione con gli investitori, il CFO e il CTO decidono di spostare tutti questi carichi di lavoro in Azure. In questo modo potranno passare da un modello di spesa strutturato in conto capitale a un modello di spesa operativa fluido.

Il team di leadership IT collabora a stretto contatto con i partner di business per identificare i requisiti aziendali e tecnici. I propositi sono i seguenti:

  • Aumentare la sicurezza. Contoso deve essere in grado di monitorare e proteggere tutte le risorse dati in modo più rapido ed efficiente. È anche necessario ottenere una configurazione più centralizzata del sistema di creazione report sui modelli di accesso al database.
  • Ottimizzare le risorse di calcolo. Contoso ha distribuito un'infrastruttura server locale di grandi dimensioni. Sono presenti diverse istanze di SQL Server che vengono utilizzate ma senza un uso efficiente delle risorse sottostanti allocate, ovvero CPU, memoria e disco.
  • Aumentare l'efficienza. Contoso ha l'esigenza di rimuovere le procedure inutili e semplificare i processi per sviluppatori e utenti. L'azienda ha bisogno che il reparto IT sia veloce e non sprechi tempo e denaro, in modo da soddisfare più rapidamente i requisiti dei clienti. L'amministrazione del database deve essere ridotta dopo la migrazione.
  • Aumentare l'agilità. il settore IT di Contoso deve essere più reattivo alle esigenze dell'azienda. Per avere successo in un'economia globale, deve essere in grado di reagire più rapidamente ai cambiamenti del marketplace. Non deve rappresentare un ostacolo per le attività aziendali.
  • Scalabilità. Il reparto IT di Contoso deve fornire sistemi in grado di crescere di pari passo con l'espansione del business.
  • Comprendere i costi. I dirigenti aziendali e i proprietari di applicazioni vogliono avere la certezza che non incorreranno nei costi elevati del cloud quando eseguono le applicazioni in locale.

Obiettivi della migrazione

Il team cloud di Contoso ha definito gli obiettivi per le varie migrazioni. Questi obiettivi consentono di determinare il metodo di migrazione ottimale.

Requisiti Dettagli
Prestazioni Dopo la migrazione, le applicazioni in Azure dovranno avere le stesse caratteristiche prestazionali riscontrate oggi nell'ambiente locale di Contoso. Il passaggio al cloud non significa che le prestazioni delle applicazioni siano meno critiche.
Compatibilità Contoso deve sapere se le applicazioni e i database sono compatibili con Azure. Deve anche conoscere le opzioni di hosting in Azure.
Origini dei dati Tutti i database verranno spostati in Azure senza eccezioni. In base all'analisi di database e applicazioni delle funzionalità di SQL in uso, verranno spostati in soluzioni PaaS (piattaforma distribuita come servizio) o IaaS (infrastruttura distribuita come servizio). Tutti i database devono essere spostati.
Applicazione Le applicazioni devono essere spostate nel cloud laddove possibile. Se non possono essere spostate, potranno connettersi al database trasferito solo attraverso connessioni private tramite la rete di Azure.
Costi Contoso vuole identificare non solo le opzioni di migrazione, ma anche i costi associati all'infrastruttura dopo lo spostamento nel cloud.
Gestione È necessario creare gruppi di gestione delle risorse per i vari reparti, oltre ai gruppi di risorse per gestire tutti i database di cui eseguire la migrazione. Tutte le risorse devono essere contrassegnate con le informazioni del reparto per i requisiti di chargeback.
Limitazioni Inizialmente, non tutte le succursali che eseguono applicazioni avranno un collegamento Azure ExpressRoute diretto con Azure. Questi uffici dovranno connettersi tramite gateway di rete virtuale.

Progettazione della soluzione

Contoso ha già eseguito una valutazione della migrazione del digital estate usando Azure Migrate.

Diagramma che mostra il processo di migrazione.Figura 1: Processo di migrazione.

Revisione della soluzione

Contoso valuta la progettazione proposta elaborando un elenco di vantaggi e svantaggi.

Considerazioni Dettagli
Vantaggi Azure fornirà un'interfaccia unificata per i carichi di lavoro del database.

I costi verranno monitorati tramite Gestione dei costi e fatturazione di Azure.

La fatturazione del chargeback aziendale sarà facile da eseguire con le API di fatturazione di Azure.

La manutenzione del server e del software verrà ridotta solo agli ambienti basati su IaaS.
Svantaggi A causa del requisito delle macchine virtuali basate su IaaS, sarà comunque necessario gestire il software in tali computer.

Budget e gestione

Prima di poter eseguire la migrazione, dovrà essere disponibile la struttura di Azure necessaria per supportare gli aspetti di amministrazione e fatturazione della soluzione.

Per i requisiti di gestione, vengono creati diversi gruppi di gestione per supportare la struttura organizzativa.

Per i requisiti di fatturazione, ogni risorsa di Azure viene contrassegnata con i tag di fatturazione appropriati.

Processo di migrazione

Le migrazioni dei dati seguono un modello ripetibile standard. Il processo include i passaggi seguenti in base alle procedure consigliate di Microsoft:

  • Pre-migrazione:
    • Individuazione: creare un inventario di asset di database e stack di applicazioni.
    • Valutazione: valutare i carichi di lavoro e correggere gli errori consigliati.
    • Conversione: convertire lo schema di origine in modo che funzioni nella destinazione.
  • Migrazione:
    • Migrazione: eseguire la migrazione dello schema di origine, dei dati di origine e degli oggetti alla destinazione.
    • Sincronizzazione dei dati: sincronizzare i dati (per ridurre al minimo i tempi di inattività).
    • Cutover: eseguire la migrazione cutover dell'origine alla destinazione.
  • Post-migrazione:
    • Correzione delle applicazioni: apportare in modo iterativo le modifiche necessarie alle applicazioni.
    • Esecuzione di test: eseguire in modo iterativo test funzionali e delle prestazioni.
    • Ottimizzazione: in base ai test, risolvere i problemi di prestazioni e quindi ripetere i test per verificare i miglioramenti.
    • Ritiro degli asset: eseguire il backup e quindi il ritiro delle VM e degli ambienti di hosting precedenti.

Passaggio 1: Individuazione

Contoso usa Azure Migrate per visualizzare le dipendenze nell'ambiente Contoso. Azure Migrate individua automaticamente i componenti delle applicazioni nei sistemi Windows e Linux ed esegue il mapping delle comunicazioni tra i servizi. Azure Migrate evidenzia anche le connessioni tra server Contoso, processi, latenza delle connessioni in ingresso e in uscita e porte nell'architettura connessa tramite TCP. Contoso è tenuta a installare solo l'agente di Log Analytics e Microsoft Dependency Agent.

Contoso identifica più di 300 istanze di database di cui è necessario eseguire la migrazione. Di queste istanze, circa il 40% può essere spostato nei servizi basati su PaaS. Il restante 60% deve essere spostato con un approccio basato su IaaS con una macchina virtuale che esegue il software di database corrispondente.

Passaggio 2: Valutazione delle applicazioni

I risultati della valutazione dimostrano che Contoso usa principalmente applicazioni Java, PHP e Node.js. L'azienda identifica le applicazioni seguenti:

  • 100 applicazioni Java
  • Circa 50 applicazioni Node.js
  • Circa 25 applicazioni PHP

Passaggio 3: Valutazione dei database

Durante la creazione dell'inventario, vengono esaminati tutti i tipi di database per determinare il metodo con cui eseguirne la migrazione ad Azure. Per le migrazioni di database vengono seguite le linee guida seguenti.

Tipo di database Dettagli Destinazione Guida alla migrazione
MySQL Tutte le versioni supportate vengono aggiornate a una versione supportata prima della migrazione Database di Azure per MySQL (PaaS) Guida
PostgreSQL Tutte le versioni supportate vengono aggiornate a una versione supportata prima della migrazione Database di Azure per PostgreSQL (PaaS) Guida
MariaDB Tutte le versioni supportate vengono aggiornate a una versione supportata prima della migrazione Database di Azure per MariaDB (PaaS) Guida

Passaggio 4: Pianificazione della migrazione

A causa dell'elevato numero di database, Contoso configura un Project Management Office per tenere traccia di ogni istanza di migrazione. A ogni team aziendale e delle applicazioni vengono assegnati ruoli e responsabilità.

Contoso esegue anche una verifica dell'idoneità dei carichi di lavoro. A questo scopo vengono esaminati i componenti di infrastruttura, database e rete.

Passaggio 5: Migrazioni di test

La prima parte della preparazione della migrazione prevede una migrazione di test di ogni database agli ambienti di pre-installazione. Per risparmiare tempo, vengono creati script di tutte le operazioni per le migrazioni e vengono registrate le tempistiche per ognuno. Per velocizzare la migrazione, l'azienda identifica le operazioni di migrazione che possono essere eseguite contemporaneamente.

Per ogni carico di lavoro di database vengono identificate le procedure di rollback in caso di errori imprevisti.

Per i carichi di lavoro basati su IaaS, viene configurato in anticipo tutto il software di terze parti necessario.

Dopo la migrazione di test, Contoso usa i vari strumenti di stima dei costi di Azure per ottenere un quadro più accurato dei costi operativi futuri della migrazione.

Passaggio 6: Migrazione

Per la migrazione di produzione, Contoso identifica gli intervalli di tempo per tutte le migrazioni di database che è possibile eseguire in modo adeguato in una finestra temporale di fine settimana (dalla mezzanotte di venerdì alla mezzanotte di domenica) con tempi di inattività minimi per il business.

Eseguire la pulizia dopo la migrazione

Contoso identifica la finestra temporale di archiviazione per tutti i carichi di lavoro di database. Alla scadenza della finestra, le risorse verranno ritirate dall'infrastruttura locale. Questo processo include la rimozione dei dati di produzione dai server locali e il ritiro del server di hosting alla scadenza dell'ultima finestra temporale dei carichi di lavoro.

Esaminare la distribuzione

Al termine della migrazione delle risorse in Azure, Contoso deve rendere pienamente operativa la nuova infrastruttura e proteggerla.

Sicurezza

Contoso deve:

  • Assicurarsi che i nuovi carichi di lavoro di database di Azure siano sicuri. Per altre informazioni, vedere Funzionalità di sicurezza di Database SQL di Azure e di Istanza gestita di SQL di Azure.
  • Esaminare le configurazioni del firewall e della rete virtuale.
  • Configurare il collegamento privato di Azure in modo che tutto il traffico di database venga mantenuto all'interno di Azure e della rete locale.
  • Abilitare Microsoft Defender per identità.

Backup

Assicurarsi che venga eseguito il backup dei database di Azure con ripristino geografico. In questo modo, i backup possono essere usati in un'area abbinata se si verifica un'interruzione a livello di area.

Importante

Assicurarsi che la risorsa di Azure abbia un blocco per impedirne l'eliminazione. I server eliminati non possono essere ripristinati.

Licenze e ottimizzazione dei costi

  • Molti carichi di lavoro di database di Azure possono essere ridimensionati. È importante monitorare le prestazioni di server e database per assicurarsi di soddisfare esigenze specifiche e mantenere al minimo i costi.
  • Sia la CPU che l'archiviazione prevedono costi. È possibile scegliere tra diversi piani tariffari. Assicurarsi di selezionare il piano tariffario appropriato per i carichi di lavoro dei dati.
  • Ogni replica in lettura viene fatturata in base alle risorse di calcolo e archiviazione selezionate.
  • Usare la capacità riservata per ridurre i costi.

Conclusioni

In questo articolo Contoso ha valutato, pianificato ed eseguito la migrazione dei database open source alle soluzioni PaaS e IaaS di Azure.