Configurare Microsoft Dev Box per l’accesso self-service alle workstation basate su cloud, pronte per gli sviluppatori
Microsoft Dev Box consente di accedere in modalità self-service a workstation basate su cloud con prestazioni elevate, preconfigurate e pronte per sviluppare codice, denominate Dev Box. È possibile configurare le Dev Box con strumenti, codice sorgente e file binari predefiniti specifici di un progetto, in modo che gli sviluppatori possano iniziare immediatamente a lavorare.
Un’organizzazione con team di sviluppo distribuiti a livello globale può configurare Dev Box per consentire agli sviluppatori di creare Dev Box personalizzate nell’area Azure più vicina. Gli sviluppatori possono creare Dev Box in autonomia in base alle esigenze, senza attendere il team di amministrazione IT. Gli utenti possono accedere alle Dev Box da qualsiasi dispositivo e da qualsiasi sistema operativo.
Microsoft Dev Box consente ai team di progettazione della piattaforma di fornire le Dev Box appropriate per il carico di lavoro di ogni utente. Gli amministratori di Azure possono:
- Creare pool di dev box, aggiungere definizioni di dev box appropriate e assegnare l’accesso solo agli utenti di dev box che lavorano su tali progetti specifici.
- Controllare i costi usando le pianificazioni di arresto automatico.
- Definire la configurazione di rete, che determina l’area in cui viene creata la dev box.
- Assegnare il ruolo predefinito Dev Box User per concedere l’accesso ai team di sviluppo e abilitarli alle Dev Box in modalità self-service.
Nella figura sotto è mostrato lo schema di funzionamento e le diverse risorse Azure necessarie a configurare Microsoft Dev Box:
Figura 1: Schema di funzionamento e risorse Azure necessarie a configurare Dev Box
Questo tipo di offerta si aggiunge alle altre soluzioni Microsoft pensate per la VDI:
- Azure Virtual Desktop (AVD) è un servizio completo servizio di virtualizzazione di desktop e app che viene eseguito nel cloud di Azure. Consente agli utenti di accedere ai desktop e alle app di Windows 10 da qualsiasi dispositivo e posizione, con funzionalità di sicurezza e conformità integrate. AVD è ideale per le organizzazioni che devono aumentare o diminuire la propria forza lavoro remota o che desiderano fornire un’esperienza utente coerente e personalizzata su tutti i dispositivi.
- Windows 365 è un servizio che esegue lo streaming di un desktop Windows 10 o 11 completo su qualsiasi dispositivo, inclusi Mac, iPad, Linux e Android. Gli utenti possono accedere al proprio Cloud PC da qualsiasi browser Web o app Microsoft Remote Desktop ed avere le stesse prestazioni, impostazioni e app del PC fisico. Windows 365 è ideale per gli utenti che desiderano un’esperienza Windows sicura e coerente su tutti i dispositivi o che hanno bisogno di accedere ad applicazioni specializzate o legacy non disponibili su altre piattaforme.
- Windows 365 Frontline è una variante di Windows 365 progettata per i lavoratori in prima linea, come il personale di vendita al dettaglio, ospitalità e assistenza sanitaria. Fornisce un’esperienza Windows 10 o Windows 11 semplificata e sicura con accesso solo alle app e ai dati di cui gli utenti hanno bisogno per le loro attività specifiche. Gli utenti possono utilizzare qualsiasi dispositivo per accedere al proprio cloud PC, inclusi dispositivi condivisi o personali, dispositivi mobili o thin client. Windows 365 Frontline supporta anche funzionalità come modalità kiosk, Single Sign-On e criteri di accesso condizionato.
Prerequisiti
Per configurare ed utilizzare Microsoft Dev Box è necessario possedere:
- Un account Azure con una sottoscrizione attiva.
- Ruolo Proprietario o Collaboratore in una sottoscrizione o in un gruppo di risorse di Azure.
-
Licenze utente. Per usare Dev Box, ogni utente deve avere una licenza per Windows 11 Enterprise o Windows 10 Enterprise, Microsoft Intune e Azure Active Directory (Azure AD) P1. Queste licenze sono disponibili in modo indipendente e sono incluse nelle sottoscrizioni seguenti:
- Microsoft 365 F3
- Microsoft 365 E3, Microsoft 365 E5
- Microsoft 365 A3, Microsoft 365 A5
- Microsoft 365 Business Premium
- Azure Hybrid Benefit, che consente di usare le licenze di Windows in Azure con Dev Box.
Creazione di un Dev Center
La configurazione del servizio Dev Box inizia con la creazione di un Dev Center, che rappresenta le unità di organizzazione nell’azienda. I centri di sviluppo sono contenitori logici che consentono di organizzare le risorse di Dev Box. Non esiste alcun limite al numero di dev center che è possibile creare, ma la maggior parte delle organizzazioni ne ha bisogno solo una.
Dal portale di Azure cercate la voce Microsoft Dev Box per iniziare la configurazione.
Figura 2: Microsoft Dev Box nel portale di Azure
Selezionate la voce Dev Centers e iniziate la creazione di un nuovo Dev Center.
Figura 3: creazione di un nuovo dev center
Inserite i valori richiesti nella scheda Basics.
Figura 4: Configurazione della scheda Basics del wizard di creazione di un nuovo dev center
Figura 5: Schermata finale del wizard di creazione di un nuovo dev center
Nel giro di pochi secondi verrà creato il nuovo Dev Center.
Figura 6: Creazione di un nuovo Dev Center completata
Creazione di una Virtual Network da usare con Dev Box
È necessario disporre di una rete virtuale e una subnet a cui collegare le Dev Box. Potete creare una nuova virtual network o utilizzare una esistente. Nel mio caso ho deciso di creare una nuova VNET.
Figura 7: Creazione di una nuova virtual network a cui collegare le dev box
Figura 8: Creazione di una nuova virtual network a cui collegare le dev box
Configurare una connessione di rete
È ora necessaria una connessione di rete per associare la rete virtuale e la subnet al Dev Center. Una connessione di rete specifica il tipo di join delle Dev Box da usare, scegliendo tra Azure AD join oppure Hybrid Azrre AD join.
Vi rimando alla lettura dell’articolo Dispositivi Azure AD Joined, Hybrid Azure AD Joined e Azure AD Registered: facciamo chiarezza – ICT Power per conoscere la differenza tra le diverse modalità di registrazione del dispositivo.
Figura 9: Creazione di una nuova network connection
Io ho scelto di effettuare un Azure AD Join e ho configurato tutti i dettagli della Azure Virtual Network e della relativa subnet a cui collegare le Microsoft Dev Box.
Figura 10: Configurazione della Azure Network connection
Figura 11: Azure Network connection creata
Collegare una connessione di rete a un Dev Center
È necessario associare una connessione di rete a un Dev Center. Selezionate quindi il Dev Center e dal nodo Networking cliccate su Add network connection.
Figura 12: Aggiunta della network connection Dev Center
Figura 13: Aggiunta della network connection Dev Center
Dopo aver collegato una connessione di rete, il portale di Azure esegue diversi controlli di integrità nella rete. È possibile visualizzare lo stato dei controlli nella pagina di panoramica delle risorse. Per risolvere eventuali errori, vedere la pagina Risolvere i problemi relativi alle connessioni di rete di Azure.
Come si può vedere dalle figure sotto, dopo i controlli ho ricevuto un warning e le successive investigazioni mi hanno mostrato che mancavano dei privilegi di accesso per Microsoft Intune. Risolta la problematica è possibile rieffettuare i controlli.
Figura 14: Warning nella configurazione della rete
Figura 15: Identificazione dei problemi relativi alla rete
Una volta risolti tutti i problemi relativi alla rete visualizzerete lo status Passed.
Figura 16: Risoluzione dei problemi di rete completati
Creazione di una Dev Box definition
Le Dev Box definition definiscono l’immagine e la SKU (calcolo e archiviazione) usati nella creazione delle dev box. Per creare e configurare una definizione di dev box selezionate in nodo Dev Box definitions nel Dev
Center e fate clic su Create dev box definition.
Figura 17: Creazione di una nuova Dev Box definition
Selezionate il sistema operativo di base per la Dev Box. È possibile selezionare un’immagine da Azure Marketplace o da Azure Compute Gallery, se volete utilizzare una vostra immagine personalizzata. Se si sta creando una Dev Box definition a scopo di test, è consigliabile usare l’immagine di Visual Studio 2022 Enterprise in Windows 11 Enterprise + Microsoft 365 Apps 22H2.
Selezionate una versione specifica per assicurarvi che tutte le dev box nel pool usino sempre la stessa versione dell’immagine. Se si seleziona Latest, il pool di dev box consente al pool di sviluppatori di usare la versione più recente dell’immagine scelta dalla raccolta. In questo modo, le dev box create rimangono aggiornate con gli strumenti e il codice più recenti. Le dev box esistenti non vengono modificate quando viene aggiornata una versione dell’immagine.
Figura 18: Creazione di una dev box definition
Figura 19: Dev Box definiton creata
Creazione di un progetto
I progetti Dev Box consentono di gestire le impostazioni a livello di team. Queste impostazioni includono l’accesso ai team di sviluppo in modo che gli sviluppatori possano creare Dev
Box. Cercate la voce Projects nel portale di Azure e create un nuovo progetto.
Figura 20: Creazione di un nuovo progetto
Selezionate il Dev Center da associare a questo progetto. Tutte le impostazioni a livello di Dev Center si applicano al progetto. Completate i campi richiesti inserendo il nome ed una breve descrizione del progetto.
Figura 21: Configurazioni del nuovo progetto e associazione del progetto al Dev Center
Nella scheda Dev box management potete anche imporre il numero massimo di dev box che ogni singolo sviluppatore potrà creare.
Figura 22: Configurazione del numero massimo di Dev Box che ogni singolo sviluppatore potrà creare
Figura 23: Schermata finale del wizard di creazione di un nuovo progetto
Figura 24: Nuovo progetto creato e visibile nel portale di Azure
Creazione di un Dev Box pool
Un pool di Dev Box è una raccolta di dev box con impostazioni simili. I pool di dev box specificano le definizioni della dev box e le connessioni di rete usate dalle dev box. È necessario associare almeno un pool al progetto prima che gli utenti possano creare una dev box.
Figura 25: Creazione di un dev box pool
Selezionate una Dev Box definition esistente. La definizione determina l’immagine di base e le dimensioni per le caselle di sviluppo create in questo pool. Selezionate una connessione di rete esistente. La connessione di rete determina l’area delle caselle di sviluppo create in questo pool. Selezionate i privilegi che avrà il creatore della deb box, scegliendo tra Local Administrator e Standard User.
Potete anche configurare l’arresto automatico delle Dev Box, selezionando un’orario per arrestare tutte le dev box nel pool, che verranno arrestate ogni giorno.
Figura 26: Creazione del dev box pool
Il portale di Azure distribuisce il pool di Dev Box ed esegue controlli di integrità per assicurarsi che l’immagine e la rete superino i criteri di convalida per le dev box.
Figura 27: Dev box pool creato
Fornire l’accesso a un progetto Dev Box
Prima che gli utenti possano creare Dev Box basate sui Dev Box Pool in un progetto, è necessario fornire l’accesso a tali contenitori tramite un’assegnazione di ruolo. Il ruolo DevCenter Dev Box User consente agli utenti della Dev Box di creare, gestire ed eliminare le proprie dev box.
Selezionate il progetto a cui si vuole concedere l’accesso ai membri del team e dal nodo IAM concedete ai vostri utenti il ruolo di DevCenter Dev Box User, come mostrato nelle figure sotto:
Figura 28: Configurazione degli accessi per il progetto
Figura 29: Assegnazione del ruolo DevCenter Dev Box User
Assegnate il ruolo DevCenter Dev Box User ad un gruppo di sviluppatori o agli utenti che potranno creare le Microsoft Dev Box.
Figura 30: Aggiunta del gruppo di sviluppatori che potrà accedere al progetto e creare le Dev Box
Figura 31: Verifica dei permessi di accesso e dell’assegnazione dei ruoli
Una volta che sono state configurate le risorse di Microsoft Dev Box necessarie per consentire agli utenti di creare le proprie Dev Box, potete far connettere gli sviluppatori al developer portal.
Nella figura sotto sono mostrate tutte le risorse che sono state create:
Figura 32: Risorse create per il funzionamento di Microsoft Dev Box
Creazione delle Microsoft Dev Box
Collegandosi al portale https://aka.ms/devbox-portal lo sviluppatore che è stato autorizzato ad accedere al progetto potrà crearsi in autonomia la propria Dev Box, in un numero massimo che avete precedentemente stabilito.
Figura 33: Connessione al Microsoft Developer Portal
Figura 34: Creazione di una nuova Microsoft Dev Box
Lo sviluppatore potrà quindi inserire il nome della Dev Box che vuole creare e selezionare un progetto dall’elenco a discesa. Potrà quindi scegliere il Dev Box pool da utilizzare.
Figura 35: Parametri di creazione della Dev Box
Dalla home page del portale per sviluppatori potrà tenere traccia dello stato di avanzamento della creazione della sua Dev Box, che potrebbe durare diversi minuti.
Figura 36: Stato di avanzamento della creazione della Dev Box
Terminata la creazione della Microsoft Dev Box lo sviluppatore potrà collegarsi utilizzando il client RDP oppure il portale web, che punterà a https://windows365.microsoft.com
Figura 37: Creazione della Microsoft Dev Box completata e operazioni disponibili sulla VM
Figura 38: Connessioni disponibili per la Microsoft Dev Box
Figura 39: Configurazioni per la sessione di connessione
Figura 40: Primo accesso alla Microsoft Dev Box
Come si può vedere dalla figura sotto, ma Microsoft Dev Box rispetta la naming convention del Cloud PC e vengono anche mostrate le configurazioni scelte durante la creazione del Dev Box Pool.
Figura 41: Accesso alla Microsoft Dev Box completato
Invece che dal browser è anche possibilw utilizzare la Remote Desktop app per effettuare la connessione
Figura 42: Connessione a Microsoft Dev Box con l’app di Remote Desktop
Figura 43: Connessione a Microsoft Dev Box con l’app di Remote Desktop
Ho notato anche che la Microsoft Dev Box è accessibile anche tramite dall’app Windows 365 del Microsoft Store, che in Windows 11 permette di poter avere un percorso di accesso diretto al Cloud PC direttamente dal menu avvio o dalla barra delle applicazioni. Microsoft ha dichiarato che prevede di distribuire presto l’app Windows 365 come parte dei dispositivi Windows 11.
NOTA: Dall’app Windows 365 non è possibile effettuare operazioni sulla macchina (Riavvio, Spegnimento, Cancellazione, ecc.).
Figura 44: Installazione della Windows 365 app da Microsoft Store
Figura 45: La Microsoft Dev Box è accessibile anche tramite l’app Windows 365
La Microsoft Dev Box è inoltre completamente gestita da Microsoft Intune, come si può vedere anche dalla figura sotto.
Figura 46: Microsoft Dev Box è completamente gestita da Microsoft Intune
Conclusioni
Microsoft Dev Box è un ambiente di sviluppo basato sul cloud che consente agli sviluppatori di creare, testare ed eseguire il debug di applicazioni utilizzando Visual Studio Code e GitHub Codespaces. Dev Box fornisce un desktop Windows 10/11 completamente configurato con strumenti e framework preinstallati, come.NET, Python, Node.js, Docker e Kubernetes. Dev Box è l’ideale per gli sviluppatori che desiderano configurare e avviare rapidamente la programmazione, senza preoccuparsi di installare o aggiornare il software sui propri computer locali e farlo in autonomia, senza attendere la creazione da parte del team di amministratori IT.