¡Empiece a utilizar las mejores herramientas DevOps hoy!

La revolución DevOps finalmente se ha apoderado del mundo y las herramientas DevOps se han vuelto increíblemente populares. Según el servicio , el número de solicitudes de "herramientas DevOps" crece constantemente y esta tendencia continúa.
La metodología DevOps cubre todo el ciclo de vida del desarrollo de software, por lo que los profesionales pueden elegir entre una variedad de herramientas. Pero, como usted sabe, ninguna herramienta puede convertirse en una herramienta universal para todos. Sin embargo, algunas soluciones ofrecen una gama tan amplia de funciones que pueden realizar casi cualquier tarea.
Dividamos las herramientas DevOps en categorías y compárelas con sus contrapartes:
- herramientas de desarrollo y construcción
- herramientas de automatización de pruebas
- herramientas para organizar el despliegue
- Herramientas de tiempo de ejecución
- herramientas de colaboración.
Implementación exitosa y reflexiva Incluye instrumentos de los cinco grupos enumerados anteriormente. Analice el conjunto actual de herramientas de su proyecto para no perder un elemento importante del proceso de CI/CD.
Herramientas de desarrollo y construcción
Esta es la base de la pila de canalización de CI/CD. ¡Todo comienza aquí mismo! Las mejores herramientas de esta categoría pueden gestionar múltiples flujos de eventos e integrarse fácilmente con otros productos.
En esta etapa del ciclo de vida del desarrollo, existen tres grupos de herramientas:
- sistema de control de versiones (SCM)
- integración continua (CI)
- Gestión de datos
GIT ha tenido un historial positivo en 2020, por lo que su herramienta SCM debería tener soporte perfecto para GIT. Para CI, un requisito previo es la capacidad de ejecutar y ejecutar compilaciones en un entorno de contenedor aislado. Cuando se trata de gestión de datos, se requiere la capacidad de realizar cambios en el esquema de la base de datos y mantener la base de datos de acuerdo con la versión de la aplicación.
Herramienta SCM + CI n.° 1
Ganador: GitLab y GitLab-CI

La mejor herramienta del ciclo DevOps 2020 es sin duda GitLab, y definitivamente seguirá liderando la innovación en el futuro cercano.
La función principal de GitLab es proporcionar una gestión cómoda de un repositorio Git. La interfaz web es intuitiva y fácil de usar. GitLab proporciona todo lo que necesita en una versión gratuita y viene como SaaS y local (usando sus propios recursos para alojar el software).
Ninguna otra herramienta SCM ha utilizado la integración continua (CI) directamente en su repositorio, y GitLab lo ha estado haciendo durante mucho tiempo. Para usar GitLab-CI, debe agregar un archivo .gitlab-ci.yml a la raíz de su código fuente, y cualquier cambio en el proyecto activará acciones basadas exactamente en lo que especificó. GitLab y GitLab-CI son merecidamente reconocidos como líderes en el campo de la integración continua (CI-as-code).
Beneficios clave
- Fiabilidad: el producto está en el mercado desde 2013; estable; bien apoyado.
- Código abierto: la versión gratuita de GitLab no limita la funcionalidad principal que necesitan los equipos de desarrollo. Los paquetes de servicios pagos brindan funciones útiles adicionales para empresas de diferentes tamaños y necesidades.
- CI grabada: ninguna otra herramienta en el mercado ha creado una integración continua directamente en SCM como GitLab-CI. El uso de Docker garantiza compilaciones aisladas sin complicaciones y los informes integrados facilitan la depuración. No requerimos una integración y gestión compleja de múltiples herramientas al mismo tiempo.
- Integraciones ilimitadas: GitLab proporciona una fácil integración de todas las herramientas DevOps que necesita. Esto garantiza que los equipos de desarrollo y mantenimiento tengan una única fuente de información sobre su aplicación en cualquier entorno.
competidores
Participó en la batalla, pero no ganó.
Hay otras herramientas populares en esta categoría, pero no son tan buenas como GitLab. Y es por eso:
GitHub — Este es un excelente sistema de control de versiones SaaS para pequeñas empresas y etapas iniciales de desarrollo. Para las grandes empresas para las que es importante mantener las direcciones IP en su propia red, la única solución de GitHub fue la máquina virtual .OVA sin soporte para sistemas de alta disponibilidad. Esto dificulta el mantenimiento local; además, .OVA sólo es adecuado para empresas medianas, de lo contrario, el servidor simplemente colapsará bajo una carga mayor. La falta de GitHub Actions (hasta hace poco y aún no en una versión local) o CI como código significa que debe elegir una herramienta de CI separada y luego administrar esa integración. Finalmente, GitHub es mucho más caro que cualquiera de las versiones de GitLab.
Jenkins — Aunque Jenkins se considera el estándar entre las herramientas de integración continua por defecto, siempre ha carecido de capacidades de control de versiones. Resulta que estás usando Jenkins más algún tipo de herramienta SCM. Es demasiado difícil cuando GitLab puede hacer ambas cosas. El diseño mediocre de UX no es adecuado para una aplicación web moderna y deja mucho que desear.
BitBucket/Bambú — Debo reconocerlo como un perdedor automático: para qué dos herramientas cuando GitLab hace todo de forma completamente independiente. BitBucket Cloud admite la funcionalidad GitLab-CI/GitHub Action, pero ninguna empresa más grande que una startup puede implementarla fácilmente. ¡El servidor BitBucket local ni siquiera admite canalizaciones de BitBucket!
Herramienta de gestión de datos n.º 1
Ganador: FlywayDB

En el desarrollo de aplicaciones web, generalmente no se le da importancia a la automatización de bases de datos. La idea de implementar cambios en el esquema de la base de datos para nuevas versiones de la aplicación llega tarde. Los cambios de esquema a menudo resultan en la adición y cambio de nombre de columnas o tablas. Si la versión de la aplicación no coincide con la versión del esquema, la aplicación puede fallar. Además, administrar los cambios de la base de datos al actualizar una aplicación puede resultar un desafío ya que existen dos sistemas diferentes. FlyWayDB resuelve todos estos problemas.
Beneficios clave
- Control de versiones de bases de datos: Flyway le permite crear versiones de bases de datos, realizar un seguimiento de las migraciones de bases de datos y transferir o revertir fácilmente cambios de esquema sin una herramienta adicional para esto.
- Binario o Incrustado: podemos optar por ejecutar Flyway como parte de la aplicación o como un ejecutable binario. Flyway verifica la compatibilidad de las versiones al inicio e inicia las migraciones apropiadas, manteniendo sincronizadas las versiones de la base de datos y la aplicación. Al ejecutar el comando ad-hoc cmd line, brindamos flexibilidad a las bases de datos existentes sin reconstruir toda la aplicación.
competidores
Participó en la batalla, pero no ganó.
No hay muchas herramientas en esta área. Veamos algunos de ellos:
liquibase — Liquibase se parece a FlywayDB. Me gustaría configurarlo encima de Flyway si tuviera a alguien en mi equipo con más experiencia con Liquibase.
Flocker - Solo puede funcionar para aplicaciones en contenedores. Para ejecutar con éxito bases de datos en contenedores, todo debe planificarse perfectamente. Recomiendo usar RDS (Servicio de base de datos relacional) para bases de datos y no recomiendo almacenar información importante en un contenedor.
Herramientas de automatización de pruebas

Comencemos nuestra discusión sobre las herramientas de automatización de pruebas clasificándolas según la pirámide de pruebas.
La pirámide de pruebas (pruebas) tiene 4 niveles:
- Pruebas unitarias: esta es la base de todo el proceso de prueba automatizado. Debería haber más pruebas unitarias en comparación con otros tipos de pruebas. Los desarrolladores escriben y ejecutan pruebas unitarias para garantizar que una parte de una aplicación (conocida como "unidad") se ajuste a su diseño y se comporte como se espera.
- Pruebas de componentes: el objetivo principal de las pruebas de componentes es verificar el comportamiento de entrada/salida del objeto de prueba. Debemos asegurarnos de que la funcionalidad del objeto de prueba se implemente correctamente de acuerdo con la especificación.
- Pruebas de integración: un tipo de prueba en el que los módulos de software individuales se combinan y se prueban en grupo.
- Pruebas de un extremo a otro: este paso se explica por sí mismo. Supervisamos toda la aplicación y nos aseguramos de que funcione según lo previsto.
Dado que las pruebas unitarias y de componentes las realizan únicamente los desarrolladores y, a menudo, son específicas del lenguaje de programación, no evaluaremos estas herramientas para el dominio DevOps.
Herramienta de prueba de integración n.º 1
Ganador: Pepino

Cucumber combina especificaciones y documentación de prueba en un único documento vivo. Las especificaciones están siempre actualizadas, ya que Cucumber las prueba automáticamente. Si desea crear un marco de pruebas automatizado desde cero y modelar el comportamiento del usuario en una aplicación web, Selenium WebDriver con Java y Cucumber BDD es una excelente manera de aprender e implementar Cucumber en un proyecto.
Beneficios clave
- Enfoque BDD (Desarrollo impulsado por el comportamiento - "desarrollo a través del comportamiento" en contraposición al enfoque de "desarrollo impulsado por pruebas") - Cucumber está diseñado para pruebas BDD, fue creado originalmente para esta misma tarea.
- Documentación viva: ¡la documentación siempre es una molestia! Dado que sus pruebas están escritas como código, Cucumber prueba la documentación generada automáticamente para garantizar que las pruebas y la documentación estén sincronizadas.
- Soporte: podemos elegir entre muchas herramientas, pero Cucumber tiene los recursos financieros necesarios y un sistema de soporte bien organizado para ayudar a los usuarios en cualquier situación difícil.
competidores
Participó en la batalla, pero no ganó.
Entre otros marcos y herramientas tecnológicas específicas, solo Cucumber puede considerarse una solución universal.
Herramientas de prueba de un extremo a otro
Al realizar pruebas de un extremo a otro, debe centrarse en dos puntos clave:
- pruebas funcionales
- Pruebas de estrés.
En las pruebas funcionales comprobamos si realmente sucede todo lo que queremos. Por ejemplo, cuando hago clic en ciertos elementos de mi SPA (aplicación de una sola página), completo los formularios y selecciono "Enviar", los datos aparecen en la base de datos y aparece el mensaje "¡Éxito!" en la pantalla.
También es importante para nosotros verificar que una cierta cantidad de usuarios que ejecutan el mismo escenario puedan procesarse sin errores.
La ausencia de estos 2 tipos de pruebas será un inconveniente importante en su proceso de CI/CD.
Herramienta de prueba número uno de un extremo a otro. Pruebas funcionales
Ganador: SoapUI Pro

SoapUI ha estado en el espacio de pruebas de API durante mucho tiempo desde que los servicios web basados en SOAP eran el estándar. Si bien ya no creamos nuevos servicios SOAP y el nombre de la herramienta no ha cambiado, eso no significa que no haya evolucionado. SoapUI proporciona un marco excelente para crear pruebas funcionales de backend automatizadas. Las pruebas se pueden combinar fácilmente con herramientas de integración continua y utilizar como parte de un proceso de CI/CD.
Beneficios clave
- Documentación detallada: SoapUI ha estado en el mercado durante bastante tiempo, por lo que existen muchos recursos en línea que pueden ayudarlo a comprender cómo configurar pruebas.
- Facilidad de uso: aunque la herramienta admite múltiples protocolos para probar API, la presencia de SoapUI de una interfaz común para múltiples servicios facilita la redacción de pruebas.
competidores
Participó en la batalla, pero no ganó.
Selenio es otro gran instrumento en este grupo. Recomiendo usarlo si está creando y ejecutando una aplicación basada en Java. Sin embargo, si está creando una aplicación web completa con múltiples tecnologías, puede resultar difícil de manejar para componentes que no sean Java.
Herramienta de prueba número uno de un extremo a otro. Pruebas de estrés
Ganador: LoadRunner

Explicación: Cuando llega el momento de probar la carga de cada elemento de su aplicación, solo LoadRunner puede completar la tarea. Sí, es caro y difícil al principio, pero LoadRunner es la única herramienta que me da, como arquitecto técnico, total confianza en que el nuevo código funcionará en condiciones de carga extremas. Además, creo que es hora de que los equipos de desarrollo se hagan cargo de LoadRunner en lugar de los equipos de prueba.
Beneficios clave
- Documentación extensa: LoadRunner ha estado en el mercado durante bastante tiempo, por lo que hay muchos recursos en línea para ayudarlo a comprender cómo configurar pruebas de carga.
- Compatibilidad con protocolos: Load Runner admite todo, desde ODBC hasta AJAX, HTTPS y cualquier otro protocolo no trivial que su aplicación pueda usar. Intentamos no utilizar varias herramientas para las pruebas de carga, ya que esto sólo complica el proceso.
competidores
Participó en la batalla, pero no ganó.
Nuevamente, no existen muchas herramientas universales en esta área, por lo que la mejor solución es aquella que funcione en cualquier entorno con cualquier tecnología.
Herramientas de implementación

Las herramientas de implementación son probablemente el aspecto menos comprendido del desarrollo. Para un equipo de operaciones sin un conocimiento profundo del código y la funcionalidad de la aplicación, resulta difícil utilizar este tipo de herramientas. Para los desarrolladores, la gestión de la implementación es una nueva responsabilidad, por lo que aún no tienen suficiente experiencia trabajando con este tipo de herramientas.
En primer lugar, dividamos todas las herramientas de implementación en tres subcategorías:
- gestión de artefactos
- gestión de configuración
- desplegar.
Herramienta de gestión de artefactos n.º 1
Ganador: Nexus

El repositorio de artefactos Nexus admite casi todas las tecnologías principales, desde Java hasta NPM y Docker. Podemos utilizar esta herramienta para almacenar todos los artefactos que utilicemos. La proxy de administradores de paquetes remotos también acelera significativamente el proceso de compilación de CI, lo que hace que los paquetes sean más accesibles para la compilación. Otra ventaja es la capacidad de obtener una vista completa de todos los paquetes utilizados en varios proyectos de software, bloqueando paquetes de código abierto inseguros (pueden actuar como vector de ataque).
Beneficios clave
- Soporte técnico - Producto confiable; bien apoyado.
- Código abierto: la versión gratuita no limita la funcionalidad principal que necesitan los equipos de desarrollo.
Herramienta de gestión de configuración n.º 1
Ganador: Ansible
Ansible es líder por una sencilla razón: apátrida. Anteriormente, herramientas similares se centraban en la gestión del estado de configuración. Cuando se inicia, dicha herramienta, habiendo recibido la configuración deseada, intentará corregir la configuración actual de la aplicación. Y con el nuevo enfoque, sólo están presentes los componentes sin estado. Las nuevas versiones de código son artefactos que se implementan para reemplazar las existentes. Esto puede considerarse una especie de entorno efímero y de corto plazo.
Beneficios clave
- Sin estado: el Playbook se inicia desde la máquina de implementación y se ejecuta en los servidores de destino. No tengo que preocuparme por el estado del objeto remoto mediante el uso de una herramienta como Packer para crear objetos desplegables.
- Código abierto - Me gusta CentOSAnsible también cuenta con el respaldo de Red Hat, lo que ayuda a mantener la comunidad y garantiza módulos de alta calidad y fáciles de usar.
- Pruebas con Molecule (un marco de Ansible): dado que la gestión de la configuración es código, como todo lo demás, las pruebas son esenciales. El marco de prueba de roles Ansible de Molecule funciona a la perfección, lo que garantiza que la configuración sea de la misma calidad y siga el mismo proceso de CI/CD que el código de la aplicación.
- YAML: en comparación con otras herramientas, YAML es más fácil de entender. Dado que la gestión de la configuración suele ser un nuevo desafío para quienes implementan prácticas de DevOps, la simplicidad es su baza.
competidores
Participó en la batalla, pero no ganó.
Chef de OpsCode - Comencé mi carrera en DevOps como desarrollador de libros de cocina. Ruby y Chef son, por supuesto, muy queridos en mi corazón, pero simplemente no resuelven los problemas de las aplicaciones modernas sin estado y nativas de la nube. OpsCode Chef es una gran herramienta para aplicaciones más tradicionales, pero en este artículo nos centramos en el futuro.
Marioneta — Puppet nunca ha tenido muchos fans, especialmente en comparación con Chef y Ansible. Es excelente para aprovisionar y trabajar con hardware, pero carece de soporte moderno de administración de configuración para una aplicación web.
Herramienta de implementación n.° 1
Ganador: Terraform

Terraform resuelve el problema de describir su infraestructura como código, desde componentes de red hasta imágenes completas del servidor. Este producto ha recorrido un largo camino desde su lanzamiento inicial, con tantos complementos creados y una comunidad tan sólida que seguramente recibirá ayuda en cualquier escenario de implementación. La capacidad de admitir cualquier tipo de entorno (local, en la nube o en cualquier otro lugar) no tiene paralelo. Finalmente, la última versión proporciona muchas de las mismas funciones y clases lógicas en HCL que cualquier otro lenguaje de programación tradicional, lo que hace que Terraform sea fácil de entender para los desarrolladores de forma rápida y sencilla.
Beneficios clave
- Independiente del entorno: Terraform utiliza funciones que actúan como una interfaz entre su código Terraform, todas las API y la lógica interna para comunicarse con el proveedor de infraestructura. Esto significa que dominaré una sola herramienta y luego podré trabajar en cualquier lugar.
- Código abierto: ¡es difícil superar a las herramientas gratuitas! Apoyo comunitario al más alto nivel.
competidores
Participó en la batalla, pero no ganó.
Formación en la nube de AWS — Incluso si solo trabaja en el entorno de nube de AWS, es posible que su próximo trabajo utilice una herramienta diferente. Dedicar todo tu tiempo y energía a una sola plataforma es una decisión miope. Además, muchos servicios nuevos de AWS suelen estar disponibles como módulos Terraform antes de que estén disponibles en CloudFormation.
Herramientas de tiempo de ejecución

El objetivo final de cualquier proyecto de desarrollo es poner la aplicación en producción. En el mundo DevOps, queremos ser plenamente conscientes de todos los posibles problemas con nuestro entorno y también queremos minimizar la intervención manual. Elegir el conjunto adecuado de herramientas de ejecución es esencial para alcanzar el nirvana del desarrollo de aplicaciones.
Subcategorías de herramientas de tiempo de ejecución:
- X como servicio (XaaS)
- orquestación
- monitoreo
- Inicio sesión.
Herramienta X como servicio n.° 1
Ganador: Amazon Web Services

Amazon siempre ha sido líder en tecnologías de nube, pero no se detiene ahí: la variedad de nuevos servicios para desarrolladores es reveladora. Traiga cualquier tecnología y plantilla a AWS y estará construida y en funcionamiento. El coste de la herramienta es bastante razonable: compárelo con el montaje, gestión y mantenimiento de equipos en su propio centro de datos. La versión gratuita te permite experimentar y tomar la decisión correcta antes de gastar dinero.
Beneficios clave
- Prevalencia: si tiene experiencia en la creación de aplicaciones en AWS, puede trabajar en cualquier lugar. A las empresas les encanta AWS y las nuevas empresas también aprecian su bajo costo.
- La versión gratuita es un factor verdaderamente importante que distingue a AWS de sus pares. Déjame probar el servicio y ver cómo funciona antes de tomar una decisión de compra, no quiero gastar miles de dólares en algo innecesario. La versión gratuita siempre me basta para probar cualquier concepto.
competidores
Participó en la batalla, pero no ganó.
Azure “Azure ha recorrido un largo camino desde su primer lanzamiento y eso es digno de elogio. Sin embargo, el deseo de ser diferentes ha dado lugar a nombres extraños para los servicios, lo que muchas veces complica el trabajo. ¿Qué significa "almacenamiento de blobs"? Y aunque el código .NET funciona mejor en el ecosistema de Microsoft, es poco probable que utilice sólo .NET para cada componente de su aplicación.
Heroku — Nunca ejecutaría nada más que un proyecto personal en Heroku debido al bajo nivel de confiabilidad y transparencia, por lo que las empresas no deberían usarlo como plataforma. Heroku es excelente para demostrar algo en un blog, pero para uso práctico: "¡No, gracias!"
Herramienta de orquestación n.º 1
Ganador: OpenShift

Probablemente esté utilizando Docker u otros contenedores en su pila de aplicaciones. Las aplicaciones sin servidor son excelentes, pero es posible que no se adapten a todas las arquitecturas. Ejecutar contenedores sin una plataforma de orquestación simplemente no funcionará. Kubernetes Core (K8s) no tiene rival en términos de seguridad y herramientas. OpenShift es la única plataforma basada en Kubernetes que puede recopilar Source2Image, admite la implementación automatizada en pods y admite el seguimiento y la supervisión. OpenShift se puede ejecutar localmente, en la nube o localmente y en la nube al mismo tiempo.
Beneficios clave
- Seguridad incorporada: administrar la seguridad del K8 puede requerir un título avanzado. ¡Cada detalle debe ser cuidadosamente pensado y tenido en cuenta! Los mecanismos de seguridad integrados de forma predeterminada en OpenShift alivian la carga de los desarrolladores y proporcionan una plataforma más segura para las aplicaciones.
- Solución todo en uno: a diferencia de los K8 básicos, que no incluyen herramientas de equilibrio de carga de forma predeterminada, OpenShift lo tiene todo. Puedo usarlo para crear y alojar contenedores, ejecutar herramientas CI/CD, administrar procesos externos, administrar claves y mucho más. Aunque la interfaz gráfica de usuario aún está lejos de ser perfecta, el enfoque basado en API permite describir todo en un script. A diferencia de otras GUI para K8, OpenShift facilita mucho el aprendizaje de los conceptos básicos de Kubernetes. ¡Ni siquiera necesitas obtener un título!
competidores
Participó en la batalla, pero no ganó.
Enjambre Docker - Docker Swarm intentó simplificar los K8 eliminando muchas cosas. Es excelente para aplicaciones pequeñas, pero para aplicaciones empresariales simplemente no funciona. Además, soluciones como AWS ECS adoptan un enfoque similar pero facilitan el trabajo con otros servicios con los que también puedo interactuar (Lambda, IAM, etc.).
Herramienta de monitoreo n.° 1
Ganador: Nueva reliquia

Las primeras versiones de New Relic hicieron una cosa bien: la supervisión APM (Application Performance Monitoring). Ahora es una herramienta de monitoreo con todas las funciones que le permite monitorear el servidor, el contenedor, el rendimiento de la base de datos, el monitoreo de la experiencia del usuario final y, por supuesto, el monitoreo del rendimiento de las aplicaciones.
Beneficios clave
- Facilidad de uso: cuando trabajé como ingeniero de sistemas, utilicé muchas herramientas de monitoreo, pero nunca encontré una tan simple y fácil de usar como New Relic. Es SaaS, por lo que no es necesario que lo instale usted mismo.
- Visibilidad de un extremo a otro: otras herramientas intentan monitorear un elemento específico de su aplicación. Por ejemplo, una métrica de uso del procesador o tráfico de red, pero todo esto debe monitorearse de manera exhaustiva para que la aplicación funcione correctamente. New Relic le brinda la posibilidad de reunir todos sus datos para obtener una visión integral de lo que está sucediendo.
competidores
Participó en la batalla, pero no ganó.
Zabbix — Mi primer y favorito sistema de monitoreo, pero quedó en el pasado debido a la falta de desarrollo en las tecnologías de la nube y en el campo del monitoreo del rendimiento de las aplicaciones APM. Zabbix todavía realiza bien el monitoreo tradicional de la infraestructura del servidor, pero eso es todo.
DataDog — Demasiado centrado en el proceso de gestión del entorno de producción de la aplicación y no en el código en sí. Con equipos de DevOps que involucran a desarrolladores, no tenemos que depender de herramientas difíciles de usar para brindar soporte de primer nivel.
Herramienta de registro n.° 1
Ganador: Splunk

¡Es difícil competir con Splunk! Durante mucho tiempo sigue siendo el líder en el sector maderero y continúa haciéndolo mejor que nadie. Con ofertas locales y SaaS, puede utilizar Splunk en cualquier lugar. La gran desventaja es su precio: ¡Splunk sigue siendo muy caro!
Beneficios clave
- Generalización: las empresas adoran Splunk y tienen el dinero para comprarlo.
- Aunque las startups intentan recuperar costes, muchas funciones se pueden resolver gracias a análogos de código abierto.
- Mantenibilidad: en pocas palabras, Splunk funciona y lo hace bien. Viene con muchas configuraciones y funciones predeterminadas listas para usar. No es necesario perder el tiempo leyendo documentación e intentando que Splunk funcione o descifre nada.
competidores
Participó en la batalla, pero no ganó.
Pila ELK (ElasticSearch, LogStash y Kibana) "Estas herramientas parecen ser las favoritas porque ni siquiera tienes que vender tu hígado para usarlas". Sin embargo, a medida que crece el conjunto de registros y aumenta el número de aplicaciones a bordo, el trabajo se vuelve cada vez más difícil. En comparación con Splunk, con ELK Stack dediqué mucho más tiempo que nunca a configurar las herramientas antes de crear cualquier panel.
Herramientas de colaboración

DevOps se trata principalmente de cambiar la cultura dentro de una organización. Comprar cualquier herramienta no cambiará las prácticas actuales de la noche a la mañana, pero ciertamente puede fomentar la colaboración y nuevas formas de interactuar.
Subcategorías de herramientas de colaboración:
- seguimiento de tareas
- Operaciones de chat
- documentación.
Herramienta de seguimiento de problemas n.º 1
Ganador: Jira,

Jira mantiene su posición de liderazgo, aunque la competencia en este ámbito está aumentando. La increíble flexibilidad de Jira permite a los equipos de desarrollo y mantenimiento gestionar el trabajo de proyectos y las tareas de sprint. Los estándares integrados que utilizan terminología ágil facilitan la transición de formas tradicionales de trabajo a procesos más eficientes.
Beneficios clave
- Popularidad: como muchas otras herramientas, Jira se utiliza en casi todas partes. Los equipos pequeños utilizan la versión más barata y accesible y obtienen todo lo que necesitan, mientras que las empresas más grandes pueden permitirse una licencia más cara.
- Integraciones: Jira es pionero en su campo. Este hecho y el rápido desarrollo del producto lleva a que otras empresas elijan Jira para crear sus propias integraciones, aumentando así el valor de la herramienta. Podemos integrar Jira con todas las herramientas enumeradas en este artículo de forma inmediata con una pequeña configuración.
competidores
Participó en la batalla, pero no ganó.
Trello — Trello rápidamente ganó popularidad gracias a su herramienta Kanban gratuita. Sin embargo, una vez que los procesos escalan y se pasa de docenas de tareas a miles, Trello se vuelve difícil de navegar, buscar e informar.
Pivotal Tracker — Yo era un gran admirador de esta herramienta cuando trabajaba para una startup. Sin embargo, Pivotal Tracker se centra más en la gestión de productos que en tareas técnicas. Aunque la gestión de productos en Jira es un poco más compleja, aún se puede implementar allí sin necesidad de utilizar una herramienta adicional.
Herramienta ChatOps n.º 1
Ganador: Importa más

Explicación: Quizás la mayor sorpresa para ti en mi selección, ¡y eso es una buena noticia! MatterMost ganó popularidad al tomar lo mejor de herramientas anteriores pero colocándolas localmente. Esto es muy importante para las empresas: MatterMost te permite controlar tus datos y también te ayuda a integrarlos con herramientas que se ejecutan localmente. Ya no necesitamos salir del firewall para consultar los chats de trabajo.
Beneficios clave
- Código abierto: la versión de código abierto de MatterMost funciona muy bien para equipos medianos y grandes. A diferencia del plan gratuito de Slack, que elimina tu historial de mensajes, ejecutar tu propio servidor significa que conservas todos tus datos.
- Integraciones: dado que la API se basa casi al 100% en la API de Slack, casi todas las integraciones de Slack se pueden usar directamente con MatterMost.
competidores
Participó en la batalla, pero no ganó.
Flojo — Slack es genial, pero estos chicos han crecido tanto que empezaron a buscar ganancias. Se acerca la fase de recuperación de la inversión del negocio, lo que les quita su principal valor: Slack proporcionaba servicios de forma gratuita; La desventaja más importante de la versión gratuita es la eliminación del historial de chat.
Microsoft Teams — Intente integrar un producto de Microsoft con algo que no sea propiedad de Microsoft... ¡Buena suerte! ¡Eso es todo lo que tengo que decir sobre esta herramienta!
Herramienta de documentación n.° 1
Ganador: Confluencia

Crear y mantener documentación técnica de calidad es un proceso complejo, sin importar qué herramienta utilice. Aunque recientemente han aparecido en el mercado muchas herramientas de documentación SaaS, me resultaría difícil subcontratar el almacenamiento de documentación técnica sobre aplicaciones de misión crítica a un tercero. Es preferible almacenar datos y documentos on-premise, y así lo soluciona Confluence.
Beneficios clave
- Fácil de operar: la mayoría de las herramientas independientes pueden ser un poco complejas de configurar y operar y requieren ciertos conocimientos para su mantenimiento. Confluence Server funciona muy bien desde el primer momento para 10 o 10,000 usuarios.
- Complementos: Felicitaciones a Confluence por tener una navegación hermosa y fácil de usar lista para usar, y la capacidad de agregar un complemento para casi todo desbloquea el potencial similar a Wiki.
competidores
Participó en la batalla, pero no ganó.
Leer los documentos — Genial para el código abierto, pero ni se te ocurra almacenar conocimientos críticos aquí.
Reducción - Excelente para documentar código, pero es difícil publicar arquitectura, procesos u otros tipos de documentación debido al formato específico de MarkDown.
Jekyll — Al documentar conocimientos técnicos, no quiero crear un nuevo sitio estático que se implementará cada vez que haya un cambio. El sencillo sistema de control de versiones de Confluence simplifica enormemente la documentación interna.
para resumir
Hay literalmente cientos de herramientas DevOps en el mercado, lo que dificulta saber cuáles usar y cuándo implementarlas. Siga esta sencilla guía para elegir herramientas DevOps para un proceso de CI/CD completo.
Asegúrese de seleccionar herramientas de las cinco categorías:
- herramientas de desarrollo y construcción
- herramientas de automatización de pruebas
- herramientas de implementación
- Herramientas de tiempo de ejecución
- herramientas de colaboración.
Recomendación principal: ¡Automatiza todo!
¡Gracias Zach Shapiro!
Fuente: habr.com
