Criar um pool compartilhado de Máquinas Virtuais de Ciência de Dados

Este artigo discute como é possível criar um pool compartilhado de DSVMs (Máquinas Virtuais de Ciência de Dados) para uma equipe usar. O uso de um pool compartilhado oferece vantagens importantes:

  • Melhor utilização de recursos
  • Compartilhamento e colaboração mais fáceis
  • Gerenciamento mais eficaz dos recursos da DSVM

Você pode usar vários métodos e tecnologias para criar um pool de DSVMs. Este artigo enfoca os pools para máquinas virtuais (VMs) interativas. Uma infraestrutura de computação gerenciada alternativa envolve a Computação do Machine Learning. Para obter mais informações, visite Criar cluster de computação.

Pool VM interativo

Um pool de VM interativa, compartilhado por toda uma equipe de IA/ciência de dados, oferece aos usuários uma maneira de entrar em uma instância DSVM disponível, em vez de ter uma instância dedicada para cada conjunto de usuários. Essa abordagem fornece melhor disponibilidade e utilização mais eficaz dos recursos.

Use a tecnologia Conjuntos de dimensionamento de máquina virtual do Azure para criar um pool de VMs interativo. Use conjuntos de escala para criar e gerenciar um grupo de VMs idênticas, com balanceamento de carga e dimensionamento automático.

O usuário efetua login no endereço IP ou DNS do pool principal. O conjunto de dimensionamento roteia automaticamente a sessão para uma DSVM disponível no conjunto de dimensionamento. Como os usuários desejam um ambiente consistente e familiar, independentemente da VM em que entrarem, todas as instâncias da VM no conjunto de escala montam uma unidade de rede compartilhada. Isso é semelhante a um compartilhamento de Arquivos do Azure ou um compartilhamento NFS (Network File System). O espaço de trabalho compartilhado do usuário normalmente é mantido no repositório de arquivos compartilhados montado em cada uma das instâncias.

Encontre uma amostra de modelo do Azure Resource Manager que cria um conjunto de dimensionamento com instâncias de DSVM do Ubuntu no GitHub. O mesmo local hospeda um exemplo do arquivo parâmetro para o modelo do Azure Resource Manager.

Especifique valores para o arquivo de parâmetro na CLI do Azure para criar o conjunto de escala a partir do modelo do 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]]

Esses comandos pressupõem que você tenha:

  • Uma cópia do arquivo de parâmetros com os valores especificados para sua instância do conjunto de escalas
  • O número de instâncias de VM
  • Ponteiros para o compartilhamento de Arquivos do Azure
  • Credenciais para a conta de armazenamento que será montada em cada VM

Os comandos fazem referência local ao arquivo de parâmetros. Você também pode passar parâmetros embutidos ou solicitá-los em seu script.

O modelo anterior habilita o SSH e a porta do JupyterHub do conjunto de dimensionamento de front-end para o pool de back-end de DSVMs do Ubuntu. Como usuário, você entraria na VM em um SSH (Secure Shell) ou no JupyterHub da maneira normal. Como as instâncias de VM podem ser escaladas ou reduzidas verticalmente de modo dinâmico, todos os estados precisam ser salvos no compartilhamento de Arquivos do Azure montados. A mesma abordagem pode ser usada para criar um pool de DSVMs do Windows.

O script que monta o compartilhamento de Arquivos do Azure também está disponível no repositório DataScienceVM do Azure no GitHub. O script monta o compartilhamento de Arquivos do Azure no ponto de montagem especificado no arquivo de parâmetro. O script também cria links flexíveis com a unidade montada no diretório base do usuário inicial. Um diretório de bloco de anotações específico do usuário no compartilhamento Arquivos do Azure é vinculado ao diretório $HOME/notebooks/remote, para que os usuários possam acessar, executar e salvar seus blocos de anotações do Jupyter. Você pode usar a mesma convenção ao criar mais usuários na VM para apontar o espaço de trabalho Jupyter de cada usuário para o compartilhamento Arquivos do Azure.

Os Conjuntos de Dimensionamento de Máquinas Virtuais são compatíveis com o dimensionamento automático. Você pode definir regras sobre quando criar mais instâncias e quando reduzir instâncias. Por exemplo, você pode reduzir para zero instâncias para economizar nos custos de uso de hardware na nuvem quando as VMs não são usadas. As páginas de documentação dos conjuntos de dimensionamento de máquinas virtuais fornecem etapas detalhadas para dimensionamento automático.

Próximas etapas