Esaminare gli assistenti migrazione

Completato

L'analisi di una considerazione della migrazione implica la revisione di tutte le varie opzioni disponibili. In una delle unità precedenti sono stati menzionati i servizi di hosting, ad esempio IaaS e PaaS. La migrazione IaaS può fornire un'opzione lift-and-shift in cui creare una macchina virtuale, configurarla con lo stesso software e le stesse impostazioni dell'ambiente locale e quindi ospitarla in Azure. IaaS richiede comunque all'organizzazione di gestire, applicare patch, aggiornare e proteggere il software nella macchina virtuale.

Quando si ha un'applicazione ASP.NET di cui si vuole eseguire la migrazione, è consigliabile usare l'opzione PaaS per ottenere il massimo vantaggio dall'automazione e dalla scalabilità in Azure. Per la soluzione PaaS con le applicazioni ASP.NET, si preferisce usare il Servizio app di Azure.

Che cos'è Servizio app di Azure?

Il Servizio app di Azure è un servizio basato su HTTP in Azure che è possibile usare per ospitare applicazioni Web e API REST. Questo servizio offre i vantaggi seguenti:

  • Scalabilità automatica per aumentare le prestazioni dell'app in base alla domanda e ai parametri specificati e quindi ridurle automaticamente quando la domanda diminuisce.

  • Disponibilità elevata per garantire che l'applicazione rimanga disponibile in caso di errori o tempi di inattività del server o del data center. Azure usa zone, aree e set di disponibilità per contribuire a questo scopo.

  • Supporto per le piattaforme Windows e Linux.

  • Integrazione con i modelli di distribuzione automatizzati con Azure DevOps o repository GitHub.

In che modo il Servizio app di Azure ospita le app ASP.NET?

È possibile usare il Servizio app di Azure per ospitare l'applicazione ASP.NET in un piano di servizio app. Il piano di servizio app definisce un set di risorse di calcolo per l'applicazione ASP.NET. Le risorse di calcolo sono simili a quelle di un cluster di server locale. Le risorse di calcolo sono costituite da macchine virtuali che contengono il software necessario per ospitare l'applicazione. Potrebbe trattarsi di una macchina virtuale che esegue un prodotto Windows Server con IIS che ospita l'app.

Diagram of web app architecture hosted on Azure with app plan, DNS, resource group, and databases.

L'app userà anche altre risorse, ad esempio:

  • Risorse di rete per fornire l'accesso all'applicazione Web tramite la porta standard 80 o HTTPS 443. Le reti offrono inoltre opzioni per le configurazioni DNS e indirizzi IP pubblici.
  • Opzioni di monitoraggio e registrazione per il servizio.
  • Controllo degli accessi tramite Microsoft Entra ID e controllo degli accessi in base al ruolo.
  • Altre opzioni disponibili, a seconda della configurazione richiesta per l'applicazione specifica, ad esempio l'accesso al database e le opzioni di scalabilità e disponibilità.
  • Un’opzione di archiviazione per i vari file necessari a ospitare l'applicazione.

Informazioni sul database SQL di Azure

Database SQL di Azure è un servizio di database relazionale intelligente, scalabile e basato sul cloud. Si tratta di un servizio di database SQL completamente gestito che gestisce l'applicazione di patch, l'aggiornamento e i backup senza l'intervento dell'utente. È possibile scegliere tra due modelli di distribuzione per il database SQL di Azure: un database singolo o un pool elastico.

Modello di database singolo

Un modello di distribuzione di database singolo è simile a un singolo database indipendente in un motore di database di SQL Server locale. Nel modello di distribuzione singolo del database SQL di Azure è possibile ottenere l'opzione gestita completa citata in precedenza in questa unità. Si tratta di un database isolato per le esigenze dei dati delle applicazioni.

Modello di pool elastico

Il pool elastico è una raccolta di database singoli che condividono un set di risorse, ad esempio la memoria e la CPU. Se necessario, è possibile spostare database singoli fuori dal pool elastico e spostare altri database singoli nel pool.

Sono disponibili diversi livelli di servizio e dimensioni di calcolo che consentono di personalizzare la distribuzione del database SQL di Azure in base alle esigenze specifiche dell'applicazione. Ad esempio, è possibile iniziare con un database singolo di piccole dimensioni per soddisfare le esigenze esistenti e ridurre i costi. Con l'aumentare delle dimensioni dell'applicazione, è possibile aggiornare il livello di servizio in modo da fornire opzioni di scalabilità dinamiche che consentono di soddisfare le richieste di accesso ai dati e alle applicazioni. La scalabilità dinamica consente di aggiungere risorse per gestire la domanda quando necessario, quindi ridurle quando la domanda cala, al fine di ridurre i costi.

Confrontare il database SQL di Azure con SQL Server

Il confronto tra un motore di database SQL Server locale e il database SQL di Azure consente di evidenziare i vantaggi derivanti dall'uso di Azure.

Con un motore di database SQL Server locale è possibile:

  • Richiedere al reparto IT di acquisire l'hardware del server.

  • Installazione del sistema operativo.

  • Installare il motore di database.

  • Gestire le patch.

  • Configurare la sicurezza del firewall.

  • Gestire l'accesso al database.

  • Gestire il backup del database.

  • Gestire il ripristino di emergenza.

  • Eseguire nuovamente tutte le attività precedenti per un nuovo hardware quando le risorse di calcolo non sono sufficienti per soddisfare la domanda.

Quando si usa il database SQL di Azure, è possibile:

  • Creare un'istanza di database in Azure usando il modello di distribuzione scelto.

  • Eseguire la migrazione dei dati alla nuova istanza.

  • Configurare l'accesso delle applicazioni.

  • Se necessario, configurare le opzioni di scalabilità.

  • Sfruttare i vantaggi di un ambiente gestito.

Scenari di dati ibridi

Vantaggio Azure Hybrid è un modello che consente di ridurre i costi di licenza per l'esecuzione dei carichi di lavoro SQL nel cloud. È possibile sfruttare questo vantaggio usando le licenze abilitate per Software Assurance locali esistenti per Windows Server e SQL Server sulla piattaforma Azure.

Questo grafico illustra un esempio di risparmio per SQL Server Enterprise.

Graph of SQL hybrid savings, depicting enterprise at $3.97 per hour and hybrid at $0.598 per hour. This represents an 85% savings.

Che cosa sono gli strumenti di assistenza per la migrazione?

Microsoft fornisce un set di strumenti di assistenza per la migrazione che consentono di valutare l'ambiente esistente, evidenziare i problemi che possono verificarsi durante la migrazione e contribuire al processo effettivo di introduzione dell'applicazione e dei dati nel cloud.

Che cos'è Azure Migrate?

Azure Migrate è un servizio gratuito, fornito da Microsoft, che individua, valuta ed esegue la migrazione dei sistemi locali ad Azure. Il servizio offre assistenza con i calcoli delle dimensioni basati sulle prestazioni (dimensioni delle macchine virtuali e risorse di calcolo/archiviazione) per i computer di cui verrà eseguita la migrazione e le stime del costo continuativo per l'esecuzione di questi computer in Azure. Azure Migrate può valutare le macchine virtuali basate su Hyper-V e VMware, oltre ai server fisici. Azure Migrate supporta anche la visualizzazione delle dipendenze per tali computer. Aiuta a creare gruppi di computer che è possibile valutare insieme e di cui è possibile eseguire la migrazione ad Azure nello stesso momento. Comprendendo le dipendenze, è possibile assicurarsi di non dimenticare niente.

Che cos’è Migration Assistant di Azure?

Azure Migration Assistant è uno strumento consente di eseguire la migrazione dell'applicazione ASP.NET nel cloud. Funziona insieme ad App Service Migration Assistant, progettato per semplificare la migrazione nel cloud usando una soluzione gratuita, semplice e veloce per eseguire la migrazione di applicazioni ASP.NET da locale al cloud. Con questi strumenti è possibile:

  • Valutare se l'app è un buon candidato per la migrazione eseguendo un'analisi dell'URL pubblico.

  • Scaricare Migration Assistant per iniziare la migrazione.

  • Usare lo strumento per eseguire i controlli di idoneità e una valutazione generale delle impostazioni di configurazione dell'app, quindi eseguire la migrazione dell'app o del sito a Servizio app di Azure

Che cos'è Data Migration Assistant?

Data Migration Assistant consente di eseguire l'aggiornamento a una piattaforma dati moderna individuando i problemi di compatibilità che possono influire sulle funzionalità del database nella nuova versione di SQL Server o nel database SQL di Azure. L'assistente consiglia miglioramenti delle prestazioni e dell'affidabilità per l'ambiente di destinazione e consente di spostare lo schema, i dati e gli oggetti non indipendenti dal server di origine al server di destinazione.

Le funzionalità principali sono:

  • Valutazione delle istanze di SQL Server locali per rilevare i problemi relativi a una migrazione risultante da problemi di compatibilità o dalla mancanza di supporto per le funzionalità

  • Individuazione delle nuove funzionalità del database SQL di Azure da sfruttare

  • Migrazione nel cloud delle istanze di SQL Server locali

  • Valutazione dei pacchetti di SQL Server Integration Services locali che vengono migrati nel database SQL di Azure

Valutare l'ambiente esistente

Un passaggio critico del processo di migrazione è la valutazione dell'ambiente esistente. Ciò consente di garantire una transizione senza problemi per lo scenario di migrazione e di identificare i potenziali problemi prima, durante e dopo la migrazione.

Inventario dell'ambiente esistente

L'esecuzione di un inventario dell'ambiente esistente consente di identificare i server, le applicazioni e i servizi che rientrano nell'ambito della migrazione. Utilizzare i team IT e aziendali che lavorano con tali servizi per fornire indicazioni, commenti e suggerimenti e supporto per la migrazione.

Sarà anche opportuno preparare un inventario completo e una mappa delle dipendenze per i server e i servizi che rientrano nell'ambito della migrazione. L'inventario e la mappa determinano il modo in cui tali servizi comunicano tra loro. Consentono di definire l'ambiente online necessario per garantire una corretta migrazione.

Identificare le modifiche alle app necessarie

È probabile che l'applicazione richieda modifiche per funzionare correttamente dopo la migrazione. Ad esempio, l'applicazione ASP.NET accede a un database. È probabile che la stringa di connessione al database necessiti di una modifica. Un vantaggio dell'uso di Azure è la possibilità di archiviare la stringa di connessione al database come un segreto in Azure Key Vault. Questa operazione protegge i parametri di autenticazione nella stringa di connessione “nascondendo” la stringa di connessione dietro un segreto nell'insieme di credenziali delle chiavi. Sarà quindi possibile configurare l'app per l'uso di tale segreto, invece della stringa di connessione diretta.

Stimare i costi

Una considerazione fondamentale per qualsiasi scenario di migrazione è il costo affrontato dall'organizzazione per ospitare l'applicazione in Azure. Si passerà da un modello di costo diverso da un ambiente locale tipico. Nell'ambiente Azure la fatturazione avviene mensilmente per diversi costi di consumo correlati ai costi di calcolo, archiviazione e accesso.

Nell'unità precedente è stato illustrato il calcolatore dei prezzi di Azure, che può essere usato per valutare la spesa stimata.

Valutare le considerazioni sulla sicurezza

La sicurezza è, e deve essere, una priorità assoluta in tutti gli scenari di migrazione. Ci si potrebbe preoccupare di ospitare i dati in un mondo online o chiedersi se i dipendenti potranno comunque usare le credenziali correnti per accedere alle applicazioni. Si è inoltre preoccupati della sicurezza dei dati dal punto di vista della conformità con gli standard del settore. Comprendere le opzioni disponibili in Azure può aiutare a risolvere questi problemi.

Valutare i requisiti di sicurezza per l'app

In uno scenario di applicazione ASP.NET, in cui l'app deve accedere a un archivio dati, è necessario considerare come proteggere il database pur continuando a consentire l'accesso al front-end Web. Le reti virtuali di Azure sono utili a questo riguardo, perché consentono di:

  • Creare un'infrastruttura ibrida facile da controllare.

  • Usare indirizzi IP e server DNS personali.

  • Proteggere le connessioni con una rete privata virtuale (VPN) IPSec o Azure ExpressRoute

  • Ottenere il controllo granulare del traffico tra subnet.

  • Creare topologie di rete sofisticate con appliance virtuali.

  • Ottenere un ambiente isolato con sicurezza elevata per le applicazioni.

È anche possibile accedere alle applicazioni in esecuzione in locale usando Active Directory per l'autenticazione e la gestione delle identità. Microsoft Entra Connect consente di integrare le directory locali con Microsoft Entra ID. Ciò significa che i dipendenti non devono avere più set di credenziali per l'autenticazione.

Analogamente all'esecuzione di un inventario dell'ambiente locale per le app e l'hardware, è anche necessario eseguire il mapping dei requisiti di sicurezza e implementazione esistenti per poter eseguire una valutazione della sicurezza appropriata per lo scenario di migrazione. Si vuole garantire che un ambiente ospitato sul cloud soddisfi comunque le esigenze di sicurezza dell'organizzazione.

Esplorare Azure Pipelines per uno scenario di migrazione

Molte organizzazioni stanno adottando procedure DevOps per uno sviluppo più agile e distribuzioni più veloci. Una delle aree principali che rendono possibile questa operazione in un ambiente cloud è l'integrazione nativa tra gli strumenti usati dagli sviluppatori. Microsoft Visual Studio, GitHub e l'integrazione del servizio app consentono agli sviluppatori di compilare e distribuire le modifiche più velocemente. Per le applicazioni ASP.NET, il debug remoto e del sito live offre agli sviluppatori maggiori vantaggi per la diagnosi dei problemi nell'ambiente di produzione.