Hay ocasiones en las que trabajamos directamente sobre nuestro Azure Databrick Workspace sin pararnos a pensar en aspectos clave como el versionado del código, las subidas de las ramas features y su integración en la de desarrollo, procesos de aprobación de las PR o, más importante si cabe, cómo hacer el caso de uso que construimos extensible a múltiples entornos y/o regiones.
Pues justo es aquí donde Azure DevOps aparece en juego, ya que nos permite vincular un repositorio con el Workspace de nuestro Azure Databricks. En el step-by-step de hoy, voy a completar un caso de uso que sirve como guía para «solucionar» de un modo sencillo el no haber comenzado a desarrollar conectado al repositorio. Veamos
Azure DevOps
Para comenzar, creo un proyecto nuevo dentro de mi organización Azure DevOps. Por defecto, el sistema crea un repositorio con el mismo nombre, con lo que no necesitaremos crear.

Azure Databricks
Una vez completado, accedo a la carpeta de Repo de mi Azure Databricks y pulso sobre «añadir nuevo» repositorio. Acto seguido, incluyo la url que puedo copiar desde la pantalla anterior pulsando sobre «Clone» y seleccionando «Https»

Al completarlo y una vez pulsamos «Submit», se obra el milagro. Ya tenemos enlazado nuestro repositorio con el Workspace.
Para comprobar que el ejercicio ha funcionado, sólo tendremos que editar el fichero README.md desde nuestro Azure Databricks

Para realizar un «Commit & Push» que suba nuestros cambios al repositorio de Azure.

Y finalmente, actualizar el repositorio y verificar que el fichero README.md ha sincronizado los cambios realizados.

CONCLUSIÓN
El ejemplo realizado es una primera aproximación de cómo utilizar un repositorio distribuido como Azure DevOps en los desarrollos sobre Notebooks de Azure Databricks. Esto puede considerarse como un primer paso hacia estrategias DataOps | MLOps. Aunque para mi, el mayor potencial no se circunscribe a disponer de un repositorio de código, sino más bien a todas las posibilidades que una herramienta como Azure DevOps te permite poner en marcha, como despliegues automáticos en diferentes entornos y sobre todo en múltiples regiones. Este te ayuda a escalar soluciones y acercarte a paradigmas Data Mesh, donde la lógica es fácilmente distribuible desde un dominio al resto del ecosistema empresarial.
TIP
Puede suceder que tu suscripción de Azure sea nueva y no la tengas vinculada con la organización en Azure DevOps. En ese caso, deberás incluir el custom domain de la organización en el Azure Active Directory.
Para ello, tan sólo debes ir al apartado custom domain del AAD y pulsar sobre crear uno nuevo.

Y una vez comenzada su creación, debemos copiar los datos expuestos en la pantalla para, a continuación, ir hasta nuestro registrador de dominio y crear un nuevo DNS que lo referencie, tomando el tipo y valor mostrados abajo.

Ahora hay que esperar unos minutos (puede ser incluso cerca de una hora) para verificar que se ha propagado la relación entre Azure y nuestro proveedor de dominio. Así, una vez has incluido y verificado el custom domain en tu AAD, sólo queda ir a la opción de «Settings» en tu organización de Azure y conectar con dicho AAD. Eso se hace pulsando sobre el botón «Connect directory», como vemos abajo.

Ahora, elegimos el directorio y pulsamos el botón. Acto seguido veremos algo como lo de abajo. Tendremos que salir y volver a entrar en nuestro Azure DevOps y habremos concluido.

Links de interés:
Desplegando un mismo Notebook en múltiple Azure Databricks con Azure DevOps
Azure DevOps y sus tipos de merge
Azure DevOps, Visual Studio, GitFlow y otras técnicas del montón
Foto de portada gracias a Tima Miroshnichenko: https://www.pexels.com/es-es/foto/deportes-de-motor-atletas-monocromo-pista-de-carreras-5640619/