Noticias

Herramientas clave en DevOps – Claves para el éxito DevOps

Las herramientas constituyen uno de los aspectos más conflictivos de las Tecnologías de la Información modernas. Cuando alguien necesitaba automatizar o gestionar una actividad tenía que construir por sí mismo la herramienta que lo permitiese. Era complicado porque implicaba disponer del tiempo y la capacidad necesarios para hacerlo cada vez que surgía un nuevo requerimiento.

La complejidad cuando corremos el riesgo de centrarnos en las particularidades propias de la herramienta y olvidarnos del proceso. Desgraciadamente, todas las grandes organizaciones tienen experiencia con este tipo de situaciones y cuentan con herramientas que se han implantado de manera extensiva para terminar arrinconadas o con un uso muy limitado.

En las herramientas para automatizar el ciclo de vida del software, se encuentra una herramienta denominada continuous delivery (entrega continua) y es uno de los elementos fundamentales de un modelo de trabajo DevOps. En este escenario también hay un “colt”, que no es una herramienta, sino un conjunto de ellas.

¿Qué necesidades hay que cubrir para realizar la entrega continua de manera eficaz?

  • Primero y fundamental, una herramienta de gestión de la configuración del código. Aunque las herramientas modernas permiten la concurrencia de varios desarrolladores sobre el mismo código, esta necesidad se minimiza en DevOps ya que, como he comentado en un artículo anterior, las piezas de código deberán ser pequeñas. Tenemos importantes herramientas en esta categoría, pero destacan dos productos open source: GIT y Subversion.
  • Ahora hay que construir los ejecutables, básicamente compilar y enlazar. La automatización de las pruebas, sean de código, de sistema, de servicio, regresivas, etc. va a permitir que los cambios que se realicen en el software sean verificados, lo que garantiza la calidad.

Variedad de Herramientas

La variedad de herramientas es casi infinita en lo que se refiere a proveedores convencionales.

  • La automatización de las pruebas, sean de código, de sistema, de servicio, regresivas, etc. va a permitir que los cambios que se realicen en el software sean verificados, lo que garantiza la calidad. Incluso permiten la ejecución de juegos de pruebas diarios y/o semanales durante la noche que permiten tener un informe de resultados a primera hora.
  • En la parte del despliegue también hay una legión de herramientas disponibles. Si nos atrevemos con la posibilidad de que las pequeñas piezas de código no solo se puedan desarrollar y probar con independencia del resto, sino que su despliegue se haga como una “pieza de lego” separada, entonces, queridos amigos, tenemos todo lo necesario para empezar a trabajar.
  • Gestión de proyectos: a este respecto quiero proponeros una herramienta tan adictiva como comentaba que era Docker. Se trata del tablero Kanban: Lo único necesario para empezar es una pared y un taco de postits. Pero también encontrarás otras herramientas disponibles como Jira o, de fuente abierta, Kanboard.

En este post he expuesto un conjunto de herramientas con las que es importante que cuente un equipo DevOps porque ayudan a automatizar el ciclo de vida del software, pero lo más importante es el criterio, que tenga libertad para escoger el juego de herramientas que le resulte más valioso.

Deja un comentario