Análisis en profundidad

Herramientas DevOps, el mejor software DevOps de código abierto y sin código abierto

Las soluciones de software para agilizar y acelerar la gestión de los pipelines de DevOps son numerosas, y pueden clasificarse en diferentes tipos de herramientas: entre ellas, las de integración continua y liberación continua de código (CI/CD) desempeñan un papel fundamental en la armonización de los procesos de los equipos de desarrollo y las operaciones de la empresa. He aquí un breve resumen de las soluciones

04 Dic 2021

Giorgio Fusari

DevOps herramientas

Hoy en día, el nivel de eficacia, calidad y rapidez que ha traído la transformación digital en la gestión de las TI ha hecho que surjan requisitos de “tiempo de comercialización” y “garantía de calidad” que exigen un cambio de paradigma radical incluso en la gestión del ciclo de desarrollo y entrega del software y, por tanto, de la infraestructura del SDLC (ciclo de vida de desarrollo del software) en toda su complejidad. Este paradigma se denomina Agile/DevOps, y subvierte profundamente el modelo tradicional de “cascada”, basado en fases secuenciales, al establecer un método de desarrollo paralelo e iterativo, compuesto por varios ciclos de desarrollo y lanzamiento de software. Con ello, el modelo DevOps, explica Gartner, hace hincapié en el cambio cultural de las TI, con el objetivo de mejorar la colaboración entre los equipos de desarrollo y las operaciones de la empresa. Existen varias herramientas DevOps en el mercado.

Diferentes categorías de herramientas para diferentes etapas del ciclo de desarrollo

Adoptar la metodología DevOps significa introducir velocidad, eficiencia y fiabilidad en el ciclo de desarrollo de software. Sin embargo, para poner en práctica este método, además de transformar los procesos organizativos, es necesario dotarse de las herramientas adecuadas, necesarias para controlar las fases clave del ciclo de desarrollo. Para gestionar cada fase, existen de hecho muchas herramientas en el mercado, que están en constante crecimiento, tanto de código abierto como propietarias, y que pueden clasificarse en diferentes categorías; la oferta disponible incluye:

  • herramienta para gestionar la planificación de las iteraciones (sprints) y los lanzamientos de software;
  • para escribir el código fuente y crear compilaciones;
  • Herramientas CI/CD (integración continua/entrega continua) para automatizar la integración continua y la liberación continua de código;
  • herramientas de aprovisionamiento, control de versiones y gestión de la configuración; herramientas dedicadas a las pruebas y al despliegue de las construcciones; herramientas de supervisión, registro, auditoría de los cambios y notificación de problemas y errores;
  • herramientas informáticas para gestionar la “retroalimentación continua” de los usuarios;
  • también hay herramientas para la administración de contenedores, la virtualización, la seguridad de los despliegues dentro de los equipos, y mucho más.

Una vez identificadas las diferentes herramientas, el reto para las empresas es modelar el pipeline de DevOps, implementando un conjunto específico de herramientas (toolchain), lo más integrado y estandarizado posible, para facilitar la colaboración entre equipos y hacer fluida la administración del flujo de trabajo. La alternativa es adoptar un enfoque DevOps as-a-service (DaaS), en el que el proveedor de servicios combina, integra y hace funcionar las herramientas de software necesarias para cubrir las distintas fases del ciclo de desarrollo.

A continuación, ofrecemos una breve selección de herramientas para gestionar la infraestructura DevOps. Por supuesto, se trata de una mini resumen que no puede, ni pretende, ser exhaustiv, sino sólo indicar algunas soluciones interesantes de las que hemos podido recabar información a través de los informes de las principales empresas de análisis internacionales.

Herramientas para implementar una infraestructura DevOps

Automatización de la liberación de CA

Fabricante: CA Technologies

Ficha técnica de: Automatización de la liberación de CA

Distribución: en las instalaciones

CA Release Automation le permite estandarizar, simplificar y automatizar su pipeline de entrega continua (CD), gestionando la liberación de aplicaciones a nivel integral. La solución consta de dos componentes distintos que funcionan de forma sinérgica: uno es el motor de automatización, que centraliza la distribución de las versiones de las aplicaciones en los servidores, los centros de datos y las infraestructuras en la nube, de forma rápida y fiable; el otro es CA Release Automation Continuous Delivery Edition, que planifica, gestiona y optimiza el proceso de CD. La otra es la CA Release Automation Continuous Delivery Edition, que planifica, gestiona y optimiza el pipeline de CD. Una de las características más populares es la posibilidad de utilizar un “panel único de vidrio”, es decir, un único punto de control, para administrar la planificación y ejecución de las versiones. Los cuadros de mando personalizables ayudan a mantener la visibilidad y el control de los procesos de lanzamiento en la cadena de producción de CD. Algunos usuarios informan de ralentizaciones en el uso de la interfaz de usuario de vez en cuando.

CloudBees Jenkins Enterprise

Fabricante: CloudBees

Ficha técnica de: CloudBees Jenkins Enterprise

Distribución: en las instalaciones y en la nube

Jenkins es un servidor de automatización de código abierto, que entra en la categoría de herramientas de entrega continua (CD). Este servidor puede utilizarse para automatizar cualquier tipo de tarea relacionada con el desarrollo, las pruebas, la entrega o el despliegue de software. Jenkins puede instalarse a través de paquetes nativos del sistema, o a través de contenedores Docker, pero también puede ejecutarse como una aplicación independiente en máquinas con Java Runtime Environment (JRE) instalado. La limitación de la versión de código abierto es, a veces, la falta de funcionalidad, seguridad y escalabilidad que suelen tener las versiones comerciales.

CloudBees Jenkins Enterprise es una herramienta creada por CloudBees, una empresa con sede en San José, California, que desempeña un papel destacado en la comunidad Jenkins. CloudBees Jenkins Enterprise proporciona un “Centro de Operaciones” con funcionalidad y características de nivel empresarial que ayudan a las organizaciones a escalar sus procesos de integración y entrega continua (CI/CD). Por ejemplo, la herramienta puede ofrecer funciones de “entrega continua como servicio” a los equipos internos; y puede abordar las necesidades de seguridad gestionando el acceso y el cumplimiento de los equipos desde un panel centralizado.

Nube Eléctrica ElectricFlow

Fabricante: Electric Cloud

Ficha técnica de: Nube Eléctrica ElectricFlow

Distribución: en las instalaciones

Destacando la capacidad de la solución ElectricFlow para aumentar la eficiencia de las TI en la orquestación de lanzamientos de software, la automatización de canalizaciones y el despliegue y gestión de entornos, Electric Cloud recuerda haber sido posicionada por la firma de análisis Gartner, por tercer año consecutivo, como “líder” en el “Cuadrante Mágico” del informe de orquestación de lanzamientos de aplicaciones (ARO). Como plataforma empresarial, ElectricFlow es capaz de dar soporte a múltiples equipos que trabajan en múltiples ubicaciones y programan para diferentes plataformas y sistemas de destino. Además de proporcionar una gestión centralizada y una amplia escalabilidad, el sistema está diseñado para soportar procedimientos reutilizables, la disponibilidad inmediata de las mejores prácticas para los equipos individuales, y para eliminar la duplicación de esfuerzos. Además de la orquestación de lanzamientos, la automatización del despliegue y la gestión de canalizaciones y entornos, existen herramientas analíticas con métricas y KPI para evaluar el rendimiento de las distintas actividades.

IBM UrbanCode Deploy

Fabricante: IBM

Ficha técnica de: IBM UrbanCode Deploy

Distribución: en las instalaciones

Es una solución de automatización del proceso de lanzamiento de aplicaciones que permite el despliegue de aplicaciones en centros de datos distribuidos, entornos virtualizados y en la nube. Puede automatizar el despliegue, la actualización, la reversión y la desinstalación de aplicaciones. Las funciones de supervisión y auditoría le permiten hacer un seguimiento de su proceso de desarrollo, incluida la capacidad de determinar qué versiones se despliegan en qué entornos. El aprovisionamiento de nuevos entornos y el despliegue y la actualización de aplicaciones pueden tener lugar en varias nubes públicas y privadas. Entre las integraciones, IBM UrbanCode Deploy puede realizar operaciones autoautomatizadas en más de 100 aplicaciones de IBM y de terceros, como IBM WebSphere Application Server, CICS TS, Jenkins, Apache Tomcat y Docker, a través de una biblioteca de complementos compatibles. Algunos usuarios señalan que la ejecución de varias implantaciones a la vez afecta al rendimiento de la herramienta; otros consideran que la gestión y el mantenimiento de los agentes son complejos.

Software Jira

Fabricante: Atlassian

Ficha técnica de: Software Jira

Distribución: en las instalaciones y en la nube

La plataforma integra varias funcionalidades en un único software DevOps, incluyendo funcionalidades de gestión de proyectos inspiradas en el modelo Agile, y las de gestión de lanzamientos de software, y permite a los distintos miembros del equipo de desarrollo de software planificar y organizar tareas, flujos de trabajo e informes.

Los tablones de anuncios personalizables pueden utilizarse para planificar los sprints y distribuir las tareas dentro del equipo, priorizar las tareas y organizar las actividades con los miembros del equipo, sabiendo que la información sobre el proyecto, y su progreso, está siempre actualizada y compartida. No faltan la gestión de plazos y los indicadores clave de rendimiento (KPI) sobre el desempeño de los equipos. En general, el software Jira es calificado por los usuarios como una herramienta extremadamente robusta en entornos empresariales, aunque a veces el diseño de la interfaz, y la lista de proyectos, pueden ser complejos de controlar y dominar, en la navegación y la búsqueda de información.

Microsoft Azure DevOps

Fabricante: Microsoft

Ficha técnica de: Microsoft Azure DevOps

Distribución: en la nube

El conjunto de herramientas DevOps de Azure, explica Microsoft, es el resultado de 15 años de inversión y aprendizaje en la provisión de herramientas para apoyar a los equipos de desarrollo de software. El paquete incluye una serie de herramientas que los usuarios pueden adoptar en su totalidad, o en parte, según sus necesidades. Por ejemplo, Azure Pipelines permite la automatización de compilaciones y despliegues de aplicaciones. Las aplicaciones pueden compilarse, probarse y desplegarse en varios lenguajes (Node.js, Python, Java, PHP, Ruby, C/C++, .NET, Android, iOS). Además, los equipos pueden desplegar software de forma continua en diferentes nubes, como Azure, Amazon Web Services (AWS), GCP (Google Cloud Platform). Además de Azure Pipelines, la suite incluye otros componentes, como servicios de pruebas (Azure Test Plans), servicios de repositorio (Azure Repos); servicios de compartición de código (Azure Artifacts), y servicios para planificar, probar y analizar el trabajo realizado entre equipos (Azure Boards). A través de un mercado de extensiones (Extensions for Azure DevOps), los usuarios pueden acceder a numerosas extensiones, apps y servicios, creados por la comunidad.

Empresa de marionetas (Puppet Enterprise)

Fabricante: Puppet

Ficha técnica de: Empresa de marionetas

Distribución: en las instalaciones

El software DevOps Puppet Enterprise se basa en proyectos de código abierto y, en comparación con este último, ofrece un conjunto completo de capacidades listas para usar para automatizar los procesos de entrega y las operaciones en las infraestructuras empresariales. Por ejemplo, incluye funciones de automatización de la configuración de la infraestructura que evitan la necesidad de scripts y operaciones manuales, y que abarcan los sistemas operativos, los dispositivos de red, el midware y las aplicaciones que pueden ejecutarse en las instalaciones, en contenedores o en la nube. No faltan la automatización del aprovisionamiento, la orquestación de aplicaciones, la gestión de tareas, la visualización y la elaboración de informes, la gestión del código, la administración de nodos físicos, virtuales y en la nube, y las funciones de control de acceso basado en funciones (RBAC) para que los equipos puedan trabajar de forma segura y conforme a las normas. Para algunos usuarios, la herramienta no es muy fácil de usar y, en algunos casos, hace que la migración entre la “edición comunitaria” y la “edición empresarial” sea muy difícil.

XebiaLabs XL Deploy

Fabricante: XebiaLabs

Ficha técnica de: XebiaLabs XL Deploy

Distribución: en las instalaciones

Diseñado para empresas que necesitan administrar entornos informáticos complejos, el software DevOps XL Deploy es ideal para todos aquellos equipos de desarrollo que necesitan desplegar un número cada vez mayor de aplicaciones en sistemas de destino diferentes y crecientes. La solución permite automatizar y estandarizar el despliegue de aplicaciones en diferentes entornos y con diferentes cadenas de herramientas. Puede acelerar la velocidad de despliegue de nuevas funcionalidades y ponerlas a disposición de los clientes con mayor rapidez, al tiempo que reduce significativamente los errores y disminuye el riesgo de implementaciones fallidas. Entre las principales ventajas, la empresa señala que XL Deploy es un excelente complemento de herramientas como Jenkins, Puppet, Chef, Ansible y Salt. Otras características destacables son la arquitectura sin agentes y la gestión avanzada de las funciones de seguridad de la empresa. Algunos usuarios informan de que, en comparación con otras herramientas de DevOps, el panel de control de ésta no siempre informa de forma fiable, y también informan de algunos problemas de estabilidad con algunos complementos.

@RESERVADOS TODOS LOS DERECHOS
F
Giorgio Fusari
Temas principales

Especificaciones

D
DevOps
P
programacion
S
software

Nota 1 de 2