Seleccionar página

Azure DevOps, todo a un clic de distancia

Hace ya tiempo que la filosofía DevOps está entre nosotros. La plataforma Azure es la fuerte respuesta de Microsoft a esta vocación, integrando un conjunto de servicios que nos ayudan a suavizar las barreras de entrada para adoptar esta forma de trabajar.

Imaginemos que un nuevo proyecto software nos requiere un determinado entorno. Típicamente, justo no dispondremos de ese en concreto (¡Qué casualidad!) y además, dadas las expectativas de entrega, lo necesitamos para ya. La lista de peticiones nos empieza a agobiar: máquinas para los desarrolladores, servidor de base de datos, el repo de código, establecer el ciclo de trabajo, despliegues, etc.

¿La buena noticia? En Azure lo veo tan fácil como entrar en su portal, seleccionar las características de las máquinas, sistemas operativos, herramientas de desarrollo, hacer clic y en unos minutos lo tenemos todo. ¡Os lo cuento!

Un par de detalles más antes de centrarnos en Azure DevOps. Desde el portal de Azure, tenemos interesantes facilidades como Azure Active Directory para crear o eliminar usuarios, asignarles roles, accesos a máquinas y aplicaciones. Con Azure Backup creamos copias de seguridad de las cargas de trabajo y máquinas locales, así como de las virtuales. Para mitigar las caídas, tenemos disponible el servicio Azure Site Recovery que mantiene las aplicaciones y las cargas de trabajo en funcionamiento durante las interrupciones de las máquinas físicas y virtuales, replicándolas en una ubicación secundaria, conmutando y volviendo cuando se recupere el fallo. El solito lo hace todo.

Y como son servicios que tenemos en la nube de Microsoft, podemos acceder a ellos desde cualquier punto del mapa que tenga cobertura de internet e integrar personas y equipos que estén en diferentes puntos geográficos. ¿Y qué tenemos para integrar la forma en que construimos, probamos y desplegamos software?

 

Azure DevOps en 5 minutos

Para esta integración tendremos una gran ayuda en Azure DevOps. Aquí Microsoft ha reunido un conjunto de herramientas y servicios que nos facilitan la tarea en todas las fases de un proyecto. Conforman un conjunto realmente versátil, así que vamos con los que más me gustan.

Una de estas fases es, o mejor dicho debería de ser, la documentación. Azure Overview nos permite crear una wiki en la que compartiremos toda la documentación sobre el enfoque del proyecto, sus pre-requisitos, documentos sobre la planificación de los sprints, etc. Bola extra: la gracia de esta wiki es que es exportable a Git y así la podemos pasar fácilmente de un sitio a otro.

 

Podremos gestionar el proyecto y la actividad mediante el servicio web Azure Boards que nos proporciona funciones de administración de proyectos, incorporando tableros Kanban, trabajos pendientes, paneles de control del equipo de desarrollo e informes que podemos personalizar.

Podemos asignar trabajos a los sprints y, si conectamos Azure Boards con los repositorios de GitHub, cada vez que se haga un «commit» o un «pull», se reflejará el estado más reciente en cada elemento de trabajo.

 

En cuanto al repositorio, Azure Repos nos da la posibilidad de guardar los archivos de código fuente, el histórico de cambios y las ramas, entre sus opciones principales. Admite dos tipos de control de versiones, Git, GitHub (distribuidos) y Team Foundation Version Control (centralizado). Son la piedra angular sobre la que se monta Azure DevOps (el antiguo VSTS – Visual Studio Team Services).

 

Algo que me resulta muy interesante, es la automatización de los procesos de compilación, construcción e implementación, de manera confiable y eficiente del código en las plataformas de producción.

 

Azure Pipelines es un servicio que nos permite establecer la integración y despliegue continuos (CI – CD) para generar, compilar, probar y desplegar los proyectos sobre cualquier plataforma o nube. Se ofrecen agentes de compilación de MacOS, Linux y Windows hospedados. Vamos, que podremos obtener código fuente desde los repositorios, desplegar una aplicación web o servicio en un contenedor en AWS o en Azure o sobre un Kubernetes. Máxima flexibilidad.

Los desarrollos se prueban, pero la fiabilidad del software muchas veces se resiente en el tiempo. Azure Test Plans gestiona planes de pruebas manuales, planificadas, exploratorias y todo lo relacionado con las pruebas de aseguramiento de la calidad, tanto de aplicaciones web como de escritorio. Es la forma de evitar sorpresas a la hora de pasar a producción nuestros desarrollos.

Llegados a este punto, os lo habéis ganado.
Si os pica el tener más detalle sobre
automatización de pruebas y
flujos de negocio en ambientes Azure
,
es vuestro minuto de suerte:
Para validar rápidamente si automatizar EN TU ENTORNO es posible,
te ofrecemos la posibilidad de probar con un Piloto
sobre cualquier aplicación accesible vía web.

Sigamos que queda poco. Compartir, reutilizar. Hablando de código estos términos nos evitan muchas horas de trabajo, código duplicado, probar lo ya probado. Podemos utilizar Azure Artifacts para compartir de forma pública o privada «feeds Maven, Nuget, PyPi» entre otros, integrarlos en nuestro Pipeline, controlar las versiones y sus dependencias. Sin excusas.

 

Pero, ¿cuánto cuesta Azure DevOps?

Hemos visto que Azure es una solución que nos permite gestionar nuestra infraestructura, integrar la forma en que fabricamos software y adaptarla a nuestras necesidades en pocos minutos. Nos garantiza, recordemos que todo está en la nube, una alta disponibilidad con el respaldo de Microsoft, aunque no todo es gratuito. Existe una cuenta gratuita que nos permite utilizar temporalmente los productos de pago, además de aquellos productos que son gratuitos.

Es decir, en Azure pagamos por uso. Podemos tener una máquina apagada durante, por ejemplo, un mes sin coste alguno durante ese tiempo. Y sí, hay un administrador de costes, Azure Cost Management, para supervisar y controlar los gastos. Junto con Azure Advisor, nos ayuda a optimizar y mejorar la eficiencia de nuestro entorno, informando sobre recursos inactivos o utilizados por debajo de su capacidad, brindándonos la posibilidad de adoptar las medidas necesarias para reducir los costes. Para saber qué vamos a pagar por el uso de los productos de Azure podemos consultar su calculadora de precios.

 

¿Por dónde empezar?

Mi bautismo con Azure fue gracias a un interesante curso en Panel Sistemas de la mano de Juan Quijano (¡Gracias!). Tras un par de semanas, la sensación que me quedó es que todo se puede hacer con un clic de ratón de manera rápida y fácil. Creamos todo lo que necesitamos, tal cual lo necesitamos y cuando lo necesitamos. Puedes con ello porque no se necesita tener grandes conocimientos sobre instalación y mantenimiento de hardware o software. Azure se encarga de todo.

Recordad que al ser un conjunto de servicios ubicados en nube, nos permite prescindir de un lugar físico en el que alojar nuestra infraestructura. Puedo trabajar en cualquier punto de España y tener mi infraestructura en cualquiera de las cincuenta y cuatro regiones de Azure. Tendremos todas las herramientas necesarias, en un mismo portal, para el desarrollo y control de equipos, tanto hardware como humanos y, por supuesto, nuestros proyectos.

En internet hay mucha información. Existen infinidad de blogs y tutoriales en los que podemos ahondar en el mundo Azure. En particular, os invito a saborear este tutorial para el despliegue sobre Kubernetes.

¡¡¡Ánimo!!!

 

Juan Ignacio Simón Rodríguez

Juan Ignacio Simón Rodríguez

Nacho es Ingeniero de Consultoría y Desarrollo en Panel Sistemas. Puedes contactar con él vía e-mail en esta dirección, o visitar su perfil en Linkedin.

Déjanos tu comentario

1 Comentario

  1. Miguel Angel Nicolao

    Desde luego, parece muy, muy completa la propuesta de Microsoft … sin duda se ha ganado el tratamiento como #SuperAzure ¡Genial este nuevo superhéroe!

    ¡ Gracias Juan Ignacio por compartir tu experiencia !

    Saludos,
    MAN

    Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Share This