Herramientas de DevOps que todos deberían aprender en 2020

¡Empiece a aplicar las mejores herramientas de DevOps hoy mismo!





La revolución de DevOps finalmente se ha apoderado del mundo y las herramientas de DevOps se han vuelto increíblemente populares. Según Google Trends , el número de solicitudes de "herramientas DevOps" crece constantemente y esta tendencia continúa.



La metodología DevOps abarca todo el ciclo de vida del desarrollo de software, por lo que los expertos pueden elegir entre una variedad de herramientas. Pero, como saben, ninguna herramienta puede convertirse en una herramienta universal para todos. Sin embargo, algunas soluciones ofrecen una gama tan amplia de funciones que pueden manejar casi cualquier tarea.



Dividamos las herramientas de DevOps en categorías y comparémoslas con sus análogos:



  • herramientas de desarrollo y construcción
  • herramientas de automatización de pruebas
  • herramientas para organizar la implementación
  • Herramientas en tiempo de ejecución
  • herramientas de colaboración.


La implementación exitosa e inteligente de DevOps incluye herramientas de los cinco grupos enumerados anteriormente. Analice el conjunto actual de herramientas en su proyecto para no perderse un elemento importante de la canalización de CI / CD.



Herramientas de desarrollo y construcción





Este es el núcleo de la pila de canalización de CI / CD. ¡Todo empieza aquí! Las mejores herramientas en esta categoría pueden administrar múltiples flujos de eventos e integrarse fácilmente con otros productos.



En esta etapa del ciclo de vida del desarrollo, hay tres grupos de herramientas:



  • sistema de control de versiones (SCM)
  • integración continua (CI)
  • gestión de datos


En 2020, GIT solo se ha probado en el lado positivo, por lo que su herramienta SCM debería tener un soporte GIT impecable. Para CI, un requisito previo es la capacidad de ejecutar y ejecutar ensamblados en un entorno de contenedor aislado. Con respecto a la 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 # 1



Ganador: GitLab y GitLab-CI





La mejor herramienta en el ciclo DevOps 2020 es sin duda GitLab, y definitivamente seguirá siendo un líder en innovación en el futuro cercano.



La función principal de GitLab es proporcionar una administración cómoda del repositorio de Git. La interfaz web es intuitiva y fácil de usar. GitLab proporciona todo lo que necesita en una versión gratuita y viene tanto en SaaS como en las instalaciones (utilizando 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 el archivo .gitlab-ci.yml a la raíz de su código fuente, y cualquier cambio en el proyecto desencadenará acciones basadas en lo que especifique. 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 ha estado en el mercado desde 2013; estable; bien conservado.
  • Código abierto: la versión gratuita de GitLab no restringe la funcionalidad básica que necesitan los equipos de desarrollo. Los paquetes de servicios de pago proporcionan funciones útiles adicionales para empresas de diferentes tamaños y necesidades.
  • CI grabada: ninguna otra herramienta en el mercado ha construido una integración continua directamente en SCM como GitLab-CI. El uso de Docker proporciona una compilación en espacio aislado sin problemas, y los informes integrados facilitan la depuración (depuración). No necesitamos una integración y gestión complejas de varias herramientas al mismo tiempo.
  • Integraciones ilimitadas: GitLab proporciona una fácil integración de todas las herramientas de DevOps que necesita. Esto permite que los equipos de desarrollo y mantenimiento utilicen una única fuente de información sobre su aplicación en cualquier entorno.


Los competidores



pelearon, pero no ganaron



Hay otras herramientas populares en esta categoría, pero no son tan buenas como GitLab. He aquí por qué:



GitHub“Es un excelente sistema de control de versiones SaaS para pequeñas empresas y etapas iniciales de desarrollo. Para las grandes empresas que necesitan mantener direcciones IP en su propia red, la única solución de GitHub es la máquina virtual .OVA sin soporte de alta disponibilidad. Esto dificulta el mantenimiento en las instalaciones, además, .OVA solo es adecuado para empresas medianas, de lo contrario, el servidor simplemente se bloqueará bajo una carga pesada. La falta de acciones de GitHub (hasta hace poco y todavía no en las instalaciones) o CI como código significa que debe seleccionar una herramienta de CI separada y luego administrar esta integración. Finalmente, GitHub es mucho más caro que cualquiera de las versiones de GitLab.



Jenkins- Si bien Jenkins se considera el estándar entre las herramientas de integración continua de forma predeterminada, siempre ha carecido de capacidades de control de versiones. Resulta que está utilizando 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 bueno para una aplicación web moderna y deja mucho que desear.



BitBucket / Bamboo : tengo que admitir que es un perdedor automático: ¿por qué dos herramientas cuando GitLab hace todo por sí solo? BitBucket Cloud es compatible con GitLab-CI / GitHub Action, pero ninguna empresa más grande que una startup puede implementarlo fácilmente. ¡El servidor BitBucket local ni siquiera es compatible con las canalizaciones de BitBucket!



Herramienta de gestión de datos n. ° 1



Ganador: FlywayDB





En el desarrollo de aplicaciones web, generalmente se pasa por alto la automatización de bases de datos. La idea de implementar cambios en el esquema de la base de datos para las nuevas versiones de la aplicación viene con un retraso. Los cambios de esquema a menudo dan como resultado la adición y el 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, organizar los cambios en la base de datos al actualizar una aplicación puede ser un desafío ya que hay dos sistemas diferentes. FlyWayDB resuelve todos estos problemas.



Beneficios clave



  • Control de versiones de la base de datos: Flyway le permite crear versiones de la base de datos, realizar un seguimiento de las migraciones de la base de datos, migrar o revertir fácilmente los cambios de esquema sin herramientas adicionales para esto.
  • — : Flyway . Flyway , . cmd line ad-hoc, .


Competidores



Participaron en la batalla pero no ganaron



No hay muchas herramientas en esta área. Echemos un vistazo a algunos de ellos:



LiquiBase : Liquibase se parece a FlywayDB. Me gustaría configurarlo sobre Flyway si hubiera un especialista en mi equipo con más experiencia con Liquibase.



Flocker : solo puede funcionar para aplicaciones en contenedores. Todo debe estar perfectamente planificado para el lanzamiento exitoso de bases de datos en contenedores. Recomiendo usar RDS (Relational Database Service) para bases de datos y no recomiendo almacenar información confidencial 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:



  • - — . - . -, , ( «») .
  • — — / . , .
  • — , .
  • — . , , .


Dado que las pruebas unitarias y las pruebas de componentes solo las realizan los desarrolladores y, a menudo, dependen del idioma, no evaluaremos estas herramientas para el dominio DevOps.



# 1 herramienta de prueba de integración



Ganador: Pepino





Cucumber combina especificaciones y documentación de prueba en un solo documento vivo. Las especificaciones están siempre actualizadas, ya que Cucumber las prueba automáticamente. Si desea crear un marco de prueba automatizado desde cero y simular 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



  • BDD- (Behavior Driven Development — “ ” “ ”) — Cucumber BDD-, .
  • — — ! , Cucumber , , .
  • — , Cucumber , .


Competidores



Participaron en la batalla, pero no ganaron



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, hay dos puntos clave en los que centrarse:



  • prueba funcional
  • Pruebas de estrés.


En las pruebas funcionales, comprobamos si lo que queremos realmente está sucediendo. Por ejemplo, cuando hago clic en ciertos elementos de mi SPA (Solicitud de página única), completo los formularios y selecciono "Enviar", los datos aparecen en la base de datos y el mensaje "¡Éxito!"



También es importante para nosotros comprobar que un cierto número de usuarios que trabajan en el mismo escenario se pueden manejar sin errores.



La ausencia de estos 2 tipos de pruebas será un inconveniente significativo en su canalización de CI / CD.



Herramienta de prueba de extremo a extremo n. ° 1. Pruebas funcionales



Ganador: SoapUI Pro





SoapUI ha estado en el área de pruebas de API durante mucho tiempo desde que los servicios web basados ​​en SOAP eran el estándar. Aunque ya no estamos creando nuevos servicios SOAP y el nombre de la herramienta no ha cambiado, esto no significa que no haya evolucionado. SoapUI proporciona un marco excelente para crear pruebas de backend funcionales automatizadas. Las pruebas se pueden combinar fácilmente con herramientas de integración continua y usarse como parte de la canalización de CI / CD.



Beneficios clave



  • Documentación detallada: SoapUI ha estado en el mercado durante mucho tiempo, por lo que se han creado muchos recursos en línea para ayudarlo a comprender cómo configurar las pruebas.
  • Facilidad de uso: aunque la herramienta admite múltiples protocolos para probar API, SoapUI tiene una interfaz común para múltiples servicios, lo que facilita la escritura de pruebas.


Los competidores



lucharon, pero no vencieron a



Selenium , otra gran herramienta 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 varias tecnologías, puede resultar engorroso para los componentes que no son de Java.



Herramienta de prueba de extremo a extremo # 1. Pruebas de estrés



Ganador: LoadRunner





Explicación: Cuando llega el momento de realizar una prueba de carga de cada elemento de la aplicación, solo LoadRunner puede realizar esta tarea. Sí, es un poco 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á bajo un estrés extremo. Además, creo que es hora de poner LoadRunner a cargo del equipo de desarrollo, no del equipo de pruebas.



Beneficios clave



  • Documentación extensa: LoadRunner ha estado en el mercado durante mucho tiempo, por lo que se han creado muchos recursos en línea para ayudarlo a comprender cómo configurar las pruebas de carga.
  • Compatibilidad con protocolos: Load Runner admite 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 solo complica el proceso.


Los competidores



participaron en el Scramble, pero no volvieron a ganar



, no hay 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 entendido del desarrollo. Es difícil para un equipo de operaciones utilizar estas herramientas sin un conocimiento profundo del código y la funcionalidad de la aplicación. Para los desarrolladores, administrar la implementación es una nueva responsabilidad, por lo que aún no tienen suficiente experiencia con dichas herramientas.



En primer lugar, dividamos todas las herramientas de implementación en tres subcategorías:



  • gestión de artefactos
  • gestión de la configuración
  • desplegar.


Herramienta de gestión de artefactos n. ° 1



Ganador: Nexus





Nexus Artifact Repository es compatible con casi todas las tecnologías principales, desde Java hasta NPM y Docker. Podemos utilizar esta herramienta para almacenar todos los artefactos usados. El uso de administradores de paquetes remotos también acelera drásticamente el proceso de creación de CI al hacer que los paquetes estén más disponibles para su creación. Otra ventaja es la capacidad de obtener una imagen completa de todos los paquetes utilizados en varios proyectos de software al bloquear los paquetes de código abierto que no son seguros (pueden actuar como un vector de ataque).



Beneficios clave



  • Soporte técnico - Producto confiable; bien conservado.
  • 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 el líder por una simple razón: apátrida. Anteriormente, estas herramientas se centraban en la gestión del estado de configuración. Cuando se inicie, dicha herramienta, habiendo recibido la configuración deseada, intentará corregir la configuración actual de la aplicación. Y con el nuevo enfoque, solo están presentes los componentes sin estado. Las nuevas versiones del 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



  • Stateless: Playbook se inicia desde la máquina de implementación y se ejecuta en los servidores de destino. No me preocupa el estado del objeto remoto al usar una herramienta como Packer para crear objetos desplegables.
  • — CentOS, Ansible RedHat. , .
  • Molecule ( Ansible) — — , , . Molecule Ansible , , CI/CD-, .
  • YAML — , YAML . , , , DevOps-, — .


Los competidores lucharon



pero no ganaron a



OpsCode Chef : comencé mi carrera en DevOps como desarrollador de libros de cocina. Ruby y Chef son, por supuesto, muy queridos para mi corazón, pero simplemente no resuelven los problemas de las aplicaciones modernas sin estado y basadas en la nube. OpsCode Chef es una gran herramienta para aplicaciones más tradicionales, y en este artículo nos enfocamos en el futuro.



Puppet : Puppet nunca ha tenido muchos fanáticos, especialmente en comparación con Chef y Ansible. Es excelente para aprovisionar y trabajar con hardware, pero carece de soporte de administración de configuración moderna para una aplicación web.



Implementar la herramienta n. ° 1



Ganador: Terraform





Terraform resuelve el problema de describir su infraestructura como código: desde componentes de red hasta imágenes de servidor completas. Este producto ha recorrido un largo camino desde su primer lanzamiento, con una gran cantidad de complementos y una comunidad tan sólida que definitivamente lo ayudará con cualquier escenario de implementación. La capacidad de admitir cualquier tipo de entorno (local, en la nube o en otro lugar) es incomparable. Finalmente, la última versión proporciona la mayoría de las mismas funciones lógicas y clases en el HCL que cualquier otro lenguaje de programación tradicional: los desarrolladores son rápidos de comprender y pueden dominar Terraform con facilidad.



Beneficios clave



  • Independiente del entorno: Terraform utiliza funciones que sirven como interfaz entre su código Terraform, todas las API y la lógica interna para comunicarse con el proveedor de infraestructura. Esto significa que aprenderé solo una herramienta y luego podré trabajar en cualquier lugar.
  • Código abierto: ¡herramientas gratuitas difíciles de superar! Apoyo comunitario al más alto nivel.


Competidores



Participaron en el scrum, pero no superaron a



AWS CloudFormation : incluso si solo trabaja en la nube de AWS, su próximo trabajo puede tener una herramienta diferente. Dedicar todo su 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 de Terraform antes de que estén disponibles en CloudFormation.



Herramientas en tiempo de ejecución







El objetivo final de cualquier proyecto de desarrollo es lanzar la aplicación a producción. En el mundo de DevOps, queremos estar completamente informados sobre todos los posibles problemas con nuestro entorno y también queremos minimizar la intervención manual. Elegir el conjunto adecuado de herramientas en tiempo de ejecución es fundamental para lograr el nirvana al desarrollar su aplicación.



Subcategorías de herramientas en tiempo de ejecución:



  • X-as-a-service (XaaS)
  • orquestación
  • vigilancia
  • Inicio sesión.


Herramienta X-as-a-Service # 1



Ganador: Amazon Web Services





Amazon siempre ha sido líder en computación en la nube, pero no se detiene ahí: la variedad de nuevos servicios para desarrolladores deslumbra. Transfiera cualquier tecnología y plantilla a AWS y se creará y lanzará. El costo de la herramienta es bastante razonable: compárelo con ensamblar, administrar y mantener equipos en su propio centro de datos. La versión gratuita le 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. Las empresas aman AWS y las nuevas empresas también aprecian su bajo costo.
  • — , AWS . , , , - . .


Los competidores



lucharon, pero no vencieron a



Azure : Azure ha recorrido un largo camino desde su primer lanzamiento, y eso es encomiable. Sin embargo, el deseo de diferenciarse de los compañeros ha dado lugar a nombres extraños para los servicios, lo que a menudo 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 solo use .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 ideal para demostrar algo en un blog, pero para un uso práctico: "¡No, gracias!".



Instrumento 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 un marco de orquestación simplemente no funcionará. El núcleo de Kubernetes (K8s) no tiene rival en términos de seguridad e instrumentación. OpenShift es la única plataforma basada en Kubernetes que puede crear Source2Image, admitir la automatización de la implementación de pod y 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



  • — K8s . ! , OpenShift, .
  • « » — K8s, , OpenShift . , CI/CD, , . - , , API, , . K8s, OpenShift Kubernetes. !


Los competidores lucharon,



pero no derrotaron a



Docker Swarm : Docker Swarm intentó simplificar los K8 deshaciéndose de muchas cosas. Es ideal para aplicaciones pequeñas, pero simplemente no funciona para aplicaciones empresariales. 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 seguimiento n. ° 1



Ganador: New Relic





Las primeras versiones de New Relic hicieron una cosa bien: Application Performance Monitoring (APM). Ahora es una herramienta de supervisión con todas las funciones para supervisar el rendimiento del servidor, el contenedor, la base de datos, la supervisión de la experiencia del usuario final y, por supuesto, la supervisión del rendimiento de la aplicación.



Beneficios clave



  • Facilidad de uso: cuando era ingeniero de sistemas, usaba muchas herramientas de monitoreo, pero nunca encontré algo tan simple y fácil de usar como New Relic. Es SaaS, por lo que no es necesario que lo instale por su cuenta.
  • — . , , , . New Relic , .


Los competidores



participaron en la batalla, pero no ganaron



Zabbix - Mi primer y favorito sistema de monitoreo, pero se ha mantenido en el pasado debido a la falta de desarrollo en tecnologías en la nube y en el campo del monitoreo del desempeño de las aplicaciones APM. Zabbix todavía funciona bien con la supervisión de la infraestructura de servidor tradicional, 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 los equipos de DevOps que involucran a desarrolladores, no tenemos que depender de herramientas complejas para brindar un soporte de primer nivel.



Herramienta de registro n. ° 1



Ganador: Splunk





¡Splunk es difícil de competir! Durante mucho tiempo, sigue siendo el líder en la tala, y continúa haciéndolo mejor. Con las ofertas locales y SaaS, puede usar Splunk en cualquier lugar. El mayor inconveniente es su precio: ¡Splunk sigue siendo bastante caro!



Beneficios clave



  • Prevalencia: a las empresas les encanta Splunk y tienen el dinero para comprarlo.
  • Aunque las nuevas empresas están tratando de recuperar los costos, muchas características se pueden resolver gracias a sus contrapartes de código abierto.
  • Capacidad de mantenimiento: en pocas palabras, Splunk funciona y lo hace bien. Viene con muchos valores predeterminados y funciones listas para usar. No es necesario perder tiempo leyendo la documentación e intentando que Splunk funcione o descifrar algo.


Los competidores lucharon



pero no vencieron a



ELK Stack (ElasticSearch, LogStash y Kibana) : estas herramientas parecen favoritas, ya que ni siquiera tienes que vender hígado para usarlas. Sin embargo, con el crecimiento del conjunto de registros y el aumento del número de aplicaciones a bordo, el trabajo se vuelve más difícil. En comparación con Splunk, con ELK Stack, he pasado mucho más tiempo configurando el kit de herramientas antes de crear cualquier tablero que nunca.



Herramientas de colaboración





DevOps trata principalmente sobre el cambio de cultura dentro de una organización. La compra de cualquier herramienta no cambiará las prácticas habituales 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
  • ChatOps
  • documentación.


Seguimiento de problemas n. ° 1



Ganador: Jira





Jira mantiene una posición de liderazgo, aunque la competencia en esta área está aumentando. La increíble flexibilidad de Jira permite a los equipos de desarrollo y mantenimiento gestionar el trabajo del proyecto y las tareas de sprint. Los estándares integrados que utilizan terminología ágil facilitan el paso de las formas tradicionales de trabajo a procesos más eficientes.



Beneficios clave



  • Popularidad: como muchas otras herramientas, Jira se usa en casi todas partes. Los equipos pequeños utilizan una versión más económica y asequible y obtienen todo lo que necesitan, mientras que las grandes empresas pueden permitirse una licencia superior.
  • — Jira — . , Jira , , . Jira , , .


Los competidores



tuvieron que patear pero no



derrotaron a Trello : Trello ganó popularidad rápidamente gracias a su herramienta Kanban gratuita. Sin embargo, una vez que los procesos escalan y pasa de docenas de tareas a miles, Trello es difícil de navegar, buscar e informar.



Pivotal Tracker : 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 las tareas técnicas. Aunque administrar un producto en Jira es un poco más complejo, aún se puede implementar allí sin usar una herramienta adicional.



Herramienta ChatOps n. ° 1



Ganador: MatterMost





Explicación: Quizás la mayor sorpresa para ti en mi colección, ¡y esta es una gran noticia! MatterMost ganó popularidad al tomar lo mejor de instrumentos anteriores, pero los incluyó en las instalaciones. Esto es muy importante para las empresas: MatterMost le permite controlar los datos y también ayuda a integrarlos con herramientas que funcionan en las instalaciones. Ya no necesitamos salir del firewall para revisar 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 guardas todos tus datos.
  • Integraciones: dado que la API se basa casi en un 100% en la API de Slack, casi todas las integraciones de Slack se pueden usar directamente con MatterMost.


Los competidores



participaron en la batalla, pero no vencieron a



Slack . Slack es genial, pero estos muchachos han crecido tanto que comenzaron a buscar ganancias. Se acerca la fase de recuperación de la inversión, lo que les quita su principal valor: Slack proporcionó servicios de forma gratuita; el inconveniente más importante de la versión gratuita es eliminar el historial de chat.



Microsoft Teams : intente integrar un producto de Microsoft con algo que no sea Microsoft ... ¡Buena suerte! ¡Eso es todo lo que quiero decir sobre esta herramienta!



Herramienta de documentación n. ° 1



Ganador: Confluence





Crear y mantener documentación técnica de calidad es un proceso complejo independientemente de la herramienta que utilice. Aunque últimamente ha habido muchas herramientas de documentación SaaS en el mercado, me resultaría difícil subcontratar el almacenamiento de documentación técnica para aplicaciones críticas a terceros. El almacenamiento de datos y documentos es preferible a local, y así es como Confluence lo resuelve.



Beneficios clave



  • Facilidad de operación: la mayoría de las herramientas independientes pueden ser un poco difíciles de configurar y operar y requieren cierto conocimiento para su mantenimiento. Confluence Server funciona muy bien desde el primer momento para 10 o 10,000 usuarios.
  • Complementos: gracias a Confluence por tener una navegación agradable y fácil desde el primer momento, y poder agregar un complemento para casi cualquier cosa abre el potencial como Wiki.


Los competidores



pelearon, pero no ganaron



Lea la documentación : genial para el código abierto, pero ni siquiera piense en almacenar conocimientos críticos aquí.



MarkDown : excelente para documentar código, pero es difícil alojar arquitectura, procesos u otros tipos de documentación aquí debido al formato específico de MarkDown.



Jekyll : al documentar el conocimiento técnico, no quiero crear un nuevo sitio estático que se desarrollará con cada cambio. El sencillo sistema de control de versiones de Confluence simplifica enormemente la documentación interna.



Resumamos



Hay literalmente cientos de herramientas DevOps en el mercado, lo que dificulta saber cuáles deben usarse y cuándo deben implementarse. Siga esta sencilla guía para elegir las herramientas de DevOps para una canalización completa de CI / CD.



No olvide elegir herramientas de las cinco categorías:



  • herramientas de desarrollo y construcción
  • herramientas de automatización de pruebas
  • herramientas de implementación
  • Herramientas en tiempo de ejecución
  • herramientas de colaboración.


Recomendación principal: ¡ Automatiza todo!



¡Gracias a Zach Shapiro!



All Articles