Condividi tramite


Creare un pool condiviso di Data Science Virtual Machine

Questo articolo illustra come creare un pool condiviso di Data Science Virtual Machine (DSVM) per un team. L'uso di un pool condiviso offre vantaggi importanti:

  • Migliore utilizzo delle risorse
  • Condivisione e collaborazione più semplici
  • Gestione più efficace delle risorse DSVM

È possibile usare numerosi metodi e tecnologie per creare un pool di DSVM. Questo articolo è incentrato sui pool per le macchine virtuali (VM) interattive. Un'infrastruttura di calcolo gestita alternativa prevede un Ambiente di calcolo di Azure Machine Learning. Per altre informazioni, vedere Creare il cluster di elaborazione.

Pool di VM interattive

Un pool di macchine virtuali interattive, condiviso da un intero team di intelligenza artificiale/data science, offre agli utenti un modo per accedere a un'istanza di DSVM disponibile, invece di avere un'istanza dedicata per ogni set di utenti. Questo approccio offre una migliore disponibilità e un utilizzo più efficace delle risorse.

Per creare un pool di VM interattive, usare i set di scalabilità di macchine virtuali di Azure. Usare i set di scalabilità per creare e gestire un gruppo di VM identiche con bilanciamento del carico e scalabilità automatica.

L'utente accede all'indirizzo IP o DNS del pool principale. Il set di scalabilità esegue automaticamente il routing della sessione su una DSVM disponibile nel set di scalabilità. Poiché gli utenti vogliono un ambiente coerente e familiare, indipendentemente dalla macchina virtuale a cui accedono, tutte le istanze della macchina virtuale nel set di scalabilità montano un'unità di rete condivisa. Questo è simile a una condivisione file di Azure o a una condivisione NFS (Network File System). L'area di lavoro condivisa dell'utente in genere viene mantenuta nell'archivio di file condiviso montato in ognuna delle istanze.

È possibile trovare un esempio di modello di Azure Resource Manager che crea un set di scalabilità con istanze di DSVM Ubuntu in GitHub. La stessa posizione ospita un esempio del file di parametri per il modello di Azure Resource Manager.

Specificare i valori per il file di parametri nell'interfaccia della riga di comando di Azure per creare il set di scalabilità dal modello di Azure Resource Manager:

az group create --name [[NAME OF RESOURCE GROUP]] --location [[ Data center. For eg: "West US 2"]
az deployment group create --resource-group  [[NAME OF RESOURCE GROUP ABOVE]]  --template-uri https://raw.githubusercontent.com/Azure/DataScienceVM/master/Scripts/CreateDSVM/Ubuntu/dsvm-vmss-cluster.json --parameters @[[PARAMETER JSON FILE]]

Questi comandi presuppongono di avere:

  • Una copia del file dei parametri con i valori specificati per l'istanza del set di scalabilità
  • Il numero di istanze di VM
  • Puntatori alla condivisione di File di Azure
  • Credenziali per l'account di archiviazione che verrà montato in ogni VM

I comandi fanno riferimento localmente al file di parametri. È anche possibile passare parametri inline o richiedere i parametri nello script.

Il modello precedente abilita la porta JupyterHub e SSH dal set di scalabilità front-end al pool back-end delle DSVM Ubuntu. Gli utenti possono accedere alla macchina virtuale in una shell sicura (SSH) o in JupyterHub nel modo normale. Dal momento che è possibile aumentare o ridurre in modo dinamico il numero di istanze di VM, ogni stato deve essere salvato nella condivisione di File di Azure montata. È possibile usare lo stesso approccio per creare un pool di DSVM Windows.

Anche lo script che monta la condivisione di File di Azure è disponibile nel repository Azure DataScienceVM in GitHub. Lo script monta la condivisione di File di Azure nel punto di montaggio specificato nel file dei parametri. Lo script crea anche collegamenti simbolici all'unità montata nella home directory dell'utente iniziale. Una directory notebook specifica dell'utente nella condivisione di File di Azure viene collegata in modo simbolico alla directory $HOME/notebooks/remote, in modo che l'utente possa accedere, eseguire e salvare i notebook di Jupyter. È possibile usare la stessa convenzione quando si creano altri utenti nella VM per puntare all'area di lavoro Jupyter di ogni utente nella condivisione di File di Azure.

I set di scalabilità di macchine virtuali supportano la scalabilità automatica. È possibile impostare regole che determinano quando creare altre istanze e quando ridurre il numero di istanze. È ad esempio possibile ridurre il numero di istanze a zero per risparmiare sui costi di utilizzo dell'hardware cloud quando le VM non vengono usate. Le pagine della documentazione dei set di scalabilità di macchine virtuali forniscono passaggi dettagliati per la scalabilità automatica.

Passaggi successivi