Les outils DevOps que tout le monde devrait apprendre en 2020

Commencez Ă  appliquer les meilleurs outils DevOps dĂšs aujourd'hui!





La révolution DevOps a finalement envahi le monde et les outils DevOps sont devenus incroyablement populaires. Selon Google Trends , le nombre de demandes «d'outils DevOps» est en constante augmentation et cette tendance se poursuit.



La méthodologie DevOps couvre l'ensemble du cycle de vie du développement logiciel, de sorte que les spécialistes peuvent choisir parmi une variété d'outils. Mais, comme vous le savez, aucun outil ne peut devenir un outil universel pour tout le monde. Cependant, certaines solutions offrent un si large éventail de fonctionnalités qu'elles peuvent gérer presque toutes les tùches.



Décomposons les outils DevOps en catégories et comparons-les avec des analogues:



  • outils de dĂ©veloppement et de construction
  • outils d'automatisation de test
  • outils d'organisation du dĂ©ploiement
  • Outils d'exĂ©cution
  • outils de collaboration.


La mise en Ɠuvre rĂ©ussie et intelligente de DevOps comprend des outils des cinq groupes Ă©numĂ©rĂ©s ci-dessus. Analysez l'ensemble actuel des outils de votre projet afin de ne pas manquer un Ă©lĂ©ment important du pipeline CI / CD.



Outils de développement et de construction





C'est le cƓur de la pile de pipeline CI / CD. Tout commence ici! Les meilleurs outils de cette catĂ©gorie peuvent gĂ©rer plusieurs flux d'Ă©vĂ©nements et s'intĂ©grer facilement Ă  d'autres produits.



À ce stade du cycle de vie du dĂ©veloppement, il existe trois groupes d'outils:



  • systĂšme de contrĂŽle de version (SCM)
  • intĂ©gration continue (CI)
  • gestion de donnĂ©es


En 2020, GIT n'a fait ses preuves que du cÎté positif, donc votre outil SCM devrait avoir un support GIT sans faille. Pour CI, une condition préalable est la possibilité d'exécuter et d'exécuter des assemblys dans un environnement de conteneur isolé. En termes de gestion des données, il faut pouvoir apporter des modifications au schéma de base de données et maintenir la base de données cohérente avec la version de l'application.



Outil SCM + CI n ° 1



Gagnant: GitLab et GitLab-CI





Le meilleur outil du cycle DevOps 2020 est sans aucun doute GitLab, et il restera certainement un leader de l'innovation dans un proche avenir.



La fonction principale de GitLab est de fournir une gestion confortable du référentiel Git. L'interface Web est intuitive et facile à utiliser. GitLab fournit tout ce dont vous avez besoin dans une version gratuite et est disponible en SaaS et sur site (en utilisant vos propres ressources pour héberger le logiciel).



Aucun autre outil SCM n'a utilisé l'intégration continue (CI) directement dans votre référentiel, et GitLab le fait depuis longtemps. Pour utiliser GitLab-CI, vous devez ajouter le fichier .gitlab-ci.yml à la racine de votre code source, et toute modification apportée au projet déclenchera des actions en fonction de ce que vous spécifiez. GitLab et GitLab-CI sont reconnus à juste titre comme leaders dans le domaine de l'intégration continue (CI-as-code).



Avantages clés



  • FiabilitĂ© - Le produit est sur le marchĂ© depuis 2013; stable; bien maintenu.
  • Open Source - La version gratuite de GitLab ne restreint pas les fonctionnalitĂ©s de base dont les Ă©quipes de dĂ©veloppement ont besoin. Les packages de services payants offrent des fonctionnalitĂ©s supplĂ©mentaires utiles pour les entreprises de diffĂ©rentes tailles et besoins.
  • Engrained CI - Aucun autre outil sur le marchĂ© n'a intĂ©grĂ© l'intĂ©gration continue directement dans SCM comme GitLab-CI. L'utilisation de Docker fournit une construction en bac Ă  sable sans tracas et des rapports intĂ©grĂ©s facilitent le dĂ©bogage (dĂ©bogage). Nous n'avons pas besoin d'une intĂ©gration et d'une gestion complexes de plusieurs outils en mĂȘme temps.
  • IntĂ©grations illimitĂ©es - GitLab fournit une intĂ©gration facile de tous les outils DevOps dont vous avez besoin. Cela permet aux Ă©quipes de dĂ©veloppement et de maintenance d'utiliser une seule source d'informations sur leur application dans n'importe quel environnement.


Les concurrents se sont



battus, mais n'ont pas gagné



Il existe d'autres outils populaires dans cette catégorie, mais ils ne sont pas aussi bons que GitLab. Voici pourquoi:



GitHub«C'est un excellent systÚme de contrÎle de version SaaS pour les petites entreprises et les premiers stades de développement. Pour les grandes entreprises qui ont besoin de conserver les adresses IP sur leur propre réseau, la seule solution sur GitHub est la machine virtuelle .OVA sans prise en charge HA. Cela rend difficile la maintenance sur site, en outre, .OVA ne convient qu'aux entreprises de taille moyenne, sinon le serveur tombera simplement en panne sous une charge importante. L'absence d'actions GitHub (jusqu'à récemment et pas encore sur site) ou de CI en tant que code signifie que vous devez sélectionner un outil CI distinct, puis gérer cette intégration. Enfin, GitHub est beaucoup plus cher que toutes les versions de GitLab.



Jenkins- Bien que Jenkins soit considéré par défaut comme la norme parmi les outils d'intégration continue, il a toujours manqué de capacités de contrÎle de version. Il s'avÚre que vous utilisez Jenkins plus une sorte d'outil SCM. C'est trop difficile quand GitLab peut faire les deux. Une conception UX médiocre n'est pas bonne pour une application Web moderne et laisse beaucoup à désirer.



BitBucket / Bamboo - Je dois admettre que c'est un perdant automatique: pourquoi deux outils lorsque GitLab fait tout seul. BitBucket Cloud prend en charge la fonctionnalitĂ© d'action GitLab-CI / GitHub, mais aucune entreprise plus grande qu'une startup ne peut facilement la mettre en Ɠuvre. Le serveur BitBucket sur site ne prend mĂȘme pas en charge les pipelines BitBucket!



Outil de gestion des données n ° 1



Gagnant: FlywayDB





Dans le dĂ©veloppement d'applications Web, l'automatisation des bases de donnĂ©es est gĂ©nĂ©ralement nĂ©gligĂ©e. L'idĂ©e de dĂ©ployer les modifications du schĂ©ma de base de donnĂ©es pour les nouvelles versions de l'application s'accompagne d'un retard. Les changements de schĂ©ma entraĂźnent souvent l'ajout et le changement de nom de colonnes ou de tables. Si la version de l'application ne correspond pas Ă  la version du schĂ©ma, l'application peut se bloquer. En outre, l'organisation des modifications de la base de donnĂ©es lors de la mise Ă  jour d'une application peut ĂȘtre difficile car il existe deux systĂšmes diffĂ©rents. FlyWayDB rĂ©sout tous ces problĂšmes.



Avantages clés



  • Gestion des versions de base de donnĂ©es - Flyway vous permet de crĂ©er des versions de base de donnĂ©es, de suivre les migrations de bases de donnĂ©es, de migrer ou d'annuler facilement les modifications de schĂ©ma sans outils supplĂ©mentaires pour cela.
  • — : Flyway . Flyway , . cmd line ad-hoc, .


Les concurrents ont



participé à la bataille, mais n'ont pas gagné,



il n'y a pas beaucoup d'outils dans ce domaine. Jetons un coup d'Ɠil à certains d'entre eux:



LiquiBase - Liquibase ressemble à FlywayDB. Je voudrais l'installer au-dessus de Flyway s'il y avait un spécialiste dans mon équipe avec plus d'expérience avec Liquibase.



Flocker - Ne peut fonctionner que pour les applications conteneurisĂ©es. Tout doit ĂȘtre parfaitement planifiĂ© pour rĂ©ussir le lancement de bases de donnĂ©es en conteneurs. Je recommande d'utiliser RDS (Relational Database Service) pour les bases de donnĂ©es, et je ne recommande pas de stocker des informations sensibles dans un conteneur.



Outils d'automatisation des tests





Commençons notre discussion sur les outils d'automatisation des tests en les classant en fonction de la pyramide des tests.



La pyramide des tests (tests) comporte 4 niveaux:



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


Étant donnĂ© que les tests unitaires et les tests de composants sont effectuĂ©s uniquement par les dĂ©veloppeurs et dĂ©pendent souvent du langage, nous n'Ă©valuerons pas ces outils pour DevOps.



Outil de test d'intégration n ° 1



Gagnant: Concombre





Cucumber combine les spĂ©cifications et la documentation de test dans un seul document vivant. Les spĂ©cifications sont toujours Ă  jour car elles sont automatiquement testĂ©es par Cucumber. Si vous souhaitez crĂ©er un cadre de test automatisĂ© Ă  partir de zĂ©ro et simuler le comportement des utilisateurs dans une application Web, Selenium WebDriver avec Java et Cucumber BDD est un excellent moyen d'apprendre et de mettre en Ɠuvre Cucumber dans un projet.



Avantages clés



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


Concurrents ont



participé à la bataille, mais n'ont pas gagné



Parmi les autres cadres et outils spĂ©cifiques Ă  la technologie, seul le concombre peut ĂȘtre considĂ©rĂ© comme une solution universelle.



Outils de test de bout en bout



Lors de la réalisation de tests de bout en bout, il y a deux points clés sur lesquels se concentrer:



  • test fonctionel
  • Test de stress.


Dans les tests fonctionnels, nous vérifions si tout ce que nous voulons se passe réellement. Par exemple, lorsque je clique sur certains éléments de mon SPA (Single Page Application), remplis les formulaires et sélectionne «Soumettre», les données apparaissent dans la base de données et le message «Success!»



Il est Ă©galement important pour nous de vĂ©rifier qu'un certain nombre d'utilisateurs travaillant dans le mĂȘme scĂ©nario peuvent ĂȘtre manipulĂ©s sans erreur.



L'absence de ces 2 types de tests sera un inconvénient majeur dans votre pipeline CI / CD.



Outil de test de bout en bout n ° 1. Test fonctionel



Gagnant: SoapUI Pro





SoapUI travaille dans le domaine des tests d'API depuis longtemps, car les services Web basĂ©s sur SOAP Ă©taient la norme. Bien que nous ne crĂ©ions plus de nouveaux services SOAP et que le nom de l'outil n'ait pas changĂ©, cela ne signifie pas qu'il n'a pas Ă©voluĂ©. SoapUI fournit un excellent cadre pour la crĂ©ation de tests backend fonctionnels automatisĂ©s. Les tests peuvent ĂȘtre facilement combinĂ©s avec des outils d'intĂ©gration continue et utilisĂ©s dans le cadre du pipeline CI / CD.



Avantages clés



  • Documentation dĂ©taillĂ©e - SoapUI est sur le marchĂ© depuis longtemps, de nombreuses ressources en ligne ont Ă©tĂ© crĂ©Ă©es pour vous aider Ă  comprendre comment mettre en place des tests.
  • FacilitĂ© d'utilisation - Bien que l'outil prenne en charge plusieurs protocoles pour tester les API, SoapUI dispose d'une interface commune pour plusieurs services, ce qui facilite l'Ă©criture des tests.


Les concurrents se sont



battus, mais n'ont pas battu



Selenium - un autre excellent outil dans ce groupe. Je recommande de l'utiliser si vous créez et exécutez une application basée sur Java. Cependant, si vous créez une application Web complÚte avec plusieurs technologies, elle peut devenir lourde pour les composants non Java.



Outil de test de bout en bout n ° 1. Test de stress



Gagnant: LoadRunner





Explication: Lorsque vient le temps de tester le chargement de chaque Ă©lĂ©ment de l'application, seul LoadRunner peut effectuer cette tĂąche. Oui, c'est un peu cher et difficile au dĂ©but, mais LoadRunner est le seul outil qui me donne, en tant qu'architecte technique, une totale confiance que le nouveau code fonctionnera sous un stress extrĂȘme. De plus, je pense qu'il est temps de confier Ă  LoadRunner la responsabilitĂ© de l'Ă©quipe de dĂ©veloppement, pas de l'Ă©quipe de test.



Avantages clés



  • Documentation complĂšte - LoadRunner est sur le marchĂ© depuis longtemps, de nombreuses ressources en ligne ont Ă©tĂ© crĂ©Ă©es pour vous aider Ă  comprendre comment configurer les tests de charge.
  • Prise en charge du protocole - Load Runner prend en charge ODBC Ă  AJAX, HTTPS et tout autre protocole non trivial que votre application peut utiliser. Nous essayons de ne pas utiliser plusieurs outils pour les tests de charge, car cela ne fait que compliquer le processus.


Les concurrents ont



participé au Scramble, mais n'ont pas



encore gagné , il n'y a pas beaucoup d'outils universels dans ce domaine, donc la meilleure solution est celle qui fonctionnera dans n'importe quel environnement avec n'importe quelle technologie.



Outils de déploiement





Les outils de déploiement sont probablement l'aspect le moins compris du développement. Il est difficile pour une équipe opérationnelle d'utiliser de tels outils sans une compréhension approfondie du code et des fonctionnalités de l'application. Pour les développeurs, la gestion du déploiement est une nouvelle responsabilité, ils n'ont donc pas encore assez d'expérience avec ces outils.



Tout d'abord, divisons tous les outils de déploiement en trois sous-catégories:



  • gestion des artefacts
  • gestion de la configuration
  • dĂ©ployer.


Outil de gestion des artefacts n ° 1



Gagnant: Nexus





Le référentiel d'artefacts Nexus prend en charge presque toutes les technologies majeures, de Java à NPM en passant par Docker. Nous pouvons utiliser cet outil pour stocker tous les artefacts utilisés. Le proxy des gestionnaires de packages distants accélÚre également considérablement le processus de création de CI en rendant les packages plus disponibles à la construction. Un autre avantage est la possibilité d'obtenir une image complÚte de tous les packages utilisés dans plusieurs projets logiciels en bloquant les packages open source non sécurisés (ils peuvent agir comme un vecteur d'attaque).



Avantages clés



  • Support technique - Produit fiable; bien maintenu.
  • Open Source - La version gratuite ne limite pas les fonctionnalitĂ©s de base dont les Ă©quipes de dĂ©veloppement ont besoin.


Outil de gestion de la configuration n ° 1



Gagnant: Ansible



Ansible est le leader pour une raison simple: apatride. Auparavant, ces outils se concentraient sur la gestion de l'Ă©tat de configuration. Une fois lancĂ©, un tel outil, ayant reçu la configuration souhaitĂ©e, tentera de corriger la configuration actuelle de l'application. Et avec la nouvelle approche, seuls les composants sans Ă©tat sont prĂ©sents. Les nouvelles versions du code sont des artefacts qui sont dĂ©ployĂ©s pour remplacer ceux existants. Cela peut ĂȘtre considĂ©rĂ© comme une sorte d'environnement Ă©phĂ©mĂšre Ă  court terme.



Avantages clés



  • Stateless - Playbook est lancĂ© Ă  partir de la machine de dĂ©ploiement et exĂ©cutĂ© sur les serveurs cibles. Je ne m'inquiĂšte pas de l'Ă©tat de l'objet distant en utilisant un outil comme Packer pour crĂ©er des objets dĂ©ployables.
  • — CentOS, Ansible RedHat. , .
  • Molecule ( Ansible) — — , , . Molecule Ansible , , CI/CD-, .
  • YAML — , YAML . , , , DevOps-, — .


Les concurrents se sont battus



mais n'ont pas battu



OpsCode Chef - J'ai commencĂ© ma carriĂšre DevOps en tant que dĂ©veloppeur de livres de cuisine. Ruby et Chef sont, bien sĂ»r, trĂšs chers Ă  mon cƓur, mais ils ne rĂ©solvent tout simplement pas les problĂšmes des applications modernes sans Ă©tat et basĂ©es sur le cloud. OpsCode Chef est un excellent outil pour les applications plus traditionnelles, et dans cet article, nous nous concentrons sur l'avenir.



Puppet - Puppet n'a jamais eu beaucoup de fans, surtout par rapport à Chef et Ansible. Il est idéal pour l'approvisionnement et l'utilisation du matériel, mais il lui manque une prise en charge moderne de la gestion de la configuration pour une application Web.



Déployer l'outil n ° 1



Gagnant: Terraform





Terraform rĂ©sout le problĂšme de la description de votre infrastructure sous forme de code, des composants rĂ©seau aux images complĂštes du serveur. Ce produit a parcouru un long chemin depuis sa premiĂšre version, avec un grand nombre de plugins et une communautĂ© si forte qu'il vous aidera certainement dans n'importe quel scĂ©nario de dĂ©ploiement. La capacitĂ© de prendre en charge tout type d'environnement (sur site, dans le cloud ou ailleurs) est inĂ©galĂ©e. Enfin, la derniĂšre version fournit la plupart des mĂȘmes fonctions et classes logiques dans le HCL que tout autre langage de programmation traditionnel - les dĂ©veloppeurs sont rapides Ă  comprendre et peuvent maĂźtriser Terraform avec facilitĂ©.



Avantages clés



  • IndĂ©pendant de l'environnement - Terraform utilise des fonctions qui servent d'interface entre votre code Terraform, toutes les API et la logique interne pour communiquer avec le fournisseur d'infrastructure. Cela signifie que je n'apprendrai qu'un seul outil et que je pourrai travailler n'importe oĂč.
  • Open Source - Difficile de battre les outils gratuits! Soutien communautaire au plus haut niveau.


Concurrents ont



participĂ© Ă  la mĂȘlĂ©e, mais n'ont pas battu



AWS CloudFormation - MĂȘme si vous travaillez uniquement dans l'environnement cloud AWS, votre prochain travail peut avoir un outil diffĂ©rent. Consacrer tout votre temps et votre Ă©nergie Ă  une seule plateforme est une dĂ©cision Ă  courte vue. En outre, de nombreux nouveaux services AWS sont souvent disponibles en tant que modules Terraform avant de devenir disponibles dans CloudFormation.



Outils d'exécution







Le but ultime de tout projet de dĂ©veloppement est de lancer l'application en production. Dans le monde DevOps, nous voulons ĂȘtre pleinement informĂ©s de tous les problĂšmes possibles avec notre environnement, et nous voulons Ă©galement minimiser les interventions manuelles. Le choix du bon ensemble d'outils d'exĂ©cution est essentiel pour atteindre le nirvana lors du dĂ©veloppement de votre application.



Sous-catégories d'outils d'exécution:



  • X-as-a-service (XaaS)
  • orchestration
  • surveillance
  • enregistrement.


Outil X-as-a-Service # 1



Gagnant: Amazon Web Services





Amazon a toujours Ă©tĂ© un leader du cloud computing, mais cela ne s'arrĂȘte pas lĂ : la variĂ©tĂ© de nouveaux services pour les dĂ©veloppeurs Ă©blouit. TransfĂ©rez n'importe quelle technologie et modĂšle vers AWS et il sera crĂ©Ă© et lancĂ©. Le coĂ»t de l'outil est tout Ă  fait raisonnable: comparez-le avec l'assemblage, la gestion et la maintenance des Ă©quipements dans votre propre centre de donnĂ©es. La version gratuite vous permet d'expĂ©rimenter et de prendre la bonne dĂ©cision avant de dĂ©penser de l'argent.



Avantages clés



  • PrĂ©valence - Si vous avez de l'expĂ©rience dans la crĂ©ation d'applications sur AWS, vous pouvez travailler n'importe oĂč. Les entreprises adorent AWS et les startups apprĂ©cient Ă©galement son faible coĂ»t.
  • — , AWS . , , , - . .


Les concurrents se sont



battus, mais n'ont pas battu



Azure - Azure a parcouru un long chemin depuis sa premiĂšre version, et c'est louable. NĂ©anmoins, le dĂ©sir d'ĂȘtre diffĂ©rent des pairs a conduit Ă  des noms Ă©tranges pour les services, ce qui complique souvent le travail. Que signifie le stockage d'objets blob? Et bien que le code .NET fonctionne mieux dans l'Ă©cosystĂšme Microsoft, il est peu probable que vous utilisiez uniquement .NET pour chaque composant de votre application.



Heroku - Je ne lancerais jamais autre chose qu'un projet personnel sur Heroku en raison du faible niveau de fiabilité et de transparence, les entreprises ne devraient donc pas l'utiliser comme plate-forme. Heroku est idéal pour montrer quelque chose sur un blog, mais pour une utilisation pratique - «Non merci!».



Instrument d'orchestration n ° 1



Gagnant: OpenShift





Vous utilisez probablement Docker ou d'autres conteneurs dans votre pile d'applications. Les applications sans serveur sont excellentes, mais elles peuvent ne pas convenir Ă  toutes les architectures. L'exĂ©cution de conteneurs sans cadre d'orchestration ne fonctionnera tout simplement pas. Le noyau Kubernetes (K8s) est sans Ă©gal en termes de sĂ©curitĂ© et d'instrumentation. OpenShift est la seule plate-forme basĂ©e sur Kubernetes capable de crĂ©er Source2Image, de prendre en charge les dĂ©ploiements de pod automatisĂ©s, ainsi que de suivre et de surveiller. OpenShift peut ĂȘtre exĂ©cutĂ© sur site, dans le cloud ou sur site et dans le cloud en mĂȘme temps.



Avantages clés



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


Les concurrents se sont battus,



mais n'ont pas battu



Docker Swarm - Docker Swarm a essayé de simplifier les K8 en se débarrassant de beaucoup de choses. Cela fonctionne trÚs bien pour les petites applications, mais cela ne fonctionne tout simplement pas pour les applications d'entreprise. De plus, des solutions comme AWS ECS adoptent une approche similaire, mais facilitent le travail avec d'autres services avec lesquels je peux également interagir (Lambda, IAM, etc.).



Outil de surveillance n ° 1



Gagnant: New Relic





Les premiÚres versions de New Relic ont bien fait une chose - Application Performance Monitoring (APM). Il s'agit désormais d'un outil de surveillance complet pour surveiller les performances du serveur, du conteneur, de la base de données, la surveillance de l'expérience de l'utilisateur final et bien sûr la surveillance des performances des applications.



Avantages clés



  • FacilitĂ© d'utilisation - Quand j'Ă©tais ingĂ©nieur systĂšme, j'utilisais beaucoup d'outils de surveillance, mais je ne suis jamais tombĂ© sur quelque chose d'aussi simple et facile Ă  utiliser que New Relic. C'est SaaS, vous n'avez donc pas besoin de l'installer vous-mĂȘme.
  • — . , , , . New Relic , .


Concurrents ont



participé à la bataille, mais n'ont pas gagné



Zabbix - Mon premier et préféré systÚme de surveillance, mais il est resté dans le passé en raison du manque de développement dans les technologies cloud et dans le domaine de la surveillance des performances des applications APM. Zabbix fonctionne toujours bien avec la surveillance de l'infrastructure de serveur traditionnelle, mais c'est à peu prÚs tout.



DataDog - Trop concentrĂ© sur le processus de gestion de l'environnement de production de l'application, et non sur le code lui-mĂȘme. Avec les Ă©quipes DevOps qui impliquent des dĂ©veloppeurs, nous n'avons pas besoin de s'appuyer sur des outils complexes pour fournir un support de premier ordre.



Outil de journalisation n ° 1



Gagnant: Splunk





Splunk est difficile Ă  concurrencer! Pendant longtemps, il reste le leader de l'exploitation forestiĂšre, continuant Ă  le faire de son mieux. Avec les offres sur site et SaaS, vous pouvez utiliser Splunk n'importe oĂč. L'inconvĂ©nient majeur est son prix: Splunk est encore sacrĂ©ment cher!



Avantages clés



  • PrĂ©valence - Les entreprises adorent Splunk et les entreprises ont l'argent pour l'acheter.
  • Bien que les startups essaient de rĂ©cupĂ©rer les coĂ»ts, de nombreuses fonctionnalitĂ©s peuvent ĂȘtre rĂ©solues grĂące Ă  leurs homologues open source.
  • MaintenabilitĂ© - En termes simples, Splunk fonctionne et le fait bien. Il est livrĂ© avec de nombreux paramĂštres par dĂ©faut et fonctionnalitĂ©s prĂȘtes Ă  l'emploi. Inutile de perdre du temps Ă  lire la documentation et Ă  essayer de faire fonctionner Splunk ou de dĂ©crypter quoi que ce soit.


Les concurrents se sont battus



, mais n'ont pas battu



ELK Stack (ElasticSearch, LogStash et Kibana) - Ces outils semblent ĂȘtre des favoris car vous n'avez mĂȘme pas Ă  vendre du foie pour les utiliser. Cependant, avec la croissance de l'ensemble des logs et l'augmentation du nombre d'applications Ă  bord, le travail devient de plus en plus difficile. Par rapport Ă  Splunk, avec ELK Stack, j'ai passĂ© beaucoup plus de temps Ă  configurer la boĂźte Ă  outils avant de crĂ©er des tableaux de bord que jamais auparavant.



Outils de collaboration





DevOps concerne principalement le changement de culture au sein d'une organisation. L'achat d'un outil ne changera pas du jour au lendemain les pratiques habituelles, mais il peut certainement favoriser la collaboration et de nouvelles façons d'interagir.



Sous-catégories d'outils de collaboration:



  • suivi des tĂąches
  • ChatOps
  • Documentation.


Suivi des problÚmes n ° 1



Gagnant: Jira





Jira conserve une position de leader, bien que la concurrence dans ce domaine s'intensifie. L'incroyable flexibilité de Jira permet aux équipes de développement et de maintenance de gérer le travail du projet et les tùches de sprint. Les normes intégrées utilisant la terminologie Agile facilitent le passage des méthodes de travail traditionnelles à des processus plus efficaces.



Avantages clés



  • PopularitĂ© - Comme beaucoup d'autres outils, Jira est utilisĂ© presque partout. Les petites Ă©quipes utilisent une version moins chĂšre et plus abordable et obtiennent tout ce dont elles ont besoin, tandis que les grandes entreprises peuvent se permettre une licence plus Ă©levĂ©e.
  • — Jira — . , Jira , , . Jira , , .


Les concurrents



doivent donner un coup de pied mais ne pas



battre Trello - Trello a rapidement gagné en popularité grùce à son outil Kanban gratuit. Cependant, une fois que les processus évoluent et que vous passez de dizaines de tùches à des milliers, Trello est difficile à naviguer, à rechercher et à générer des rapports.



Pivotal Tracker - J'Ă©tais un grand fan de cet outil lorsque je travaillais pour une startup. Cependant, Pivotal Tracker est plus axĂ© sur la gestion des produits que sur les tĂąches techniques. Bien que la gestion d'un produit dans Jira soit un peu plus complexe, elle peut toujours y ĂȘtre implĂ©mentĂ©e sans utiliser d'outil supplĂ©mentaire.



Outil ChatOps n ° 1



Gagnant: MatterMost





Explication: Peut-ĂȘtre la plus grande surprise pour vous dans ma collection, et c'est une excellente nouvelle! MatterMost a gagnĂ© en popularitĂ© en prenant le meilleur des instruments prĂ©cĂ©dents, mais en les intĂ©grant sur site. Ceci est trĂšs important pour les entreprises: MatterMost vous permet de contrĂŽler les donnĂ©es, et aide Ă©galement Ă  les intĂ©grer avec des outils qui fonctionnent sur site. Nous n'avons plus besoin de sortir du pare-feu pour vĂ©rifier les discussions professionnelles.



Avantages clés



  • Open Source - La version open source de MatterMost fonctionne trĂšs bien pour les Ă©quipes moyennes et grandes. Contrairement au plan gratuit Slack, qui supprime l'historique de vos messages, exĂ©cuter votre propre serveur signifie que vous enregistrez toutes vos donnĂ©es.
  • IntĂ©grations - Étant donnĂ© que l'API est presque Ă  100% basĂ©e sur l'API Slack, presque toutes les intĂ©grations Slack peuvent ĂȘtre utilisĂ©es directement avec MatterMost.


Les concurrents ont



participé à la bataille, mais n'ont pas battu



Slack - Slack est cool, mais ces gars ont tellement grandi qu'ils ont commencé à chercher du profit. Le stade de la récupération des affaires approche, ce qui enlÚve leur valeur principale: Slack a fourni des services gratuitement; L'inconvénient le plus important de la version gratuite est la suppression de l'historique des discussions.



Microsoft Teams - Essayez d'intégrer un produit Microsoft avec quelque chose qui n'est pas Microsoft ... Bonne chance! C'est tout ce que je veux dire sur cet outil!



Outil de documentation n ° 1



Gagnant: Confluence





La création et le maintien d'une documentation technique de qualité est un processus complexe quel que soit l'outil que vous utilisez. Bien qu'il y ait eu de nombreux outils de documentation SaaS sur le marché ces derniers temps, il me serait difficile d'externaliser le stockage de la documentation technique des applications critiques à des tiers. Le stockage des données et des documents est préférable au stockage sur site, et voici comment Confluence le résout.



Avantages clés



  • FacilitĂ© d'utilisation - La plupart des outils autonomes peuvent ĂȘtre un peu difficiles Ă  configurer et Ă  utiliser et nĂ©cessitent certaines connaissances pour ĂȘtre entretenus. Confluence Server fonctionne trĂšs bien prĂȘt Ă  l'emploi pour 10 ou 10 000 utilisateurs.
  • Plugins - Merci Ă  Confluence pour avoir une navigation agrĂ©able et facile hors de la boĂźte, et pouvoir ajouter un plugin pour Ă  peu prĂšs tout ouvre le potentiel en tant que Wiki.


Les concurrents se sont



battus, mais n'ont pas gagné



Lisez la documentation - Cool pour l'open source, mais ne pensez mĂȘme pas Ă  stocker des connaissances critiques ici.



MarkDown - Idéal pour documenter le code, mais il est difficile d'héberger l'architecture, les processus ou d'autres types de documentation ici en raison du formatage spécifique de MarkDown.



Jekyll - Lors de la documentation des connaissances techniques, je ne veux pas créer un nouveau site statique qui se déploiera à chaque changement. Le systÚme de contrÎle de version simple de Confluence simplifie considérablement la documentation interne.



RĂ©sumons



Il existe littĂ©ralement des centaines d'outils DevOps sur le marchĂ©, ce qui rend difficile de savoir lesquels doivent ĂȘtre utilisĂ©s et quand ils doivent ĂȘtre mis en Ɠuvre. Suivez ce guide simple pour choisir les outils DevOps pour un pipeline CI / CD complet.



N'oubliez pas de choisir des outils parmi les cinq catégories:



  • outils de dĂ©veloppement et de construction
  • outils d'automatisation de test
  • outils de dĂ©ploiement
  • Outils d'exĂ©cution
  • outils de collaboration.


Top recommandation: tout automatiser!



Merci Ă  Zach Shapiro!



All Articles