Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un carico di lavoro deve essere pronto per il cloud prima della migrazione ad Azure. L'idoneità al cloud riduce il rischio di cutover e garantisce la compatibilità con i servizi di Azure. È consigliabile convalidare, proteggere e automatizzare i carichi di lavoro in Azure prima del cutover della produzione. Utilizza il piano di architettura di Azure e la valutazione dei carichi di lavoro.
Risolvere i problemi di compatibilità in Azure
I problemi di compatibilità di Azure bloccano la migrazione del carico di lavoro e devono essere risolti prima della distribuzione di produzione. Gli ambienti di Azure richiedono configurazioni specifiche, sistemi operativi supportati e driver correnti per funzionare correttamente. È consigliabile risolvere questi problemi sistematicamente per garantire la corretta esecuzione della migrazione.
Distribuire tutte le risorse del carico di lavoro
Creare sottoscrizioni di Azure per gli ambienti del carico di lavoro. Creare sottoscrizioni separate per ambienti di sviluppo, test e produzione per garantire l'isolamento, il rilevamento dei costi e la governance appropriati. Inserire le sottoscrizioni nel gruppo di gestione appropriato e applicare criteri di governance specifici dell'ambiente, assegnazioni di controllo degli accessi in base al ruolo e budget di gestione dei costi. Per altre informazioni, vedere Creare le sottoscrizioni.
Usa il tuo piano di architettura. Usare il piano di architettura creato durante la pianificazione dell'adozione del cloud per distribuire l'architettura di Azure corretta. Assicurarsi che l'architettura sia allineata ai requisiti aggiornati del carico di lavoro. Per la pianificazione dell'architettura, vedere Pianificazione dell'architettura di Azure.
Distribuire tutti i componenti del carico di lavoro. In una sottoscrizione di test creare archivi dati (macchine virtuali, app Web, contenitori) (database, account di archiviazione), servizi di bilanciamento del carico, identità gestite, reti virtuali e risorse DNS.
Convalidare l'completezza dell'ambiente di test. Verificare che siano presenti tutte le dipendenze, le configurazioni e le integrazioni. I componenti mancanti possono causare falsi positivi o problemi non rilevati durante i test.
Risolvere i problemi di compatibilità
Esaminare i requisiti di compatibilità documentati e i problemi noti. Usare la valutazione del carico di lavoro dalla fase del piano di CAF. Questa valutazione identifica le configurazioni e le dipendenze non supportate che devono essere risolte.
Risolvere ogni problema di compatibilità usando le soluzioni di Azure. Applicare le correzioni seguenti nell'ambiente di test: completata durante la fase del piano di Cloud Adoption Framework per comprendere i requisiti di compatibilità documentati Risolvere i problemi di compatibilità all'interno dell'ambiente di test di Azure anziché modificare l'ambiente di origine. Vedere i problemi di compatibilità comuni seguenti:
Problema di compatibilità | Solution | Perché è importante |
---|---|---|
Versioni OS non supportate | Eseguire l'aggiornamento ai sistemi operativi supportati | Azure richiede versioni del sistema operativo supportate per gli aggiornamenti della sicurezza e la compatibilità della piattaforma |
Driver della scheda di interfaccia di rete legacy e BIOS | Aggiornare driver e firmware BIOS | I driver moderni garantiscono prestazioni e sicurezza di rete nelle macchine virtuali di Azure |
Dipendenze di I/O del file locale | Sostituire con Archiviazione BLOB di Azure o File di Azure | L'archiviazione nativa del cloud offre una migliore scalabilità e integrazione |
Indirizzi IP codificati in modo fisso | Sostituire con meccanismi di individuazione dei servizi, ad esempio configurazioni DNS o app | L'indirizzamento dinamico supporta la rete e la resilienza di Azure |
Software antivirus basato su host | Integrazione con Microsoft Defender for Cloud | La sicurezza nativa del cloud offre una migliore gestione e rilevamento delle minacce |
Account utente codificato fisso | Sostituire con le identità gestite | Le identità gestite eliminano la gestione delle credenziali e migliorano la sicurezza |
Convalidare la funzionalità del carico di lavoro
Dopo aver risolto i problemi di compatibilità, assicurarsi che i carichi di lavoro funzionino correttamente nell'ambiente Azure. I test completi sono essenziali per verificare che tutti i componenti, le configurazioni e le integrazioni soddisfino i requisiti aziendali e tecnici. Questo processo di convalida riduce i rischi e garantisce una transizione uniforme alla distribuzione di produzione.
Convalidare la connettività di rete
Testare la connettività tra tutti i componenti. Usare la risoluzione dei problemi di connessione di Azure Network Watcher per verificare che i livelli applicazione possano comunicare tra loro e con i servizi esterni. Questa convalida conferma che i gruppi di sicurezza di rete, le tabelle di routing e le configurazioni DNS consentono il flusso di traffico necessario. Questo strumento fornisce informazioni dettagliate sui problemi di connettività e identifica problemi di configurazione specifici che impediscono la comunicazione.
Verificare la connettività del servizio esterno. Testare le connessioni a API esterne, database e servizi esterni da cui dipende il carico di lavoro. Usare Network Watcher per verificare che la connettività in uscita funzioni correttamente e che le regole del firewall consentano il traffico richiesto. Documentare eventuali requisiti di connettività per la distribuzione di produzione.
Convalidare i flussi di autenticazione
Testare i flussi di autenticazione utente. Usare gli account utente di test per verificare che i provider di identità come Microsoft Entra ID siano accessibili e che l'autenticazione funzioni correttamente. Testare diversi scenari di autenticazione, tra cui l'accesso Single Sign-On, l'autenticazione a più fattori e i flussi di reimpostazione della password per garantire funzionalità complete.
Convalidare l'autenticazione da servizio a servizio. Testare l'autenticazione tra i componenti dell'applicazione usando entità servizio e identità gestite. Verificare che le autorizzazioni di controllo degli accessi in base al ruolo di Azure siano configurate correttamente e che i servizi possano eseguire l'autenticazione a risorse necessarie, ad esempio database e account di archiviazione.
Eseguire test funzionali e delle prestazioni
Eseguire test funzionali completi. Eseguire test di accettazione utente (UAT), test di integrazione e test di regressione per verificare che l'applicazione soddisfi i requisiti aziendali e tecnici. Testare tutti i flussi di lavoro utente e i processi aziendali critici per assicurarsi che funzionino correttamente nell'ambiente Azure. Documentare eventuali problemi funzionali e risolverli prima della distribuzione di produzione.
Misurare le prestazioni in condizioni di carico realistiche. Usare Test di carico di Azure per simulare il traffico utente realistico e misurare i tempi di risposta, la velocità effettiva e l'utilizzo delle risorse. Configurare i test di carico in modo da riflettere i modelli di utilizzo di produzione previsti e gli scenari di carico di picco. Il test di carico fornisce metriche dettagliate sulle prestazioni e identifica i colli di bottiglia che potrebbero influire sull'esperienza utente.
Convalidare le prestazioni rispetto alla baseline. Fare riferimento alle metriche delle prestazioni baseline documentate durante la valutazione del carico di lavoro nel piano CAF. Confrontare i risultati dei test con le baseline delle prestazioni stabilite dall'ambiente di origine. Identificare eventuali riduzioni delle prestazioni e ottimizzare le configurazioni, ridimensionare le risorse o modificare il codice per soddisfare gli obiettivi di prestazioni.
Includere gli stakeholder nei test di accettazione. Eseguire test di accettazione con gli utenti aziendali per verificare che il carico di lavoro soddisfi le aspettative aziendali e i requisiti dell'esperienza utente. La convalida aziendale garantisce che il carico di lavoro fornisca valore e funzionalità previsti prima della distribuzione di produzione.
Creare un'infrastruttura riutilizzabile
Dopo che la soluzione modernizzata supera tutti i test nell'ambiente non di produzione, è necessario acquisire la configurazione e le configurazioni dell'infrastruttura come codice, in modo che possa essere facilmente replicata in ambienti di produzione e futuri. L'infrastruttura riutilizzabile significa usare modelli IaC (Infrastructure-as-Code) e automazione per coerenza e velocità.
Creare modelli IaC per configurazioni comprovate. Prendere l'architettura finale dell'ambiente di test (che rispecchia ciò che si vuole in prod) e codificarlo. Usare i modelli Bicep, Terraform o Azure Resource Manager per definire l'infrastruttura. Parametrizzare questi modelli in modo che possano essere riutilizzati per fasi diverse, ad esempio sviluppo, test, prod con piccole modifiche come nomi o dimensioni. Questa configurazione garantisce che l'ambiente di produzione creato corrisponda a quello testato. Evita l'errore umano evitando il clic manuale sul portale di Azure per creare risorse. Significa anche che, se è necessario ricreare l'ambiente, ad esempio per il ripristino di emergenza o la distribuzione in nuove aree, la distribuzione dell'infrastruttura è pronta. Per altre informazioni, vedere CAF Manage - Gestione delle distribuzioni basate su codice.
Archiviare i modelli nel controllo della versione. Controllare il codice dell'infrastruttura in un repository Git (insieme al codice dell'applicazione o in un repository separato). Usare GitHub o Azure DevOps per gestire gli asset IaC con il controllo della versione appropriato. Il controllo della versione abilita le revisioni del codice, supporta la collaborazione in team e incoraggia il riutilizzo dei modelli tra i progetti. Questo approccio offre la tracciabilità completa per le modifiche all'infrastruttura e supporta le funzionalità di rollback in caso di problemi.
Automatizzare l'installazione e la configurazione delle dipendenze. Creare script o attività della pipeline per distribuire questi modelli e gestire anche le attività di configurazione o seeding necessarie. Usare Azure Pipelines, GitHub Actionsper eseguire processi di distribuzione che accettano il modello IaC e si distribuiscono in una sottoscrizione o in un gruppo di risorse di destinazione. Automatizzare l'installazione delle dipendenze delle app, la configurazione delle impostazioni e la gestione dei segreti. L'obiettivo è la configurazione dell'ambiente con un solo clic (o un comando): da nulla a un ambiente completamente in esecuzione che corrisponde a quello testato.
Testare l'IaC e l'automazione end-to-end. Usare una sottoscrizione o un gruppo di risorse di Azure separato come sandbox e praticare la distribuzione dell'intero ambiente da zero usando i modelli e gli script. Verificare che i modelli, le pipeline e gli script IaC possano creare lo stack di infrastruttura completo da nulla. Testare diversi scenari di distribuzione, tra cui la distribuzione iniziale, gli aggiornamenti della configurazione e le procedure di rollback per verificare che l'automazione funzioni correttamente.
Per altre informazioni, vedere Progettare una modifica dell'offerta di sviluppo del carico di lavoro e Infrastruttura come codice in WAF.
Creare la documentazione sulla distribuzione
Anche con l'automazione, avere una buona documentazione sulle distribuzioni è fondamentale per il controllo, per l'onboarding di nuovi membri del team e per la manutenzione futura. La documentazione sulla distribuzione deve trattare configurazioni, procedure e passaggi di rollback in formato leggibile.
Documentare le impostazioni di configurazione e i passaggi. Registrare tutte le impostazioni specifiche dell'ambiente, le stringhe di connessione, gli endpoint di servizio e le configurazioni di sicurezza nella documentazione accessibile. Includere istruzioni dettagliate per la distribuzione, requisiti dei prerequisiti e passaggi di convalida post-distribuzione. Questa documentazione consente distribuzioni coerenti e supporta la risoluzione dei problemi in caso di problemi. Se un nuovo ingegnere dovesse effettuare un deployment, potrebbe leggere questo documento e seguirlo oppure comprendere l'output della pipeline.
Aggiornare le procedure di rollback e ripristino. Dopo aver completato i test, formalizzare i passaggi per ripristinare le modifiche quando si verificano problemi di distribuzione. Includere trigger di annullamento, procedure di backup e ripristino dei dati e passaggi di validazione del recupero. Testare regolarmente le procedure di rollback e ripristino per assicurarsi che funzionino correttamente quando necessario. Questa preparazione riduce i tempi di inattività.
Raccogliere tutta questa documentazione in una posizione centrale. Usare SharePoint, GitHub o un wiki per archiviare queste informazioni. Assicurarsi che il team e il personale di supporto sappiano dove trovarla. In un incidente ad alto stress, avere documenti chiari a portata di mano è un salvavita.