Eseguire la migrazione di un ambiente di sviluppo/test ad Azure DevTest Labs
Questo articolo illustra come l'azienda fittizia, Contoso, esegue la migrazione dell'ambiente di sviluppo/test in Azure DevTest Labs.
Opzioni di migrazione
Contoso offre diverse opzioni per spostare l'ambiente di sviluppo/test in Azure.
Opzioni di migrazione | Risultato |
---|---|
Azure Migrate | Valutare e eseguire la migrazione di macchine virtuali locali. Eseguire server di sviluppo/test usando l'infrastruttura come servizio (IaaS) di Azure. Gestire le macchine virtuali con Azure Resource Manager. |
DevTest Labs | Preparare rapidamente gli ambienti di sviluppo e test. Ridurre al minimo gli sprechi con quote e criteri. Impostare arresti automatizzati per ridurre al minimo i costi. Creare ambienti Windows e Linux. |
Nota
Questo articolo descrive come usare DevTest Labs per spostare un ambiente di sviluppo/test locale in Azure. Leggere come Contoso ha spostato sviluppo/test in Azure IaaS usando Azure Migrate.
Driver di business
Con questa migrazione, il team di leadership di sviluppo vuole:
- Consentire agli sviluppatori di accedere a strumenti DevOps e ambienti self-service.
- Concedere l'accesso agli strumenti DevOps per le pipeline di integrazione continua/distribuzione continua (CI/CD) e agli strumenti nativi del cloud per sviluppo/test, ad esempio intelligenza artificiale, apprendimento automatico e serverless.
- Garantire governance e conformità negli ambienti di sviluppo/test.
- Risparmiare i costi spostando tutti gli ambienti di sviluppo/test dal data center e non acquistando più hardware per sviluppare software.
Nota
Contoso usa l'offerta di sottoscrizione con pagamento in base al consumo/test per i relativi ambienti. Ogni sottoscrittore attivo di Visual Studio nel team può usare il software Microsoft incluso nella sottoscrizione nelle macchine virtuali di Azure per attività di sviluppo/test senza costi aggiuntivi. Contoso paga solo la frequenza Linux per le macchine virtuali eseguite. Ciò include macchine virtuali con SQL Server, SharePoint Server o altri software che in genere vengono fatturati a una velocità superiore.
Nota
I clienti di Azure con Contratto Enterprise possono anche beneficiare dell'offerta di sottoscrizione di Sviluppo/test di Azure. Per altre informazioni, vedere il video su come abilitare e creare sottoscrizioni di Sviluppo/test Enterprise tramite EA Portal.
Obiettivi della migrazione
Il team di sviluppo contoso ha aggiunto obiettivi per questa migrazione. Questi obiettivi consentono di determinare il metodo di migrazione ideale:
- Preparare rapidamente gli ambienti di sviluppo e test. La creazione dell'infrastruttura necessaria allo sviluppatore per scrivere o testare il software dovrebbe richiedere pochi minuti, non diversi mesi.
- Dopo la migrazione, l'ambiente di sviluppo/test di Contoso in Azure deve avere funzionalità avanzate nel sistema locale corrente.
- Il modello di operazioni passa dalle macchine virtuali con provisioning IT a DevOps con provisioning self-service.
- Contoso vuole abbandonare subito gli ambienti di sviluppo/test locali.
- Gli sviluppatori possono connettersi in modo sicuro agli ambienti di sviluppo/test in remoto.
Progettazione della soluzione
Dopo aver aggiunto obiettivi e requisiti, Contoso progetta e esamina una soluzione di distribuzione. La soluzione include i servizi di Azure usati per sviluppo/test.
Architettura corrente
- Le macchine virtuali di sviluppo/test per le applicazioni di Contoso sono in esecuzione in VMware nel data center locale.
- Queste macchine virtuali vengono usate per lo sviluppo e i test prima che il codice venga promosso alle macchine virtuali di produzione.
- Gli sviluppatori mantengono le proprie workstation, ma hanno bisogno di nuove soluzioni per connettersi in remoto dagli uffici domestici.
Architettura proposta
- Contoso usa una sottoscrizione di Azure Dev/Test per ridurre i costi per le risorse di Azure. Questa sottoscrizione offre risparmi significativi, tra cui VM che non comportano costi di licenza per il software Microsoft.
- Contoso usa DevTest Labs per gestire gli ambienti. Le nuove macchine virtuali vengono create in DevTest Labs per supportare il passaggio a nuovi strumenti per lo sviluppo e il test nel cloud.
- Le macchine virtuali di sviluppo/test locali nel data center Contoso vengono rimosse dopo l'esecuzione della migrazione.
- Gli sviluppatori e i tester hanno accesso a Desktop virtuale Di Azure per le workstation.
Figura 1: Architettura dello scenario.
Considerazioni sul database
Per supportare lo sviluppo in corso, Contoso decide di continuare a usare i database eseguiti nelle macchine virtuali. Le macchine virtuali correnti vengono sostituite con quelle nuove in esecuzione in DevTest Labs. In futuro Contoso perseguirà l'uso di servizi PaaS (Platform as a Service), ad esempio Azure SQL Database e Database di Azure per MySQL.
Le macchine virtuali del database VMware correnti vengono rimosse e sostituite con macchine virtuali di Azure in DevTest Labs. I database esistenti vengono migrati con backup e ripristini semplici. L'offerta di sottoscrizione di Azure Dev/Test non comporta costi di licenza per le istanze di Windows Server e SQL Server, riducendo al minimo i costi di calcolo.
Revisione della soluzione
Contoso valuta l'architettura proposta elaborando un elenco di vantaggi e svantaggi.
Considerazioni | Dettagli |
---|---|
Vantaggi | Tutte le macchine virtuali di sviluppo, l'applicazione e il database correnti vengono sostituite con nuove macchine virtuali eseguite in DevTest Labs. Contoso può sfruttare le funzionalità di un ambiente di sviluppo cloud basato su scopo. Contoso può sfruttare i vantaggi dell'investimento nella sottoscrizione di Sviluppo/test di Azure per risparmiare sui costi delle licenze. Contoso mantiene il controllo completo delle macchine virtuali dell'applicazione in Azure. Gli sviluppatori vengono forniti con diritti alla sottoscrizione, consentendo loro di creare nuove risorse senza attendere che l'IT risponda alle proprie richieste. |
Svantaggi | La migrazione sposta solo lo sviluppo nel cloud. Gli sviluppatori non usano i servizi PaaS nello sviluppo perché usano ancora macchine virtuali. Contoso deve iniziare a supportare le operazioni delle macchine virtuali, incluse le patch di sicurezza. Le macchine virtuali gestite dall'IT in passato e Contoso devono trovare una soluzione per questa nuova attività operativa. Contoso deve creare nuove macchine virtuali di applicazione e database per automatizzare il processo. Contoso può sfruttare la creazione di macchine virtuali nel cloud e negli strumenti forniti da DevTest Labs. Anche se questo processo è un con, ha un risultato positivo. |
Processo di migrazione
Contoso esegue la migrazione dell'applicazione di sviluppo e delle macchine virtuali di database alle nuove macchine virtuali di Azure usando DevTest Labs.
- Contoso ha già implementato l'infrastruttura di Azure, inclusa la rete virtuale di sviluppo.
- Con tutto ciò che è stato preparato, Contoso esegue il provisioning e configura DevTest Labs.
- Contoso configura la rete virtuale di sviluppo, assegna un gruppo di risorse e imposta i criteri.
- Contoso crea istanze di Desktop virtuale di Azure per gli sviluppatori da usare in posizioni remote.
- Contoso crea macchine virtuali all'interno di DevTest Labs per lo sviluppo e la migrazione dei database.
Figura 2: Processo di migrazione.
Prerequisiti
Per consentire a Contoso di eseguire questo scenario, sono necessari questi prerequisiti.
Requisiti | Dettagli |
---|---|
Sottoscrizione di Sviluppo/test di Azure | Contoso crea una sottoscrizione di Sviluppo/test di Azure per ridurre i costi fino all'80%. Se non si ha una sottoscrizione di Azure, creare un account gratuito. Se si crea un account gratuito, si ha il ruolo di amministratore della sottoscrizione e si possono eseguire tutte le azioni. Se si usa una sottoscrizione esistente e non si è l'amministratore, collaborare con l'amministratore per assegnare le autorizzazioni di proprietario o collaboratore. Se sono necessarie autorizzazioni più specifiche, vedere Gestire l'accesso a Site Recovery con il controllo degli accessi in base al ruolo di Azure. |
Infrastruttura di Azure | Vedere in che modo Contoso configura un'infrastruttura di Azure. |
Passaggi dello scenario
Gli amministratori di Contoso eseguono la migrazione seguendo questo processo:
- Passaggio 1: Effettuare il provisioning di una nuova sottoscrizione di Sviluppo/test di Azure e creare un'istanza di DevTest Labs.
- Passaggio 2: Configurare la rete virtuale di sviluppo, assegnare un gruppo di risorse e impostare i criteri.
- Passaggio 3: Creare desktop virtuali multisessione di Windows 10 Enterprise che gli sviluppatori possono usare da posizioni remote.
- Passaggio 4: Creare formule e VM all'interno di DevTest Labs per lo sviluppo e la migrazione dei database.
Passaggio 1: Effettuare il provisioning di una nuova sottoscrizione di Sviluppo/test di Azure e creare un'istanza di DevTest Labs
Gli amministratori di Contoso devono prima di tutto effettuare il provisioning di una nuova sottoscrizione usando l'offerta Sviluppo/test di Azure e quindi creare un'istanza di DevTest Labs.
Gli amministratori seguono il collegamento all'offerta di sottoscrizione di Sviluppo/test di Azure ed effettuano il provisioning di una nuova sottoscrizione, risparmiando fino all'80% sui sistemi. Questa offerta consente di eseguire immagini di Windows 10 in Azure per le attività di sviluppo/test. Gli amministratori ottengono l'accesso a Desktop virtuale Azure per semplificare l'esperienza di gestione degli sviluppatori remoti.
Figura 3: Offerta di sottoscrizione di Sviluppo/test di Azure.Una volta effettuato il provisioning della nuova sottoscrizione, gli amministratori di Contoso usano il portale di Azure per creare una nuova istanza di DevTest Labs. Il gruppo lab viene creato nel gruppo di risorse
ContosoDevRG
.
Figura 4: Creazione di una nuova istanza di DevTest Labs.
Passaggio 2: Configurare la rete virtuale di sviluppo, assegnare un gruppo di risorse e impostare i criteri
Dopo la creazione dell'istanza di DevTest Labs, Contoso esegue le configurazioni seguenti:
Configurare la rete virtuale
Nel portale Contoso apre l'istanza di DevTest Labs e seleziona Configurazione e criteri.
Figura 5: Istanza di DevTest Labs: Configurazione e criteri.Contoso seleziona Reti virtuali>+ Aggiungi, sceglie
vnet-dev-eus2
e quindi Salva. La rete virtuale di sviluppo può essere usata per le distribuzioni di macchine virtuali. Durante la distribuzione dell'istanza di DevTest Labs viene creata anche una rete virtuale.
Figura 6: Reti virtuali.
Assegnare un gruppo di risorse
Per assicurarsi che le risorse vengano distribuite nel ContosoDevRG
gruppo di risorse, Contoso configura questa allocazione nelle impostazioni del lab. Assegna anche agli sviluppatori il ruolo Collaboratore.
Figura 7: Assegnazione di un gruppo di risorse.
Nota
Il ruolo collaboratore è un ruolo a livello di amministratore con tutti i diritti, ad eccezione della possibilità di fornire l'accesso ad altri utenti. Per altre informazioni, vedere Controllo degli accessi in base al ruolo di Azure.
Impostare i criteri del lab
Contoso deve assicurarsi che gli sviluppatori usino DevTest Labs in conformità ai criteri del team. Contoso configura DevTest Labs con questi criteri.
Contoso abilita l'arresto automatico alle ore 19:00 locali nel fuso orario corretto.
Figura 8: Arresto automatico.Contoso abilita l'avvio automatico in modo che gli sviluppatori abbiano le VM in esecuzione quando iniziano a lavorare online. La configurazione prevede il fuso orario locale e i giorni della settimana lavorativa degli sviluppatori.
Figura 9: Avvio automatico.Contoso configura le dimensioni delle macchine virtuali consentite, assicurandosi che le macchine virtuali costose e di grandi dimensioni non possano essere avviate.
Figura 10: Dimensioni consentite delle VM.Contoso configura il messaggio di supporto.
Passaggio 3: Creare desktop virtuali multisessione di Windows 10 Enterprise che gli sviluppatori possono usare da posizioni remote
Contoso deve creare una base di Desktop virtuale Azure per sviluppatori remoti.
Contoso seleziona Tutte le macchine virtuali>+ Aggiungi e sceglie una base multisessione di Windows 10 Enterprise per una macchina virtuale.
Figura 12: Base multisessione di Windows 10 Enterprise.Contoso configura le dimensioni della macchina virtuale insieme agli artefatti da installare. In questo caso, gli sviluppatori hanno accesso a strumenti di sviluppo comuni, ad esempio Visual Studio Code, Git e Chocolatey.
Figura 13: Artefatti.Contoso esamina la configurazione della macchina virtuale per verificarne l'accuratezza.
Una volta creata la VM, gli sviluppatori remoti di Contoso possono connettersi e usare questa workstation di sviluppo per il loro lavoro. Gli artefatti selezionati vengono installati, consentendo agli sviluppatori di risparmiare tempo durante la configurazione della workstation.
Passaggio 4: Creare formule e VM all'interno di DevTest Labs per lo sviluppo e la migrazione dei database
Con DevTest Labs configurato e la workstation degli sviluppatori remoti in esecuzione, Contoso si dedica alla creazione delle VM per lo sviluppo.
Contoso crea formule (basi riutilizzabili) per le macchine virtuali di applicazioni e database e le usa per effettuare il provisioning di tali VM.
Contoso seleziona Formule>+ Aggiungi e quindi seleziona una base Windows Server 2012 R2 Datacenter.
Figura 16: Base Windows 2012 R2.Contoso configura le dimensioni della macchina virtuale, insieme agli artefatti da installare. In questo caso, gli sviluppatori hanno accesso a strumenti di sviluppo comuni, ad esempio Visual Studio Code, Git e Chocolatey.
Figura 17: Configurazione della base Windows 2012 R2.Per creare la formula della macchina virtuale di database, Contoso segue gli stessi passaggi di base. Questa volta, seleziona un'immagine di SQL Server 2012 per la base.
Figura 18: Immagine di SQL Server 2012.Contoso configura la formula con le dimensioni e gli artefatti. Gli artefatti includono SQL Server Management Studio, che è necessario per la formula di questa VM di sviluppo di database.
Figura 19: Configurazione della base SQL 2020 R2.Vedere altre informazioni sull'uso delle formule con Azure DevTest Labs.
Contoso ha ora creato le formule della base Windows che gli sviluppatori possono usare per applicazioni e database.
I passaggi successivi consistono nell'effettuare il provisioning delle macchine virtuali di applicazioni e database tramite le formule:
Con le formule create, Contoso seleziona Tutte le macchine virtuali e quindi la
Windows2012AppDevVmBase
formula per corrispondere alla configurazione delle macchine virtuali di sviluppo di applicazioni correnti.
Figura 21: VM di sviluppo di applicazioni.Contoso configura la macchina virtuale di applicazioni con le dimensioni e gli artefatti necessari.
Figura 22: Configurazione di dimensioni e artefatti per una VM.Contoso effettua il provisioning della macchina virtuale di database usando la formula
SQLDbDevVmBase
in modo che corrisponda alla configurazione delle VM di sviluppo del database correnti.
Figura 23: VM di database.Contoso configura la macchina virtuale con le dimensioni e gli artefatti necessari.
Figura 24: Configurazione dei database per una VM.Con le prime macchine virtuali create insieme alla workstation degli sviluppatori remoti, gli sviluppatori di Contoso sono pronti per iniziare a scrivere codice in Azure.
Figura 25: Macchine virtuali di Contoso.Contoso può ora ripristinare i database di sviluppo dai backup o usando un processo di generazione del codice per compilare lo schema nelle macchine virtuali. Con SQL Server Management Studio già installato tramite gli artefatti, queste attività sono semplici e non richiedono l'installazione di strumenti.
Eseguire la pulizia dopo la migrazione
Contoso continua a usare questi passaggi per eseguire la migrazione delle macchine virtuali ad Azure usando DevTest Labs. Al termine di ogni migrazione, tutte le macchine virtuali di sviluppo vengono ora eseguite in DevTest Labs.
Ora Contoso deve eseguire le operazioni di pulizia seguenti:
- Rimuovere le macchine virtuali dall'inventario vCenter.
- Rimuovere tutte le VM dai processi di backup locali.
- Aggiornare la documentazione interna per mostrare la nuova posizione e i nuovi indirizzi IP per le VM.
- Esaminare le risorse che interagiscono con le VM e aggiornare eventuali impostazioni o documenti pertinenti in modo che riflettano la nuova configurazione.
Sicurezza
Il team di sicurezza di Contoso esamina le VM di Azure per determinare eventuali problemi di sicurezza. Per controllare l'accesso, il team esamina i gruppi di sicurezza di rete (NSG) per le macchine virtuali. I gruppi di sicurezza di rete assicurano che solo il traffico consentito all'applicazione possa raggiungerlo. Il team considera inoltre l'opportunità di proteggere i dati su disco usando Crittografia dischi di Azure e Azure Key Vault. Per altre informazioni, vedere Procedure consigliate per la sicurezza dei carichi di lavoro IaaS in Azure.
Licenze e ottimizzazione dei costi
- Contoso garantisce che tutte le risorse di Azure di sviluppo vengano create tramite una sottoscrizione di Sviluppo/test di Azure per sfruttare il risparmio dell'80%.
- I budget vengono esaminati per tutte le istanze e i criteri di DevTest Labs per le macchine virtuali per garantire che i costi siano contenuti e il provisioning eccessivo non si verifichi.
- Contoso consente a Gestione costi e fatturazione di Azure di monitorare e gestire le risorse di Azure.
Conclusioni
In questo articolo Contoso ha spostato i propri ambienti di sviluppo in DevTest Labs. Ha anche implementato Desktop virtuale Azure come piattaforma per sviluppatori remoti e a contratto.
Passaggi successivi
Creare un lab nel portale di Azure
scenari di Azure DevTest Labs