Azure DevOps es el conjunto de servicios DevSecOps alojados en la nube de Microsoft y que funcionan para cualquier lenguaje de programación, que es multiplataforma y que puede desplegar ejecutables en cualquier entorno.
Azure DevOps tiene todo lo que necesitas para convertir una idea en una aplicación. Puedes planificar tu proyecto con herramientas ágiles. Puedes administrar sus planes de prueba desde la web, la versión de su código con Git y desplegar sus soluciones con el increíble sistema multiplataforma CI/CD. Y, al mismo tiempo, se obtiene una completa trazabilidad y visibilidad en todas las actividades de desarrollo.
Demos una vuelta a los DevOps de Azure y veamos todo lo que tiene para ofrecer.
Vamos a comenzar en dev.azure.com, donde se me presenta acceso a todas mis organizaciones y proyectos.

Al desplazarme sobre los mosaicos de mis proyectos, puede ver qué servicios utiliza cada uno de ellos. Se puede usar Azure DevOps tanto o tan poco como lo necesite.
Desde esta página, puedo saltar rápidamente al trabajo que se me asigna, y cualquier pull request que requiera mi atención.

Al hacer clic en “Projects”, me lleva a la página de resumen. Aquí puedo ver rápidamente la descripción, las estadísticas y los miembros del equipo.

¿Qué son Azure Boards?
Con Azure Boards, se puede realizar un seguimiento eficaz del trabajo con paneles kanban, trabajos pendientes, paneles de equipo e informes personalizados.
Son perfectos para controlar el ciclo de vida de desarrollo del proyecto o producto, manteniendo información actualizada y accesible por todos los miembros del equipo.
Es la herramienta total para cualquier desarrollo ágil, contando con plantillas metodológicas que contemplan los eventos como daily, sprint review o retrospectiva y los artefactos en forma de backlogs de sprint y producto.
Como se puede observar en siguiente imagen, desde la navegación de la izquierda, puedo acceder a los paneles de control. «Dashboards» son tableros completamente personalizables; simplemente hay que hacer clic, se edita y, además, se puede arrastrar y soltar en el widget deseado. Hay multitud de widgets adicionales disponibles en el marketplace.

Los widgets son interactivos, por ejemplo, se puede usar el widget «New workitem» para crear un nuevo elemento de trabajo o hacer clic en el enlace «Dashboard» en el widget de trabajo para saltar a mi tablero combinado.
El «Kanban dashboard» es una característica de los tableros Azure DevOps que nos permite planificar el proyecto utilizando backlogs y tableros. Puedes planear y seguir tu lanzamiento completo. Desde el tablero de Kanban, puedo revisar mi tests y las tareas de cada elemento. Usando los «Backlogs», puedo planear mis sprints simplemente arrastrando y soltando un elemento para el sprint deseado.

Una vez en un sprint, podemos usar el «Tablero de tareas» para rastrear nuestro progreso. Cuando los desarrolladores inician una tarea, pueden crear ramas para su trabajo directamente desde el tablero.

¿Qué son los Azure Repos?
Esto nos lleva a los Azure Repos, que admiten el control de versiones de código centralizado con TFVC y el control de versiones distribuido con Git. Además, están hospedados en la nube, por lo que se asegura su disponibilidad en todo momento.
Tienen multitud de funcionalidades, como poder hacer commits, trazabilidad de cambios en el código, pull requests, administración avanzada de archivos, gestión de branches y búsqueda semántica de código fuente.
El número de Azure Repos de los que disponemos es ilimitado y gratis.
Como podemos ver en la imagen, desde los archivos, puede navegar por el contenido de sus repositorios e incluso realizar ediciones rápidas.

El menú de Commits nos permite ver cómo se combinan todas las ramas.

El menú de Pushes brinda una vista histórica de los cambios que se enviaron al repositorio remoto:

El menú de Branches permite revisar todas las ramas y ver en qué posición están respecto a la rama master.

La página de Tags no solo nos permite revisar sus etiquetas, sino también crear otras nuevas:

Usando el menú de pull requests, puede revisar, participar y extraer solicitudes.

Los «repositorios de Azure» permiten escribir comentarios enriquecidos durante las pull requests e, incluso, aplicar políticas que requieren que se ejecute una build, etc.
¿Qué son Azure Pipelines?
La siguiente parte que vamos a explicar es Azure pipelines, que es un completo sistema multiplataforma CICD (Continuous Integration / Continuous deployment) capaz de compilar cualquier lenguaje de programación, ejecutar los tests asociados y desplegar el resultado en cualquier plataforma.
Se disponen gratis de 10 trabajos paralelos con minutos ilimitados.
Azure Pipelines es altamente compatible con Kubernetes y contenedores. De manera muy directa, se pueden cocinar e insertar imágenes en registros de contenedores, como Docker Hub y Azure Container Registry.
Aquí, en el resumen de una compilación, podemos revisar los commits, los resultados de los tests y mucho más.

La sección de implementación le permite ver en qué parte de la release está actualmente la build.
En la edición de una build, podemos observar todo el potencial que esta característica de Azure DevOps nos ofrece:

Azure Pipelines puede obtener el código fuente desde los sistemas de control de versión más populares.
Azure Pipelines también ofrece agentes de compilación de Mac OS, Linux y Windows listos para ser utilizados.

Agregar tareas a una build es tan fácil como arrastrar y soltar de nuestra colección de cientos de tareas de código abierto.

¿No ves la tarea que necesitas? Simplemente busca en el marketplace lo que necesita o creala tú mismo.

Una vez que se completa la edición de la build, las tuberías de Azure pueden ser desplegadas en cualquier plataforma con Azure Releases.

Las releases, al igual que las builds, proporcionan agentes alojados en Mac OS, Linux y Windows. Con la integración con App Center, también se puede desplegar a dispositivos móviles.
Veamos qué podemos editar en una versión.

Se pueden obtener los artefactos para ser desplegados desde casi cualquier lugar, incluidos otros sistemas de CI como Jenkins.

Las releases permiten definir entornos, e incluso asignar aprobadores entre ellos.

Desde las releases, tiene acceso a la misma biblioteca de tareas y agentes.

¿Qué son los Azure Test Plans?
Los «planes de prueba de Azure» nos permiten administrar todo tu esfuerzo de prueba en todas sus plataformas y configuraciones.
Son la base para incrementar la calidad de código a través de pruebas manuales y exploratorias, evitando errores no deseados y regresiones.

¿Qué son Azure Artifacts?
Y, por último, tenemos los Azure Artifacts, que nos permiten aplicar las mismas prácticas recomendadas de DevOps a los paquetes que se desarrollan y mantienen.
Podemos empaquetar nuestra funcionalidad, ya sea en paquetes Nuget o paquetes npm, y crear feeds y referenciarlos en nuestros proyectos de desarrollo.

Eso fue solo un vistazo rápido de lo que está disponible en Azure DevOps, para lenguaje de programación y para poder ser desplegado en cualquier plataforma.
Comienza hoy de forma gratuita y experimenta cómo Azure DevOps puede acelerar tu transformación DevSecOps.