Lista definitiva de herramientas DevOps

“Desarrollar sistema, no software”

DevOps es una de las palabras de moda más importantes en el mundo de la tecnología en los últimos tiempos, ya que ofrece una gran cantidad de beneficios a la organización para acortar su ciclo de vida de desarrollo de software.

¿Qué es DevOps?

No existe una definición única o una respuesta correcta para la pregunta «¿Qué es DevOps»?

DevOps no es una herramienta, tecnología ni ningún marco; es más una filosofía y un concepto. Es un conjunto de prácticas que combina el desarrollo de software (Dev) y las operaciones de TI (Ops), lo que ayuda a acortar el ciclo de vida del desarrollo de sistemas y proporciona integración y entrega continuas con alta calidad de software.

Si es un principiante, consulte esta publicación de introducción o tome este curso en línea: Docker para un principiante absoluto.

Beneficios de DevOps

  • Colaboración y comunicación mejoradas
  • Entrega más rápida de software o productos
  • Reducción continua de costos
  • proceso mejorado
  • Resolución de problemas más rápida

En el mundo DevOps, no existe una única herramienta mágica que se adapte a todas las necesidades. Se trata de elegir la herramienta adecuada que se adapte a las necesidades de una organización. Averigüemos sobre ellos.

Integración continua

Jenkins

Jenkins es una de las herramientas DevOps de código abierto más populares para admitir la integración y la entrega continuas a través de DevOps. Permite la integración continua y la entrega continua de proyectos, independientemente de la plataforma en la que trabajen los usuarios, con la ayuda de varios canales de desarrollo e implementación. Jenkins se puede integrar con varias herramientas de prueba e implementación.

Travis CI

Travis CI es una plataforma de integración continua distribuida alojada en la nube que se utiliza para crear y probar proyectos alojados en GitHub y Bitbucket. Se configura agregando un archivo YAML.

Se puede probar de forma gratuita para proyectos de código abierto y de pago para un proyecto privado.

Bambú

Bambú es uno de los productos populares desarrollados por Atlassian para admitir una integración continua perfecta. La mayor parte de la funcionalidad está preconstruida, lo que significa que no necesitamos descargar diferentes complementos como Jenkins. También admite una integración perfecta con otros productos de Atlassian como JIRA y Bitbucket.

hudson

Hudson es un software gratuito escrito en JAVA y se ejecuta en un contenedor de servlets como GlassFish y Apache Tomcat. Brinda la capacidad de activar su suite de automatización con cualquier cambio en el sistema de administración de fuente correspondiente como GIT, SVN, etc. También brinda soporte para todos los proyectos base de Maven y Java.

ciudadequipo

ciudadequipo es una integración continua basada en servidor y crea una herramienta de administración desarrollada por JetBrains. Tiene una interfaz de usuario (IU) simple y fácil de usar y proporciona información sobre el progreso de la compilación, profundización de la compilación e información histórica para todas las configuraciones y proyectos.

CírculoCI

CírculoCI está disponible en forma de soluciones basadas en la nube y en las instalaciones para una integración continua. Es fácil y rápido de iniciar y admite configuraciones YAML ligeras y fáciles de leer.

Hay más herramientas de IC que puede explorar aquí.

Planificación y colaboración

JIRA

JIRA es una de las herramientas de gestión de proyectos más populares desarrollada por Atlassian que se utiliza para el seguimiento de problemas, errores y proyectos. Permite al usuario realizar un seguimiento del proyecto y el estado de emisión. Se puede integrar fácilmente con otros productos de Atlassian como Bitbucket, además de otras herramientas de DevOps como Jenkins.

Flojo

Flojo es una herramienta de colaboración freemium basada en la nube que permite la comunicación y colaboración en equipo en un solo lugar. Esta herramienta también se puede utilizar para compartir documentos y otra información entre los miembros del equipo. Esto también se puede integrar fácilmente con otras herramientas como GIT, Jenkins, JIRA, etc.

Zoom

Zoom es una plataforma de conferencia web y pantalla compartida instantánea. Puede hacer que su equipo se una a través de audio o video.

No importa qué tan grande sea su equipo, Zoom tiene capacidad para hasta 1000 destinatarios en una reunión en línea.

aclarar

aclarar es un software colaborativo y de gestión de proyectos que ayuda en el seguimiento de problemas, la gestión de tareas y la gestión de carteras de proyectos. Es fácil de personalizar y tiene una interfaz de usuario interactiva fácil de usar.

ásana

ásana es una aplicación móvil y basada en la web diseñada para ayudar a los equipos a organizar, rastrear y administrar su trabajo de manera eficaz y eficiente. Se utiliza para realizar un seguimiento de las tareas diarias del equipo y respaldar la mensajería y la comunicación en toda la organización.

Gestión de código fuente

SVN

SVN es una herramienta centralizada de control de versiones y fuentes desarrollada por Apache. Ayuda a los desarrolladores a mantener diferentes versiones del código fuente y mantener un historial completo de todos los cambios.

Git

Git es un sistema de control de versiones distribuidas cuyo objetivo es la velocidad, la integridad de los datos y la compatibilidad con flujos de trabajo distribuidos no lineales. Aparte de la gestión del código fuente, también se puede utilizar para realizar un seguimiento de los cambios en cualquier conjunto de archivos.

Bitbucket

Bitbucket es una plataforma de alojamiento web desarrollada por Atlassian. Bitbucket también ofrece un sistema de revisión de código efectivo y realiza un seguimiento de cada cambio en el código. Se puede integrar fácilmente con otras herramientas DevOps como Jenkins, Bamboo.

GitHub

GitHub es una plataforma de alojamiento de código diseñada para el control de versiones y la colaboración. Ofrece toda la funcionalidad de control de versiones distribuidas y gestión de código fuente (SCM) de Git además de sus funciones.

Ofrece funciones de control de acceso y colaboración como seguimiento de errores, creación y solicitud de funciones, gestión de tareas, etc. para el proyecto.

Construir

Hormiga

hormiga apache es una herramienta de compilación e implementación de código abierto basada en Java. Es compatible con el formato de archivo XML. Tiene varias tareas integradas que nos permiten compilar, ensamblar, probar y ejecutar aplicaciones Java.

Experto

Experto es una herramienta de automatización de compilación utilizada principalmente para proyectos java. Contiene un archivo XML que describe el proyecto de software que se está construyendo, sus dependencias con otros componentes y módulos externos, la secuencia de construcción, los directorios y otros complementos necesarios.

Gruñido

Gruñido es una herramienta de línea de comandos de javascript que ayuda a crear aplicaciones y ayudar a los desarrolladores a automatizar tareas repetitivas como compilación, pruebas unitarias, linting de código y validación, etc. Es una buena alternativa para herramientas como Make o Ant.

gradle

gradle es un sistema de automatización de compilación de código abierto que se basa en los conceptos de Apache Maven y Apache Ant. Es compatible con el lenguaje de programación adecuado de Groovy en lugar del archivo de configuración XML. Ofrece soporte para compilaciones incrementales al determinar automáticamente qué partes de la compilación están actualizadas.

Gestión de la configuración

Marioneta

Marioneta es una herramienta de administración de configuración de código abierto que se utiliza para configurar, implementar y administrar numerosos servidores. Esta herramienta admite el concepto de infraestructura como código y está escrita en Ruby DSL. También es compatible con el escalado dinámico hacia arriba y hacia abajo de las máquinas según las necesidades.

Cocinero

Cocinero es una herramienta de administración de configuración de código abierto desarrollada por Opscode usando Ruby para administrar la infraestructura en máquinas virtuales o físicas. También ayuda a administrar infraestructuras complejas sobre la marcha en máquinas virtuales, físicas y en la nube.

Ansible

Ansible es una herramienta de código abierto de administración de configuración de TI, aprovisionamiento de software, orquestación e implementación de aplicaciones. Es una herramienta simple pero poderosa para automatizar aplicaciones de TI de múltiples niveles simples y complejas.

pila de sal

pila de sal es un software de código abierto escrito en python y utiliza el modelo push para ejecutar los comandos a través del protocolo SSH. Ofrece soporte tanto para escalado horizontal como vertical. Admite plantillas YAML para escribir cualquier script.

Terraformar

Terraformar es una herramienta de código abierto para construir, cambiar, implementar y versionar la infraestructura de manera segura y eficiente. Se utiliza para gestionar proveedores de servicios populares y existentes, así como soluciones internas personalizadas. Ayuda a definir la infraestructura en configuración/código y permitirá a un usuario reconstruir/cambiar y realizar un seguimiento de los cambios en la infraestructura de una manera fácil.

Vagabundo

Vagabundo es una de las herramientas populares para construir y administrar máquinas virtuales (VM). Tiene un flujo de trabajo fácil de usar y configurable que se enfoca en la automatización. Ayuda a reducir el tiempo de configuración del entorno de desarrollo, aumenta la paridad de producción.

Seguridad Continua

Snyk

Integrar Snyk en el ciclo de vida de desarrollo para encontrar y corregir vulnerabilidades de seguridad de código abierto, automáticamente. Es compatible con JS, .Net, PHP, NPM, jQuery, Python, Java, etc. y se puede integrar en la codificación, gestión de código, CI/CI, contenedor e implementación.

Snyk obtuvo la mayor base de datos de vulnerabilidades de código abierto.

Invicti

invitacióncti escanea automáticamente su aplicación en busca de fallas de seguridad y proporciona informes clasificados procesables para que pueda tomar medidas según la prioridad. Un escenario de seguridad de DevOps sería examinar el nuevo compromiso e informar el error directamente en el sistema de seguimiento como Jira o GitHub y volver a escanear una vez que el desarrollador lo corrija. Lo ve integrado en cada etapa de SDLC.

Pruebas

Selenio

Selenio es la herramienta de prueba de código abierto más popular. Admite la automatización de pruebas en varios navegadores y máquinas operativas. Se puede integrar fácilmente con herramientas de gestión de pruebas como ALM, JIRA y también con otras herramientas DevOps como Jenkins, Teamcity, Bamboo, etc.

JUnit

JUnit es un marco de prueba de unidad de código abierto utilizado por los desarrolladores para escribir y ejecutar casos de prueba repetibles. Admite diferentes anotaciones de prueba con las que cualquier desarrollador puede escribir un caso de prueba de unidad sin problemas. Se puede integrar fácilmente con otras herramientas DevOps como Jenkins, GIT, etc.

PruebaNG

PruebaNG es un marco de prueba de código abierto diseñado e inspirado por Junit y Nunit. Se puede integrar fácilmente con el controlador web de selenio para configurar y ejecutar scripts de prueba de automatización. También genera diferentes informes de prueba como HTML o XSLT.

Vigilancia

nagios

nagios es una herramienta de código abierto y una de las más populares para el monitoreo continuo. Nagios ayuda a monitorear sistemas, aplicaciones, servicios y procesos comerciales en una cultura DevOps. Alerta a los usuarios cuando algo sale mal con la infraestructura y también cuando el problema se ha resuelto.

sensual

sensual es una herramienta de monitoreo de código abierto escrita en Ruby que ayuda a monitorear servidores, servicios, aplicaciones e infraestructura en la nube de manera simple y efectiva. Es fácil de escalar para que podamos monitorear fácilmente miles de servidores.

perro de datos

perro de datos es una herramienta de métrica de servidor basada en agentes. Admite la integración con diferentes servidores web, aplicaciones y servidores en la nube. Su servicio de tablero proporciona varios gráficos sobre el monitoreo en tiempo real en toda la infraestructura.

ALCE

ALCE es una colección de tres productos de código abierto: Elasticsearch, Logstash y Kibana, todos desarrollados, administrados y mantenidos por la empresa Elastic. Permite a los usuarios tomar datos de cualquier fuente, en cualquier formato, y luego buscar, analizar y visualizar esos datos en tiempo real.

sematexto

sematexto es una solución de monitoreo de pila completa que le brinda una visibilidad profunda de su infraestructura de TI. Proporciona monitoreo de rendimiento de front-end y back-end, monitoreo de registros, monitoreo de rendimiento y tiempo de actividad de API y sitio web, monitoreo de experiencia de usuario y más.

Si bien viene con paneles listos para usar y reglas de alerta para aplicaciones e infraestructura populares, como bases de datos comunes y tiendas NoSQL, servidores en la nube, redes, contenedores, etc., puede personalizar fácilmente los paneles y las alertas para que se ajusten a sus necesidades de monitoreo. Sematext presenta potentes alertas con detección de anomalías, detección de latidos cardíacos fallidos, programación y numerosas integraciones para enviar notificaciones de alerta.

Grafana

Grafana es una plataforma de análisis de código abierto para monitorear todas las métricas de la infraestructura, las aplicaciones y los dispositivos de hardware. Puede visualizar los datos, crear y compartir un tablero, configurar alertas y colaborar. Puede extraer datos de más de 30 fuentes, incluidas Prometheus, InfluxDB, Elasticsearch, AWS CloudWatch, etc.

nueva reliquia

nueva reliquia es un producto de análisis de software para la supervisión del rendimiento de aplicaciones (APM) que proporciona datos de tendencias y en tiempo real sobre el rendimiento de las aplicaciones web y el nivel de satisfacción que experimentan los usuarios finales con ellas. Admite un seguimiento de transacciones de extremo a extremo y las muestra con una variedad de cuadros, gráficos e informes codificados por colores.

Alojamiento en la nube

AWS

AWS es una plataforma de alojamiento web creada por Amazon que ofrece soluciones flexibles, confiables, escalables, fáciles de usar, escalables y rentables. Al usar esta plataforma en la nube, no tenemos que preocuparnos por configurar la infraestructura de TI, que generalmente lleva una cantidad de tiempo razonable.

PCG

Nube de Google es un conjunto completo de servicios informáticos y de alojamiento en la nube pública que ofrece Google. Es compatible con una amplia gama de servicios informáticos, de almacenamiento y para el desarrollo de aplicaciones que utilizan el hardware de Google.

Azur

Azur es una plataforma de computación en la nube, diseñada por Microsoft para construir, implementar, probar y administrar aplicaciones y servicios a través de una red global de sus centros de datos. Los servicios proporcionados por Microsoft Azure tienen la forma de PaaS (Plataforma como servicio) e IaaS (Infraestructura como servicio).

Contenedorización/Orquestación

Estibador

Estibador es una herramienta para crear, implementar y ejecutar aplicaciones mediante el uso de contenedores. Este contenedor permite al desarrollador empaquetar una aplicación con todos los componentes y subcomponentes que necesita, como bibliotecas y otras dependencias, y enviarlo todo en un solo paquete. Este trabajo sobre el concepto de la nave y se ejecuta en cualquier lugar.

Kubernetes

Kubernetes es un sistema de orquestación de contenedores de código abierto diseñado originalmente por Google y ahora es mantenido por Cloud Native Computing Foundation. Se utiliza para automatizar la implementación, el escalado y la administración de aplicaciones. También funciona con otras herramientas de contenedores, incluido Docker.

Explore más herramientas de orquestación de contenedores aquí.

Conclusión

Espero que las herramientas mencionadas anteriormente lo ayuden con su viaje de DevOps.

¿Te gustó leer el artículo? ¿Qué tal compartir con el mundo?