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.