Integración de Azure Machine Learning con herramientas de DevOps

Completado

Imagine que trabaja con un equipo de ciencia de datos en un proyecto de aprendizaje automático. El equipo puede optar por usar Azure DevOps o GitHub para planear el trabajo, almacenar el repositorio de código y automatizar flujos de trabajo.

Con cualquiera de los conjuntos de herramientas, suele haber dos roles:

  • Administrador: configura el entorno de DevOps y administra las herramientas.
  • Usuario final: contribuye al proyecto colaborando en el desarrollo. Se conecta a las herramientas, pero tiene acceso restringido a la configuración del entorno de DevOps.

El administrador es responsable de conectar Azure Machine Learning con Azure DevOps o GitHub. Para comprender cómo se configura la integración con Azure Machine Learning, veamos cómo un administrador conectaría de forma segura Azure DevOps y GitHub con Azure Machine Learning.

Configurar Azure DevOps

Para conectar Azure DevOps con Azure Machine Learning, primero debe crear una organización y un proyecto. Usará la organización para agrupar y administrar proyectos.

Para empezar, inicie sesión en Azure DevOps con una cuenta de Microsoft o GitHub.

Una vez que haya iniciado sesión, puede crear una organización.

New organization in Azure DevOps

Dentro de una organización, puede crear varios proyectos.

New project in Azure DevOps

Para cada proyecto, tendrá acceso a herramientas como Boards, Repos y Pipelines para aplicar los principios de DevOps en el proyecto.

Conectar Azure DevOps con Azure Machine Learning

Para acceder de forma segura al área de trabajo de Azure Machine Learning desde Azure DevOps, tendrá que crear una conexión de servicio.

Al crear una conexión de servicio, define cómo se autenticará Azure DevOps para conectarse a otro servicio. Al trabajar con Azure Machine Learning, la opción recomendada es permitir que Azure DevOps cree una entidad de servicio automáticamente.

Se crea una entidad de servicio como una identidad en Microsoft Entra ID. En lugar de usar las credenciales de un miembro del equipo para conectarse con Azure Machine Learning, Azure DevOps usa las credenciales de la entidad de servicio.

Cuando se crea un proyecto de Azure DevOps, puede conectarse a un área de trabajo de Azure Machine Learning existente:

  1. En un proyecto, vaya a Configuración del proyecto.
  2. Seleccione Conexiones de servicio y cree una.
  3. Haga clic en Azure Resource Manager.
  4. Elija autenticarse con una entidad de servicio automática.
  5. Establezca el nivel de ámbito en Área de trabajo de Machine Learning y conéctese a un área de trabajo de Azure Machine Learning existente a la que tenga acceso.
  6. Conceda permiso de acceso a todas las canalizaciones.
  7. Asigne un nombre a la conexión del servicio. Usará el nombre siempre que necesite autenticar Azure DevOps para administrar el área de trabajo de Azure Machine Learning.

New service connection in Azure DevOps

Una vez creada la conexión de servicio, observará que una entidad de servicio recién creada tiene acceso de Colaborador al área de trabajo de Azure Machine Learning.

Configuración de GitHub

Para conectar GitHub con Azure Machine Learning, primero debe crear un repositorio de GitHub.

Primero inicie sesión en GitHub.

Después de iniciar sesión en GitHub, puede elegir si quiere ser el propietario del repositorio o si, en su lugar, desea que sea una organización de GitHub.

New repo in GitHub

Sugerencia

Obtenga más información sobre el uso de organizaciones de GitHub para administrar repositorios.

Conectar GitHub con Azure Machine Learning

Para usar GitHub para automatizar flujos de trabajo de aprendizaje automático, puede autenticar GitHub para conectarse con Azure Machine Learning. Para configurar una conexión segura, tendrá que hacer lo siguiente:

  • Cree una entidad de servicio en Azure.
  • Agregue las credenciales de la entidad de servicio a los secretos del repositorio.

Para crear una entidad de servicio, puede usar la CLI de Azure. Para trabajar con la CLI, una opción es enviar comandos en Azure Cloud Shell.

Puede crear una entidad de servicio denominada github-aml-sp que tendrá acceso de Colaborador al área de trabajo de Azure Machine Learning con el siguiente 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

Una vez creada la entidad de servicio, se le devolverá texto JSON como salida que incluye las credenciales que GitHub necesita para conectarse al grupo de recursos de Azure. Copie el texto JSON y guárdelo para el paso siguiente.

Para almacenar estas credenciales en GitHub:

  1. Vaya a la Configuración del repositorio.
  2. Vaya a la página Secretos.
  3. Seleccione Actions (Acciones).
  4. Agregue un nuevo secreto de repositorio.
  5. Escriba AZURE_CREDENTIALS para el nombre.
  6. Pegue la salida JSON con las credenciales y agregue el secreto.

New secret in GitHub

Una vez agregado el secreto a GitHub, puede usar el secreto AZURE_CREDENTIALS siempre que necesite la autenticación de GitHub para trabajar con el área de trabajo de Azure Machine Learning.

Sugerencia

Continúe aprendiendo sobre la integración de GitHub con Azure Machine Learning y explore cómo usar Acciones de GitHub con Azure Machine Learning. En el tutorial se usa el secreto AZURE_CREDENTIALS para la conexión con Azure.