Ferramentas DevOps que todos deberían aprender en 2020

Comeza a usar as mellores ferramentas de DevOps hoxe!

Ferramentas DevOps que todos deberían aprender en 2020
A revolución DevOps finalmente apoderouse do mundo e as ferramentas DevOps fixéronse incriblemente populares. Segundo o servizo Google Trends, o número de solicitudes de "ferramentas DevOps" está en constante crecemento, e esta tendencia continúa.

A metodoloxía DevOps abarca todo o ciclo de vida do desenvolvemento de software, polo que os profesionais poden escoller entre unha variedade de ferramentas. Pero, como sabes, ningunha ferramenta pode converterse nunha ferramenta universal para todos. Non obstante, algunhas solucións ofrecen unha gama tan ampla de funcións que poden xestionar case calquera tarefa.

Dividamos as ferramentas de DevOps en categorías e comparámolas con análogos:

  • ferramentas de desenvolvemento e construción
  • ferramentas de automatización de probas
  • ferramentas para organizar a implantación
  • Ferramentas de execución
  • ferramentas de colaboración.

Implementación exitosa e reflexiva Practicante de DevOps inclúe instrumentos dos cinco grupos enumerados anteriormente. Analiza o conxunto actual de ferramentas do teu proxecto para non perder un elemento importante do pipeline CI/CD.

Ferramentas de Desenvolvemento e Construción

Ferramentas DevOps que todos deberían aprender en 2020
Esta é a base da pila de pipeline CI/CD. Todo comeza aquí mesmo! As mellores ferramentas desta categoría poden xestionar múltiples fluxos de eventos e integrarse facilmente con outros produtos.

Nesta fase do ciclo de vida do desenvolvemento, hai tres grupos de ferramentas:

  • Sistema de control de versións (SCM)
  • integración continua (CI)
  • Xestión de datos

GIT tivo un historial positivo en 2020, polo que a túa ferramenta SCM debería ter unha compatibilidade perfecta para GIT. Para CI, un requisito previo é a capacidade de executar e executar compilacións nun ambiente de contedores illado. Cando se trata de xestión de datos, require a capacidade de facer cambios no esquema da base de datos e manter a base de datos segundo a versión da aplicación.

Ferramenta SCM + CI #1

Gañador: GitLab e GitLab-CI

Ferramentas DevOps que todos deberían aprender en 2020
A mellor ferramenta do ciclo DevOps de 2020 é sen dúbida GitLab, e sen dúbida seguirá liderando a innovación nun futuro próximo.

A función principal de GitLab é proporcionar unha xestión cómoda dun repositorio de Git. A interface web é intuitiva e fácil de usar. GitLab ofrece todo o que necesitas nunha versión gratuíta e vén como SaaS e local (usando os teus propios recursos para aloxar software).

Ningunha outra ferramenta SCM utilizou a integración continua (CI) directamente no teu repositorio, e GitLab leva moito tempo facendo isto. Para usar GitLab-CI, debes engadir un ficheiro .gitlab-ci.yml á raíz do teu código fonte, e calquera cambio no proxecto desencadeará accións baseadas exactamente no que especificaches. GitLab e GitLab-CI son merecidamente recoñecidos como líderes no campo da integración continua (CI-as-code).

Beneficios clave

  • Fiabilidade - O produto está no mercado desde 2013; estable; ben apoiado.
  • Código aberto: a versión gratuíta de GitLab non limita a funcionalidade básica que necesitan os equipos de desenvolvemento. Os paquetes de servizos de pago ofrecen funcións adicionais útiles para empresas de diferentes tamaños e necesidades.
  • CI incorporado: ningunha outra ferramenta no mercado construíu unha integración continua directamente en SCM como GitLab-CI. O uso de Docker garante compilacións illadas sen problemas e os informes integrados facilitan a depuración. Non necesitamos unha integración complexa e xestión de varias ferramentas ao mesmo tempo.
  • Integracións ilimitadas: GitLab ofrece unha fácil integración de todas as ferramentas de DevOps que necesitas. Isto garante que os equipos de desenvolvemento e mantemento dispoñan dunha única fonte de información sobre a súa aplicación en calquera ambiente.

Competidores

Participou na batalla, pero non gañou

Hai outras ferramentas populares nesta categoría, pero non son tan boas como GitLab. E por iso:

GitHub — Este é un excelente sistema de control de versións SaaS para pequenas empresas e as primeiras fases de desenvolvemento. Para as grandes empresas para as que é importante manter os enderezos IP na súa propia rede, a única solución de GitHub foi a máquina virtual .OVA sen soporte para sistemas de alta dispoñibilidade. Isto dificulta o mantemento local, ademais, .OVA só é axeitado para medianas empresas, se non, o servidor simplemente fallará con maior carga. A falta de accións de GitHub (ata hai pouco e aínda non nunha versión local) ou CI-as-code significa que debes escoller unha ferramenta CI separada e, a continuación, xestionar esa integración. Finalmente, GitHub é moito máis caro que calquera das dúas versións de GitLab.

Jenkins — Aínda que Jenkins se considera o estándar entre as ferramentas de integración continua por defecto, sempre careceu de capacidades de control de versións. Resulta que está a usar Jenkins máis algún tipo de ferramenta SCM. É demasiado difícil cando GitLab pode facer as dúas cousas. O deseño mediocre de UX non é axeitado para unha aplicación web moderna e deixa moito que desexar.

BitBucket/Bamboo — Debo recoñecelo como un perdedor automático: por que dúas ferramentas cando GitLab fai todo de forma totalmente independente. BitBucket Cloud admite a funcionalidade GitLab-CI / GitHub Action, pero ningunha empresa maior que unha startup pode implementala facilmente. O servidor BitBucket local nin sequera admite canalizacións de BitBucket.

Ferramenta de xestión de datos número 1

Gañador: FlywayDB

Ferramentas DevOps que todos deberían aprender en 2020
No desenvolvemento de aplicacións web, normalmente non se lle dá importancia á automatización de bases de datos. A idea de implementar cambios no esquema da base de datos para novas versións da aplicación chega tarde. Os cambios de esquema adoitan dar lugar a que columnas ou táboas sexan engadidas e renomeadas. Se a versión da aplicación non coincide coa versión do esquema, a aplicación pode fallar. Ademais, xestionar os cambios na base de datos ao actualizar unha aplicación pode ser un reto xa que hai dous sistemas diferentes. FlyWayDB resolve todos estes problemas.

Beneficios clave

  • Control de versións de bases de datos - Flyway permítelle crear versións de bases de datos, rastrexar as migracións de bases de datos e transferir ou reverter facilmente os cambios de esquema sen unha ferramenta adicional para iso.
  • Binario ou incrustado: podemos optar por executar Flyway como parte da aplicación ou como un executable binario. Flyway comproba a compatibilidade das versións ao inicio e inicia as migracións adecuadas, mantendo sincronizadas as versións da base de datos e das aplicacións. Ao executar o comando ad-hoc cmd line, proporcionamos flexibilidade ás bases de datos existentes sen reconstruír toda a aplicación.

Competidores

Participou na batalla, pero non gañou

Non hai moitas ferramentas nesta área. Vexamos algúns deles:

LiquiBase — Liquibase parécese a FlywayDB. Gustaríame configuralo encima de Flyway se tivese alguén no meu equipo con máis experiencia con Liquibase.

Flocker - Só pode funcionar para aplicacións en contenedores. Para executar con éxito bases de datos contenedoras, todo debe planificarse perfectamente. Recomendo usar RDS (Servizo de bases de datos relacionais) para bases de datos e non aconsello almacenar información importante nun contedor.

Ferramentas de automatización de probas

Ferramentas DevOps que todos deberían aprender en 2020
Comecemos a nosa discusión sobre as ferramentas de automatización de probas clasificándoas en función da pirámide de probas.

A pirámide de probas (probas) ten 4 niveis:

  • Probas unitarias: esta é a base de todo o proceso de probas automatizadas. Debería haber máis probas unitarias en comparación con outros tipos de probas. Os desenvolvedores escriben e executan probas unitarias para garantir que unha parte dunha aplicación (coñecida como "unidade") se axusta ao seu deseño e se comporta como se espera.
  • Probas de compoñentes - O propósito principal das probas de compoñentes é verificar o comportamento de entrada/saída do obxecto de proba. Debemos asegurarnos de que a funcionalidade do obxecto de proba se implemente correctamente segundo a especificación.
  • Probas de integración: un tipo de proba na que se combinan módulos de software individuais e se proban como un grupo.
  • Probas de extremo a extremo: este paso é autoexplicativo. Monitorizamos toda a aplicación e asegurámonos de que funciona segundo o planeado.

Dado que as probas unitarias e as probas de compoñentes son realizadas só polos desenvolvedores e moitas veces son específicas da linguaxe de programación, non avaliaremos estas ferramentas para o dominio DevOps.

Ferramenta de proba de integración número 1

Gañador: Pepino

Ferramentas DevOps que todos deberían aprender en 2020
Cucumber combina especificacións e documentación de proba nun único documento vivo. As especificacións están sempre actualizadas xa que son probadas automaticamente por Cucumber. Se queres construír un marco de probas automatizado desde cero e modelar o comportamento do usuario nunha aplicación web, entón Selenium WebDriver con Java e Cucumber BDD é unha boa forma de aprender e implementar Cucumber nun proxecto.

Beneficios clave

  • Enfoque BDD (Behavior Driven Development - "desenvolvemento a través do comportamento" en oposición ao enfoque de "desenvolvemento impulsado por probas") - Cucumber está deseñado para probas BDD, foi orixinalmente creado para esta tarefa.
  • Documentación viva - A documentación sempre é unha dor! Dado que as túas probas están escritas como código, Cucumber proba a documentación xerada automaticamente para garantir que as probas e a documentación están sincronizadas.
  • Soporte - Podemos escoller entre moitas ferramentas, pero Cucumber ten os recursos económicos necesarios e un sistema de apoio ben organizado para axudar aos usuarios en calquera situación difícil.

Competidores

Participou na batalla, pero non gañou

Entre outros marcos e ferramentas tecnolóxicas específicas, só o pepino pode considerarse unha solución universal.

Ferramentas de proba de extremo a extremo

Ao realizar probas de extremo a extremo, debes centrarte en dous puntos clave:

  • probas funcionais
  • Probas de estrés.

Nas probas funcionais, comprobamos se todo o que queremos ocorre realmente. Por exemplo, cando fago clic en determinados elementos do meu SPA (aplicación dunha soa páxina), cubro os formularios e seleccione "Enviar", os datos aparecen na base de datos e aparece na pantalla a mensaxe "¡Éxito!".

Tamén é importante para nós comprobar que un determinado número de usuarios que executan o mesmo escenario pode ser procesado sen erros.

A ausencia destes dous tipos de probas suporá un inconveniente importante no teu pipeline de CI/CD.

Ferramenta de probas de extremo a extremo número 1. Probas funcionais

Gañador: SoapUI Pro

Ferramentas DevOps que todos deberían aprender en 2020
SoapUI estivo no espazo de proba de API durante moito tempo desde que os servizos web baseados en SOAP eran o estándar. Aínda que xa non creamos novos servizos SOAP e o nome da ferramenta non cambiou, iso non significa que non evolucione. SoapUI ofrece un marco excelente para crear probas funcionais de backend automatizadas. As probas pódense combinar facilmente con ferramentas de integración continua e utilizarse como parte dunha canalización de CI/CD.

Beneficios clave

  • Documentación detallada: SoapUI leva bastante tempo no mercado, polo que hai moitos recursos en liña que poden axudarche a comprender como configurar as probas.
  • Facilidade de uso: aínda que a ferramenta admite varios protocolos para probar as API, a presenza de SoapUI dunha interface común para varios servizos facilita a escritura de probas.

Competidores

Participou na batalla, pero non gañou

Selenio é outro gran instrumento deste grupo. Recomendo usalo se está a construír e executar unha aplicación baseada en Java. Non obstante, se está a construír unha aplicación web completa con varias tecnoloxías, pode resultar difícil de manexar para compoñentes que non sexan Java.

Ferramenta de probas de extremo a extremo número 1. Probas de estrés

Gañador: LoadRunner

Ferramentas DevOps que todos deberían aprender en 2020
Explicación: Cando chega o momento de probar todos os elementos da súa aplicación, só LoadRunner pode completar a tarefa. Si, é caro e difícil ao principio, pero LoadRunner é a única ferramenta que me dá, como arquitecto técnico, a total confianza de que o novo código funcionará en condicións de carga extremas. Ademais, creo que é hora de que LoadRunner sexa asumido por equipos de desenvolvemento en lugar de equipos de probas.

Beneficios clave

  • Ampla documentación: LoadRunner leva bastante tempo no mercado, polo que hai moitos recursos en liña para axudarche a comprender como configurar as probas de carga.
  • Compatibilidade con protocolos: Load Runner admite todo, desde ODBC ata AJAX, HTTPS e calquera outro protocolo non trivial que poida utilizar a túa aplicación. Tentamos non utilizar varias ferramentas para probas de carga, xa que isto só complica o proceso.

Competidores

Participou na batalla, pero non gañou

De novo, non hai moitas ferramentas universais nesta área, polo que a mellor solución é aquela que funcione en calquera ambiente con calquera tecnoloxía.

Ferramentas de implantación

Ferramentas DevOps que todos deberían aprender en 2020
As ferramentas de implantación son probablemente o aspecto menos entendido do desenvolvemento. Para un equipo de operacións sen unha comprensión profunda do código e da funcionalidade da aplicación, é difícil usar tales ferramentas. Para os desenvolvedores, a xestión do despregamento é unha nova responsabilidade, polo que aínda non teñen experiencia suficiente traballando con este tipo de ferramentas.

En primeiro lugar, dividimos todas as ferramentas de implementación en tres subcategorías:

  • xestión de artefactos
  • xestión da configuración
  • despregar.

Ferramenta de xestión de artefactos número 1

Gañador: Nexo

Ferramentas DevOps que todos deberían aprender en 2020
O repositorio de artefactos de Nexus admite case todas as tecnoloxías principais, desde Java ata NPM ata Docker. Podemos utilizar esta ferramenta para almacenar todos os artefactos que utilizamos. O proxy de xestores de paquetes remotos tamén acelera significativamente o proceso de compilación de CI, facendo que os paquetes sexan máis accesibles para a súa construción. Outra vantaxe é a posibilidade de obter unha visión completa de todos os paquetes utilizados en varios proxectos de software, bloqueando paquetes de código aberto inseguros (poden actuar como vector de ataque).

Beneficios clave

  • Soporte técnico - Produto fiable; ben apoiado.
  • Código aberto: a versión gratuíta non limita a funcionalidade básica que necesitan os equipos de desenvolvemento.

Ferramenta de xestión de configuración número 1

Gañador: Ansible

Ansible é líder por unha simple razón: sen estado. Anteriormente, ferramentas similares centráronse na xestión do estado da configuración. Cando se inicie, tal ferramenta, recibindo a configuración desexada, tentará corrixir a configuración actual da aplicación. E co novo enfoque, só os compoñentes sen estado están presentes. As novas versións de código son artefactos que se despregan para substituír as existentes. Isto pódese considerar unha especie de ambiente efémero e a curto prazo.

Beneficios clave

  • Sen estado: o Playbook lánzase desde a máquina de despregamento e execútase nos servidores de destino. Non teño que preocuparme polo estado do obxecto remoto usando unha ferramenta como Packer para crear obxectos despregábeis.
  • Código aberto: como CentOS, Ansible tamén é compatible con RedHat. Axuda a manter a comunidade e ofrece módulos de alta calidade e fáciles de usar.
  • Proba con Molecule (un marco de Ansible): xa que a xestión da configuración é código, como todo o demais, as probas son esenciales. O marco de proba de funcións Ansible de Molecule funciona perfectamente, garantindo que a configuración sexa da mesma calidade e siga a mesma canalización de CI/CD que o código da aplicación.
  • YAML - En comparación con outras ferramentas, YAML é máis fácil de entender. Dado que a xestión da configuración adoita ser un novo reto para aqueles que implementan prácticas de DevOps, a simplicidade é o seu trunfo.

Competidores

Participou na batalla, pero non gañou

OpsCode Xefe — Comecei a miña carreira DevOps como programador de libros de cociña. Por suposto, Ruby e Chef son moi queridos para o meu corazón, pero simplemente non resolven os problemas das aplicacións modernas sen estado e nativas da nube. OpsCode Chef é unha excelente ferramenta para aplicacións máis tradicionais, pero neste artigo centrámonos no futuro.

Títere — Puppet nunca tivo moitos fans, especialmente en comparación con Chef e Ansible. É ideal para aprovisionar e traballar con hardware, pero carece de soporte de xestión de configuración moderna para unha aplicación web.

Ferramenta de implantación #1

Gañador: Terraform

Ferramentas DevOps que todos deberían aprender en 2020
Terraform resolve o problema de describir a túa infraestrutura como código, desde compoñentes de rede ata imaxes completas do servidor. Este produto percorreu un longo camiño desde o seu lanzamento inicial, con tantos complementos creados e unha comunidade tan forte construída que seguro que obterá axuda en calquera escenario de implantación. A capacidade de admitir calquera tipo de ambiente (local, na nube ou noutro lugar) é incomparable. Finalmente, a última versión ofrece moitas das mesmas funcións lóxicas e clases en HCL que calquera outra linguaxe de programación tradicional, o que fai que Terraform sexa fácil de entender para os desenvolvedores de forma rápida e sinxela.

Beneficios clave

  • Ambiente independente: Terraform usa funcións que actúan como interface entre o teu código Terraform, todas as API e a lóxica interna para comunicarse co provedor de infraestrutura. Isto significa que só dominarei unha ferramenta e despois podo traballar en calquera lugar.
  • Código aberto: é difícil superar as ferramentas gratuítas. Apoio comunitario ao máis alto nivel.

Competidores

Participou na batalla, pero non gañou

AWS CloudFormation — Aínda que só traballes no contorno de nube de AWS, o teu próximo traballo pode utilizar unha ferramenta diferente. Dedicar todo o teu tempo e enerxía a unha soa plataforma é unha decisión miope. Ademais, moitos novos servizos de AWS adoitan estar dispoñibles como módulos de Terraform antes de que estean dispoñibles en CloudFormation.

Ferramentas de execución

Ferramentas DevOps que todos deberían aprender en 2020

O obxectivo final de calquera proxecto de desenvolvemento é lanzar a aplicación en produción. No mundo DevOps, queremos estar plenamente conscientes de todos os posibles problemas co noso entorno e tamén queremos minimizar a intervención manual. Elixir o conxunto correcto de ferramentas de execución é esencial para lograr o nirvana de desenvolvemento de aplicacións.

Subcategorías de ferramentas de execución:

  • X-as-a-service (XaaS)
  • orquestración
  • vixilancia
  • rexistro.

X-ferramenta-como-servizo #1

Gañador: Servizos web de Amazon

Ferramentas DevOps que todos deberían aprender en 2020
Amazon sempre foi líder en tecnoloxías na nube, pero non se queda aí: a variedade de novos servizos para desenvolvedores é reveladora. Trae calquera tecnoloxía e modelo a AWS e crearase e executarase. O custo da ferramenta é bastante razoable: compárao coa montaxe, xestión e mantemento de equipos no teu propio centro de datos. A versión gratuíta permítelle experimentar e tomar a decisión correcta antes de gastar cartos.

Beneficios clave

  • Prevalencia: se tes experiencia na creación de aplicacións en AWS, podes traballar en calquera lugar. As empresas adoran AWS e as startups tamén aprecian o seu baixo custo.
  • A versión gratuíta é un factor verdadeiramente significativo que diferencia a AWS dos seus compañeiros. Déixame probar o servizo e ver como funciona antes de tomar unha decisión de compra, non quero gastar miles de dólares en algo innecesario. A versión gratuíta sempre é suficiente para probar calquera concepto.

Competidores

Participou na batalla, pero non gañou

Azul "Azure percorreu un longo camiño desde o seu primeiro lanzamento, e iso é encomiable. Porén, o afán de ser diferente levou a nomes estraños aos servizos, o que adoita complicar o traballo. Que significa "almacenamento blob"? E aínda que o código .NET funciona mellor no ecosistema de Microsoft, é pouco probable que use só .NET para cada compoñente da súa aplicación.

Heroku — Nunca executaría nada máis que un proxecto persoal en Heroku debido ao baixo nivel de fiabilidade e transparencia, polo que as empresas non deberían usalo como plataforma. Heroku é xenial para demostrar algo nun blog, pero para uso práctico: "Non, grazas!"

Ferramenta de orquestración número 1

Gañador: turno aberto

Ferramentas DevOps que todos deberían aprender en 2020
Probablemente esteas a usar Docker ou outros contedores na túa pila de aplicacións. As aplicacións sen servidor son xeniais, pero poden non encaixar en todas as arquitecturas. Executar contedores sen unha plataforma de orquestración simplemente non funcionará. Kubernetes Core (K8s) non ten rival en termos de seguridade e ferramentas. OpenShift é a única plataforma baseada en Kubernetes que pode recoller Source2Image, admite a implantación automatizada en pods e admite o seguimento e o seguimento. OpenShift pódese executar localmente, na nube ou local e na nube ao mesmo tempo.

Beneficios clave

  • Seguridade integrada: a xestión da seguridade do K8 pode requirir un título avanzado. Cada detalle debe ser coidadosamente pensado e tido en conta! Os mecanismos de seguridade integrados por defecto con OpenShift quitan a carga aos desenvolvedores e proporcionan unha plataforma máis segura para as aplicacións.
  • Solución todo en un: a diferenza dos K8 básicos, que non inclúen ferramentas de equilibrio de carga por defecto, OpenShift teno todo. Podo usalo para crear e aloxar contedores, executar ferramentas CI/CD, xestionar procesos externos, xestionar claves e moito máis. Aínda que a interface gráfica de usuario aínda está lonxe de ser perfecta, o enfoque baseado en API significa que todo se pode describir nun script. A diferenza doutras GUI para K8s, OpenShift facilita moito a aprendizaxe dos conceptos básicos de Kubernetes. Nin sequera necesitas obter un título!

Competidores

Participou na batalla, pero non gañou

Enxame Docker — Docker Swarm intentou simplificar os K8 desfacendo moitas cousas. É xenial para aplicacións pequenas, pero para aplicacións empresariais simplemente non funciona. Ademais, solucións como AWS ECS adoptan un enfoque similar pero facilitan o traballo con outros servizos cos que tamén podo interactuar (Lambda, IAM, etc.).

Ferramenta de seguimento nº 1

Gañador: Nova reliquia

Ferramentas DevOps que todos deberían aprender en 2020
As primeiras versións de New Relic fixeron unha cousa ben: o seguimento de APM (Application Performance Monitoring). Agora é unha ferramenta de vixilancia con todas as funcións que che permite supervisar o rendemento do servidor, do contedor, da base de datos, da experiencia do usuario final e, por suposto, do seguimento do rendemento das aplicacións.

Beneficios clave

  • Facilidade de uso: cando traballaba como enxeñeiro de sistemas, usei moitas ferramentas de monitorización, pero nunca atopei unha tan sinxela e fácil de usar como New Relic. É SaaS, polo que non precisa instalalo vostede mesmo.
  • Visibilidade de extremo a extremo - Outras ferramentas tentan supervisar un elemento específico da súa aplicación. Por exemplo, unha métrica de uso do procesador ou tráfico de rede, pero todo isto debe ser supervisado exhaustivamente para que a aplicación funcione correctamente. New Relic ofrécelle a posibilidade de reunir todos os teus datos para ter unha visión completa do que está a suceder.

Competidores

Participou na batalla, pero non gañou

Zabbix — O meu primeiro e favorito sistema de monitorización, pero quedou no pasado debido á falta de desenvolvemento das tecnoloxías na nube e no campo da monitorización do rendemento das aplicacións APM. Zabbix aínda fai ben o seguimento tradicional da infraestrutura do servidor, pero iso é todo.

DataDog — Demasiado centrado no proceso de xestión do contorno de produción da aplicación, e non no propio código. Cos equipos de DevOps nos que participan desenvolvedores, non temos que depender de ferramentas difíciles de usar para ofrecer soporte de primeira liña.

Ferramenta de rexistro #1

Gañador: Spunk

Ferramentas DevOps que todos deberían aprender en 2020
É difícil competir con Splunk! Durante moito tempo segue a ser o líder na explotación madeireira, segue facéndoo mellor que ninguén. Con ofertas locais e SaaS, podes usar Splunk en calquera lugar. O gran inconveniente é o seu prezo: Splunk aínda é moi caro!

Beneficios clave

  • Pervasividade: ás empresas adoran Splunk e as empresas teñen o diñeiro para compralo.
  • Aínda que as startups intentan recuperar custos, moitas funcións pódense resolver grazas aos análogos de código aberto.
  • Mantebilidade - En pocas palabras, Splunk funciona e faino ben. Vén con moitas opcións predeterminadas e funcións listas para usar. Non hai que perder tempo lendo documentación e intentando que Splunk funcione nin descifra nada.

Competidores

Participou na batalla, pero non gañou

ELK Stack (ElasticSearch, LogStash e Kibana) "Estas ferramentas parecen ser as favoritas porque nin sequera tes que vender o teu fígado para usalas". Non obstante, a medida que crece o conxunto de rexistros e aumenta o número de aplicacións a bordo, o traballo faise cada vez máis difícil. En comparación con Splunk, con ELK Stack pasei moito máis tempo configurando as ferramentas antes de crear paneis de control que nunca antes.

Ferramentas de colaboración

Ferramentas DevOps que todos deberían aprender en 2020
DevOps trata principalmente de cambiar a cultura dentro dunha organización. A compra de calquera ferramenta non cambiará as prácticas actuais dun día para outro, pero sen dúbida pode fomentar a colaboración e novas formas de interactuar.

Subcategorías de ferramentas de colaboración:

  • seguimento de tarefas
  • ChatOps
  • documentación.

Ferramenta de seguimento de problemas número 1

Gañador: Jira

Ferramentas DevOps que todos deberían aprender en 2020
Jira mantén a súa posición de liderado, aínda que aumenta a competencia neste ámbito. A incrible flexibilidade de Jira permite aos equipos de desenvolvemento e mantemento xestionar o traballo do proxecto e as tarefas de sprint. Os estándares integrados que utilizan terminoloxía áxil facilitan o paso das formas tradicionais de traballo a procesos máis eficientes.

Beneficios clave

  • Popularidade: como moitas outras ferramentas, Jira úsase case en todas partes. Os equipos pequenos usan a versión máis barata e accesible e obteñen todo o que necesitan, mentres que as empresas máis grandes poden permitirse unha licenza máis cara.
  • Integracións - Jira é pioneira no seu campo. Este feito e o rápido desenvolvemento do produto leva a que outras empresas elixan Jira para crear as súas propias integracións, aumentando así o valor da ferramenta. Podemos integrar Jira con todas as ferramentas listadas neste artigo fóra da caixa cunha pequena configuración.

Competidores

Participou na batalla, pero non gañou

Trello — Trello gañou popularidade rapidamente grazas á súa ferramenta Kanban gratuíta. Non obstante, unha vez que os procesos escalan e pasas de ducias de tarefas a miles, é difícil navegar, buscar e informar sobre Trello.

Rastreador pivotante — Era un gran fan desta ferramenta cando traballaba para unha startup. Non obstante, Pivotal Tracker está máis centrado na xestión de produtos que en tarefas técnicas. Aínda que a xestión de produtos en Jira é un pouco máis complexa, aínda se pode implementar alí sen utilizar unha ferramenta adicional.

Ferramenta ChatOps #1

Gañador: MatterMost

Ferramentas DevOps que todos deberían aprender en 2020
Explicación: Quizais sexa a maior sorpresa para ti na miña selección, e iso é unha boa noticia! MatterMost gañou popularidade ao aproveitar o mellor das ferramentas anteriores pero poñéndoas no lugar. Isto é moi importante para as empresas: MatterMost permíteche controlar os teus datos e tamén che axuda a integralos con ferramentas que se executan localmente. Xa non necesitamos saír do firewall para comprobar os chats do traballo.

Beneficios clave

  • Código aberto: a versión de código aberto de MatterMost funciona moi ben tanto para equipos medianos como grandes. A diferenza do plan gratuíto de Slack, que elimina o teu historial de mensaxes, executar o teu propio servidor significa que gardas todos os teus datos.
  • Integracións: dado que a API está baseada case ao 100 % na API de Slack, case todas as integracións de Slack pódense usar directamente con MatterMost.

Competidores

Participou na batalla, pero non gañou

Neglixente — A folga é xenial, pero estes mozos creceron tanto que comezaron a buscar beneficios. Achégase a fase de amortización do negocio, que lles quita o principal valor: Slack prestaba servizos gratuitamente; A desvantaxe máis importante da versión gratuíta é a eliminación do historial de chat.

Equipos de Microsoft — Proba a integrar un produto de Microsoft con algo que non é propiedade de Microsoft... Moita sorte! Isto é todo o que teño que dicir sobre esta ferramenta!

Ferramenta de documentación #1

Gañador: Confluencia

Ferramentas DevOps que todos deberían aprender en 2020
Crear e manter documentación técnica de calidade é un proceso complexo, independentemente da ferramenta que utilices. Aínda que moitas ferramentas de documentación SaaS chegaron ao mercado recentemente, sería difícil terceirizar o almacenamento de documentación técnica sobre aplicacións de misión crítica a un terceiro. É preferible almacenar datos e documentos in situ, e así o soluciona Confluence.

Beneficios clave

  • Fácil de manexar: a maioría das ferramentas autónomas poden ser un pouco complexas de configurar e operar e requiren algúns coñecementos para manter. Confluence Server funciona moi ben para 10 ou 10,000 usuarios.
  • Complementos - Parabéns a Confluence por ter unha navegación fermosa e fácil de usar, e a posibilidade de engadir un complemento para case todo desbloquea o potencial de Wiki.

Competidores

Participou na batalla, pero non gañou

Lea os documentos — Genial para o código aberto, pero nin sequera penses en almacenar aquí o coñecemento crítico.

Markdown - Ideal para documentar código, pero difícil de publicar arquitectura, procesos ou outros tipos de documentación debido ao formato específico de MarkDown.

Jekyll — Ao documentar coñecementos técnicos, non quero crear un novo sitio estático que se despregue cada vez que haxa un cambio. O sinxelo sistema de control de versións de Confluence simplifica enormemente a documentación interna.

Resumir

Hai literalmente centos de ferramentas DevOps no mercado, o que dificulta saber cales usar e cando deberían implementarse. Siga esta sinxela guía para escoller ferramentas de DevOps para un pipeline completo de CI/CD.

Asegúrate de seleccionar ferramentas das cinco categorías:

  • ferramentas de desenvolvemento e construción
  • ferramentas de automatización de probas
  • ferramentas de implantación
  • Ferramentas de execución
  • ferramentas de colaboración.

Recomendación principal: Automatiza todo!

Grazas Zach Shapiro!

Fonte: www.habr.com

Engadir un comentario