Integración de Azure Machine Learning con herramientas de DevOps
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, generalmente hay 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, vamos a explorar cómo un administrador conectaría Azure DevOps y GitHub de forma segura con Azure Machine Learning.
Configurar Azure DevOps
Para conectar Azure DevOps con Azure Machine Learning, primero deberá crear una organización y un proyecto. Utilizarás la organización para agrupar y gestionar proyectos.
Comience iniciando sesión en Azure DevOps con una cuenta de Microsoft o GitHub.
Una vez que haya iniciado sesión, puede crear una organización.
Dentro de una organización, puede crear varios proyectos.
Para cada proyecto, tendrá acceso a herramientas como Boards, Repos y Pipelines para aplicar principios de DevOps en el proyecto.
Conexión de Azure DevOps a 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, se 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:
- En un proyecto, vaya a Configuración del proyecto.
- Seleccione conexiones de servicio y cree una nueva.
- Elija Azure Resource Manager.
- Elija autenticarse con una entidad de servicio automática.
- 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.
- Conceda permiso de acceso a todas las canalizaciones.
- Asigne un nombre a la conexión de servicio. Usará el nombre siempre que necesite autenticar Azure DevOps para administrar el área de trabajo de Azure Machine Learning.
Una vez que se crea la conexión de servicio, observará que un nuevo principal de servicio tiene acceso Colaborador al área de trabajo de Azure Machine Learning.
Configuración de GitHub
Para conectar GitHub con Azure Machine Learning, primero deberá crear un repositorio de GitHub.
Comience iniciando sesión en GitHub.
Después de iniciar sesión en GitHub, puede elegir si como persona quiere poseer el repositorio o si debe ser propiedad de una organización de GitHub.
Sugerencia
Obtenga más información sobre el uso de organizaciones de GitHub para administrar repositorios.
Conexión de GitHub con Azure Machine Learning
Para usar GitHub para automatizar flujos de trabajo de aprendizaje automático, puede autenticar GitHub para conectarse a Azure Machine Learning. Para configurar una conexión segura, tendrá que:
- Cree un principal 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 un servicio principal denominado github-aml-sp
que recibirá acceso de Contribuidor 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 devuelve un texto en JSON como salida, que incluye las credenciales necesarias para que GitHub se conecte al grupo de recursos de Azure. Copie el texto JSON y guárdelo para el paso siguiente.
Para almacenar estas credenciales en GitHub:
- Vaya a configuración del repositorio.
- Vaya a la página Secretos .
- Seleccione Acciones.
- Agregue un nuevo secreto de repositorio.
- Escriba
AZURE_CREDENTIALS
para el nombre. - Pegue el JSON de salida con las credenciales y agregue el secreto.
Una vez agregado el secreto a GitHub, puede usar el AZURE_CREDENTIALS
secreto siempre que necesite que GitHub se autentique para trabajar con el área de trabajo de Azure Machine Learning.
Sugerencia
Continúe con el aprendizaje 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 AZURE_CREDENTIALS
secreto para conectarse a Azure.