Integrar o Azure Machine Learning com ferramentas de DevOps
Imagine você trabalha com uma equipe de ciência de dados em um projeto de aprendizado de máquina. Sua equipe pode optar por usar o Azure DevOps ou o GitHub para planejar, armazenar o repositório de código e automatizar fluxos de trabalho.
Com qualquer um dos conjuntos de ferramentas, geralmente há duas funções:
- Administrador: configura o ambiente DevOps e gerencia as ferramentas.
- Usuário final: contribui para o projeto colaborando no desenvolvimento. Conecta-se às ferramentas, mas tem acesso restrito à configuração do ambiente DevOps.
O administrador é responsável por conectar o Azure Machine Learning ao Azure DevOps ou GitHub. Para entender como a integração com o Azure Machine Learning é configurada, vamos explorar como um administrador conectaria com segurança o Azure DevOps e o GitHub ao Azure Machine Learning.
Configurar o Azure DevOps
Para conectar o Azure DevOps ao Azure Machine Learning, primeiro você precisará criar uma organização e um projeto. Você usará a organização para agrupar e gerenciar projetos.
Comece entrando no Azure DevOps com uma conta Microsoft ou uma conta do GitHub.
Depois de entrar, crie uma organização.
Em uma organização, crie vários projetos.
Em cada projeto, você terá acesso a ferramentas como Boards, Repos e Pipelines para aplicar os princípios de DevOps a seu projeto.
Conectar o Azure DevOps ao Azure Machine Learning
Para acessar com segurança seu workspace do Azure Machine Learning no Azure DevOps, você precisará criar uma conexão de serviço.
Ao criar uma conexão de serviço, você define como o Azure DevOps será autenticado para se conectar a outro serviço. Quando você trabalha com o Azure Machine Learning, a opção recomendada é permitir que o Azure DevOps crie uma entidade de serviço por você.
Uma entidade de serviço é criada como uma identidade no Microsoft Entra ID. Em vez de usar as credenciais de um membro da equipe para se conectar ao Azure Machine Learning, o Azure DevOps usa as credenciais da entidade de serviço.
Quando um projeto do Azure DevOps é criado, você pode se conectar a um workspace do Azure Machine Learning existente:
- Dentro de um projeto, vá para Configurações do Projeto.
- Selecione conexões de serviço e crie uma nova.
- Escolha Azure Resource Manager.
- Escolha autenticar com uma Entidade de Serviço automática.
- Defina o nível de escopo para Workspace do Machine Learning e conecte-se a um workspace existente ao qual você tem acesso.
- Conceder permissão de acesso a todos os pipelines.
- Dê um nome à conexão de serviço. Você usará o nome sempre que precisar autenticar o Azure DevOps para gerenciar o workspace do Azure Machine Learning.
Depois que a conexão de serviço for criada, você notará que uma entidade de serviço recém-criada terá acesso de Colaborador ao seu workspace do Azure Machine Learning.
Configurar o GitHub
Para conectar o GitHub ao Azure Machine Learning, primeiro você precisará criar um repositório do GitHub.
Comece entrando no GitHub.
Depois de entrar no GitHub, você pode escolher se deseja ser o proprietário individual do repositório ou se ele deve ser de propriedade de uma organização do GitHub.
Dica
Saiba mais sobre como usar organizações do GitHub para gerenciar repositórios.
Conecte o GitHub com o Azure Machine Learning
Para usar o GitHub a fim de automatizar fluxos de trabalho de aprendizado de máquina, você pode autenticar o GitHub para se conectar ao Azure Machine Learning. Para configurar uma conexão segura, você precisará:
- Criar uma entidade de serviço no Azure.
- Adicionar as credenciais da entidade de serviço aos segredos do repositório.
Para criar uma entidade de serviço, você pode usar a CLI do Azure. Para trabalhar com a CLI, uma opção é enviar comandos no Azure Cloud Shell.
Você pode criar uma entidade de serviço chamada github-aml-sp
que receberá acesso de Colaborador ao workspace do Azure Machine Learning com o seguinte comando:
az ad sp create-for-rbac --name "github-aml-sp" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name> \
--sdk-auth
Depois que a entidade de serviço for criada, um texto JSON será retornado para você como saída que inclui as credenciais que o GitHub precisará para se conectar ao seu grupo de recursos do Azure. Copie o texto JSON e salve-o para usá-lo na próxima etapa.
Para armazenar essas credenciais no GitHub:
- Acesse as Configurações do repositório.
- Navegue até a página de Segredos.
- Selecione Ações.
- Adicione um novo segredo de repositório.
- Insira
AZURE_CREDENTIALS
como nome. - Cole o JSON de saída com as credenciais e adicione o segredo.
Depois de adicionado ao GitHub, você poderá usar o segredo da AZURE_CREDENTIALS
sempre que precisar que o GitHub seja autenticado para trabalhar com seu workspace do Azure Machine Learning.
Dica
Continue seu aprendizado sobre a integração do GitHub com o Azure Machine Learning e explore como usar o GitHub Actions com o Azure Machine Learning. O tutorial usa o segredo da AZURE_CREDENTIALS
para se conectar ao Azure.