Azure DevOps

Artículo

Microsoft reinventa su metodología

Ahora se llama Azure DevOps

Artículos anteriores

En un artículo anterior he explicado de la manera más simple posible lo que significa el término DevOps, las razones de su uso, además de las ventajas que proporciona. Ahora quiero mostrarles cómo trabajar siguiendo esta metodología con algunas de las herramientas que podemos encontrar en el mercado.

Azure DevOps

En el mercado encontramos numerosas herramientas que nos permiten trabajar siguiendo la metodología de DevOps, de manera única o combinada, como:

Git, Jira, Maven, JUnit, Puppet, Chef, Nagios, Sensu, etc… pero a lo largo de este artículo nos vamos a centrar en las herramientas que ofrece Microsoft, ya que frente al resto que acabo de exponer, nos ofrece en una sola herramienta la mayor combinación de casi todas las anteriores.

Anteriormente Microsoft tenía una herramienta conocida como Team Fundation Servers (TFS) o en su versión cloud Visual Studio Team Services (VSTS), que proporcionaba una gestión del ciclo de vida de la aplicación, a través de la administración del código fuente, informes, administración de requisitos, administración de proyectos, compilaciones automatizadas, administración de laboratorio, pruebas y administración de versiones.

Pero en sus últimas versiones este producto ha vuelto a evolucionar y cambiar de nombre, ahora se conoce como Azure DevOps e incluye los siguientes módulos:

  • Azure Pipelines: CI/CD que funciona con cualquier lenguaje, plataforma y nube. Conéctese a GitHub o a cualquier otro repositorio de Git y lleve a cabo implementaciones continuas. 
  • Azure Board: Realice un seguimiento eficaz del trabajo con paneles kanban, trabajos pendientes, paneles de equipo e informes personalizados.  
  • Azure Artifacts: Los paquetes de Maven, npm y NuGet se alimentan de orígenes públicos y privados. 
  • Azure Repo: Repositorios privados de Git ilimitados, hospedados en la nube para su proyecto. Solicitudes de incorporación de cambios colaborativas, administración avanzada de archivos y mucho más. 
  • Azure Test Plans: Solución de pruebas planeadas y exploratorias todo en uno

 

En la siguiente imagen veremos un flujo del normal funcionamiento con esta herramienta de Microsoft para el Continuous Integration and Continuous Delivery:

 

 

Gobierno Corporativo

Siguiendo los puntos del esquema anterior trataré de exponer cómo sería un proceso de gestión del ciclo de vida de la una aplicación:

  1. Podemos usar nuestro Visual Studio para desarrollar nuestro código, aunque no es necesario usar esta herramienta en particular, podemos usar cualquier herramienta de desarrollo de código.
  2. De manera regular podremos ir guardando nuestro código en nuestro repositorio de Git dentro del módulo de Azure Repos. 
  3. Mediante la integración continua, podemos desencadenar pruebas y la compilación de la aplicación mediante el módulo Azure Test Plans. 
  4. Tras esto, con la implementación automatizada de los artefactos y la aplicación de valores de configuración específicos por entornos, podremos realizar despliegues a cada uno de los entornos que compongan nuestra infraestructura con los Azure Pipelines. 
  5. En el caso de que no dispongamos de Azure Web Apps, los artefactos anteriormente mencionados también se pueden desplegar a nuestros servidores locales. 
  6. Azure Application insights es otra herramienta propia de Application Performance Management (APM) extensible para desarrolladores web en varias plataformas. Que pueden usar para supervisar y administrar la información sobre el estado, el rendimiento y el uso. 
  7. Una vez analizados los resultados podemos volver al código. 
  8. Mediante Azure Boards podremos hacer un seguimiento del trabajo diario y pendiente de los equipos

 

Tal como decíamos anteriormente estos son los principales pasos que seguiríamos desde el punto de vista de DevOps y las principales ventajas y novedades que podemos encontrar dentro de Azure DevOps. Además, hemos querido mostrarles como podemos combinar esta herramienta y otras que nos ofrece el fabricante para controlar el ciclo de desarrollo de nuestro software. Si les resulta interesante, en futuros artículos continuaremos profundizaremos en el uso de estos módulos, para detallar mejor su uso y funcionamiento.

 

David Martínez

David Martínez es un jefe de equipo con un amplio conocimiento en los siguientes campos:

  • Consultor de SharePoint: administración de las tecnologías de SharePoint Server 2010 y 2013, diseño de la arquitectura de acuerdo con la topología, edición de webparts, webparts, incidencias de correlación de ids, implantación de la arquitectura en las granjas, administración y análisis de pruebas de rendimiento, optimización de Entornos, resolución de fallos de seguridad.
  • Administración del sistema Wintel: administración de los sistemas operativos, resolución de incidentes y optimización de los entornos como técnico de nivel 3. Además del análisis, documentación del entorno y el desarrollo de una arquitectura en HA y DR de las soluciones. La capacitación técnica que tiene es Ingeniería Técnica en Informática de Sistemas por la Universidad de San Antonio de Murcia.