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

La rĂ©volution DevOps a enfin conquis le monde et les outils DevOps sont devenus incroyablement populaires. Selon le service , le nombre de demandes dâ« outils DevOps » ne cesse de croĂźtre, et cette tendance se poursuit.
La mĂ©thodologie DevOps couvre l'ensemble du cycle de vie du dĂ©veloppement logiciel, afin que les professionnels puissent 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 une telle diversitĂ© de fonctions quâelles peuvent gĂ©rer presque toutes les tĂąches.
Divisons les outils DevOps en catégories et comparons-les avec leurs analogues :
- outils de développement et de construction
- outils d'automatisation des tests
- outils pour organiser le déploiement
- Outils d'exécution
- outils de collaboration.
Une mise en Ćuvre rĂ©ussie et rĂ©flĂ©chie comprend des instruments des cinq groupes Ă©numĂ©rĂ©s ci-dessus. Analysez l'ensemble d'outils actuel 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 la base de la pile de pipelines 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
GIT a eu un bilan positif en 2020, votre outil SCM doit donc avoir une prise en charge transparente pour GIT. Pour CI, une condition prĂ©alable est la capacitĂ© dâexĂ©cuter et dâexĂ©cuter des builds dans un environnement de conteneur isolĂ©. En ce qui concerne la gestion des donnĂ©es, elle nĂ©cessite la capacitĂ© d'apporter des modifications au schĂ©ma de la base de donnĂ©es et de maintenir la base de donnĂ©es en fonction de 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 continuera certainement Ă ĂȘtre Ă la pointe de l'innovation dans un avenir proche.
La fonction principale de GitLab est de fournir une gestion confortable d'un 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 sur votre référentiel, et GitLab le fait depuis longtemps. Pour utiliser GitLab-CI, vous devez ajouter un fichier .gitlab-ci.yml à la racine de votre code source, et toute modification apportée au projet déclenchera des actions basées exactement sur ce que vous avez spécifié. GitLab et GitLab-CI sont à juste titre reconnus 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 ; écurie; Bien soutenu.
- Open Source â La version gratuite de GitLab ne limite 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 aux entreprises de tailles et de besoins variĂ©s.
- CI engrainĂ©e - Aucun autre outil sur le marchĂ© n'a construit une intĂ©gration continue directement dans SCM comme GitLab-CI. L'utilisation de Docker garantit des builds isolĂ©s sans tracas et les rapports intĂ©grĂ©s facilitent le 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 permet une intĂ©gration facile de tous les outils DevOps dont vous avez besoin. Cela garantit que les Ă©quipes de dĂ©veloppement et de maintenance disposent dâune source unique dâinformations sur leur application dans nâimporte quel environnement.
concurrents
A participé à la bataille, mais n'a pas gagné
Il existe d'autres outils populaires dans cette catégorie, mais ils ne sont pas aussi performants que GitLab. Et c'est pourquoi:
GitHub â Il s'agit d'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 pour lesquelles il est important de conserver les adresses IP sur leur propre rĂ©seau, la seule solution de GitHub Ă©tait la machine virtuelle .OVA sans prise en charge des systĂšmes Ă haute disponibilitĂ©. Cela rend la maintenance sur site difficile ; de plus, .OVA ne convient qu'aux entreprises de taille moyenne, sinon le serveur plantera simplement sous une charge plus importante. L'absence d'actions GitHub (jusqu'Ă rĂ©cemment et pas encore dans une version sur site) ou de CI-as-code signifie que vous devez choisir un outil CI distinct, puis gĂ©rer cette intĂ©gration. Enfin, GitHub est beaucoup plus cher que les deux versions de GitLab.
Jenkins â Bien que Jenkins soit considĂ©rĂ© par dĂ©faut comme le standard 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 ainsi qu'une sorte d'outil SCM. C'est trop difficile quand GitLab peut faire les deux. Une conception UX mĂ©diocre ne convient pas Ă une application Web moderne et laisse beaucoup Ă dĂ©sirer.
BitBucket/Bambou â Je dois le reconnaĂźtre comme un perdant automatique : pourquoi deux outils quand GitLab fait tout en toute indĂ©pendance. BitBucket Cloud prend en charge la fonctionnalitĂ© GitLab-CI / GitHub Action, 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 de données n°1
Gagnant: Voie de migrationDB

Dans le dĂ©veloppement dâapplications Web, lâautomatisation des bases de donnĂ©es nâa gĂ©nĂ©ralement pas dâimportance. L'idĂ©e de dĂ©ployer des modifications du schĂ©ma de base de donnĂ©es pour les nouvelles versions de l'application arrive tardivement. Les modifications de schĂ©ma entraĂźnent souvent l'ajout et le renommage de colonnes ou de tables. Si la version de l'application ne correspond pas Ă la version du schĂ©ma, l'application peut planter. De plus, la gestion des modifications de la base de donnĂ©es lors de la mise Ă jour d'une application peut s'avĂ©rer 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 et de transférer ou d'annuler facilement les modifications de schéma sans outil supplémentaire pour cela.
- Binaire ou intégré - Nous pouvons choisir d'exécuter Flyway dans le cadre de l'application ou en tant qu'exécutable binaire. Flyway vérifie la compatibilité des versions au démarrage et démarre les migrations appropriées, en gardant les versions de base de données et d'application synchronisées. En exécutant la commande ad hoc cmd line, nous offrons de la flexibilité aux bases de données existantes sans reconstruire l'intégralité de l'application.
concurrents
A participé à la bataille, mais n'a pas gagné
Il n'y a pas beaucoup d'outils dans ce domaine. Examinons-en quelques-uns :
LiquiBase â Liquibase ressemble Ă FlywayDB. J'aimerais l'installer au-dessus de Flyway si j'avais quelqu'un dans mon Ă©quipe avec plus d'expĂ©rience avec Liquibase.
Flocteur - Ne peut fonctionner que pour les applications conteneurisĂ©es. Pour exĂ©cuter avec succĂšs des bases de donnĂ©es conteneurisĂ©es, tout doit ĂȘtre parfaitement planifiĂ©. Je recommande d'utiliser RDS (Relational Database Service) pour les bases de donnĂ©es et ne conseille pas de stocker des informations importantes 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 :
- Tests unitaires - C'est la base de l'ensemble du processus de test automatisé. Il devrait y avoir plus de tests unitaires par rapport aux autres types de tests. Les développeurs écrivent et exécutent des tests unitaires pour garantir qu'une partie d'une application (appelée « unité ») est conforme à sa conception et se comporte comme prévu.
- Tests de composants - L'objectif principal des tests de composants est de vérifier le comportement d'entrée/sortie de l'objet de test. Nous devons nous assurer que la fonctionnalité de l'objet de test est correctement implémentée conformément à la spécification.
- Tests d'intégration - Un type de test dans lequel des modules logiciels individuels sont combinés et testés en groupe.
- Tests de bout en bout : cette Ă©tape est explicite. Nous surveillons lâensemble de lâapplication et veillons Ă ce quâelle fonctionne comme prĂ©vu.
Ătant donnĂ© que les tests unitaires et les tests de composants sont effectuĂ©s uniquement par les dĂ©veloppeurs et sont souvent spĂ©cifiques au langage de programmation, nous n'Ă©valuerons pas ces outils pour le domaine DevOps.
Outil de test d'intégration n°1
Gagnant: Concombre

Cucumber combine les spécifications et la documentation de test en un seul document évolutif. 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 modéliser le comportement des utilisateurs dans une application Web, Selenium WebDriver avec Java et Cucumber BDD est un excellent moyen d'apprendre et d'implémenter Cucumber dans un projet.
Avantages clés
- Approche BDD (Behaviour Driven Development - « dĂ©veloppement par le comportement » par opposition Ă l'approche « dĂ©veloppement pilotĂ© par les tests ») - Cucumber est conçu pour les tests BDD, il a Ă©tĂ© créé Ă l'origine pour cette tĂąche mĂȘme.
- Documentation vivante â La documentation est toujours pĂ©nible ! Puisque vos tests sont Ă©crits sous forme de code, Cucumber teste la documentation gĂ©nĂ©rĂ©e automatiquement pour garantir que les tests et la documentation sont synchronisĂ©s.
- Assistance - Nous pouvons choisir parmi de nombreux outils, mais Cucumber dispose des ressources financiÚres nécessaires et d'un systÚme d'assistance bien organisé pour aider les utilisateurs dans toute situation difficile.
concurrents
A participé à la bataille, mais n'a pas gagné
Parmi dâautres frameworks et outils spĂ©cifiques Ă la technologie, seul Cucumber peut ĂȘtre considĂ©rĂ© comme une solution universelle.
Outils de test de bout en bout
Lorsque vous effectuez des tests de bout en bout, vous devez vous concentrer sur deux points clés :
- test fonctionel
- Tests de résistance.
Lors des tests fonctionnels, nous vérifions si tout ce que nous souhaitons se produit réellement. Par exemple, lorsque je clique sur certains éléments de mon SPA (candidature monopage), que je remplis les formulaires et que je sélectionne « Soumettre », les données apparaissent dans la base de données et le message « SuccÚs ! » apparaßt à l'écran.
Il est Ă©galement important pour nous de vĂ©rifier qu'un certain nombre d'utilisateurs exĂ©cutant le mĂȘme scĂ©nario peuvent ĂȘtre traitĂ©s sans erreur.
Lâabsence de ces 2 types de tests sera un inconvĂ©nient important dans votre pipeline CI/CD.
Outil de test de bout en bout n°1. Test fonctionel
Gagnant: SoapUI Pro

SoapUI est prĂ©sent dans le domaine des tests d'API depuis longtemps puisque les services Web basĂ©s sur SOAP Ă©taient la norme. MĂȘme si nous ne crĂ©ons plus de nouveaux services SOAP et que le nom de l'outil n'a pas changĂ©, cela ne veut pas dire qu'il n'a pas Ă©voluĂ©. SoapUI fournit un excellent cadre pour crĂ©er des tests fonctionnels backend automatisĂ©s. Les tests peuvent ĂȘtre facilement combinĂ©s avec des outils d'intĂ©gration continue et utilisĂ©s dans le cadre d'un pipeline CI/CD.
Avantages clés
- Documentation détaillée - SoapUI est sur le marché depuis assez longtemps, il existe donc de nombreuses ressources en ligne qui peuvent vous aider à comprendre comment configurer des tests.
- Facilité d'utilisation - Bien que l'outil prenne en charge plusieurs protocoles pour tester les API, la présence par SoapUI d'une interface commune pour plusieurs services facilite l'écriture de tests.
concurrents
A participé à la bataille, mais n'a pas gagné
Sélénium est un autre excellent instrument de 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. Tests de résistance
Gagnant: LoadRunner

Explication: Quand vient le temps de tester en charge chaque Ă©lĂ©ment de votre application, seul LoadRunner peut terminer la tĂąche. Oui, c'est cher et difficile au dĂ©but, mais LoadRunner est le seul outil qui me donne, en tant qu'architecte technique, l'assurance totale que le nouveau code fonctionnera dans des conditions de charge extrĂȘmes. Aussi, je pense qu'il est temps que LoadRunner soit repris par les Ă©quipes de dĂ©veloppement plutĂŽt que par les Ă©quipes de tests.
Avantages clés
- Documentation complÚte - LoadRunner est sur le marché depuis un certain temps, il existe donc de nombreuses ressources en ligne pour vous aider à comprendre comment configurer des tests de charge.
- Prise en charge du protocole - Load Runner prend en charge tout, d'ODBC Ă AJAX, HTTPS et tout autre protocole non trivial que votre application pourrait utiliser. Nous essayons de ne pas utiliser plusieurs outils pour les tests de charge, car cela ne fait que compliquer le processus.
concurrents
A participé à la bataille, mais n'a pas gagné
Encore une fois, il nâexiste pas beaucoup dâoutils universels dans ce domaine, la meilleure solution est donc celle qui fonctionnera dans nâimporte quel environnement et avec nâimporte quelle technologie.
Outils de déploiement

Les outils de dĂ©ploiement sont probablement l'aspect le moins compris du dĂ©veloppement. Pour une Ă©quipe opĂ©rationnelle sans une comprĂ©hension approfondie du code et des fonctionnalitĂ©s de lâapplication, il est difficile dâutiliser de tels outils. Pour les dĂ©veloppeurs, la gestion du dĂ©ploiement est une nouvelle responsabilitĂ©, ils n'ont donc pas encore suffisamment d'expĂ©rience avec de tels 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 d'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 que nous utilisons. Le proxy des gestionnaires de packages distants accélÚre également considérablement le processus de création de CI, rendant les packages plus accessibles pour la création. Un autre avantage est la possibilité d'obtenir une vue complÚte de tous les packages utilisés dans plusieurs projets logiciels, bloquant ainsi les packages open source dangereux (ils peuvent agir comme un vecteur d'attaque).
Avantages clés
- Support technique - Produit fiable ; Bien soutenu.
- 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 configuration n°1
Gagnant: Ansible
Ansible est un leader pour une raison simple : apatride. Auparavant, des outils similaires se concentraient sur la gestion de l'Ă©tat de la 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 de code sont des artefacts dĂ©ployĂ©s pour remplacer les versions existantes. Cela peut ĂȘtre considĂ©rĂ© comme une sorte dâenvironnement Ă©phĂ©mĂšre et Ă court terme.
Avantages clés
- Sans état : le Playbook est lancé depuis la machine de déploiement et exécuté sur les serveurs cibles. Je n'ai pas à me soucier de l'état de l'objet distant en utilisant un outil comme Packer pour créer des objets déployables.
- Open Source â Comme CentOS, Ansible est Ă©galement pris en charge par RedHat. Il aide Ă maintenir la communautĂ© et fournit des modules de haute qualitĂ© et faciles Ă utiliser.
- Tests avec Molecule (un framework Ansible) â Puisque la gestion de la configuration est du code, comme tout le reste, les tests sont essentiels. Le cadre de test de rĂŽle Ansible de Molecule fonctionne parfaitement, garantissant que la configuration est de la mĂȘme qualitĂ© et suit le mĂȘme pipeline CI/CD que le code de l'application.
- YAML â ComparĂ© Ă dâautres outils, YAML est plus facile Ă comprendre. Ătant donnĂ© que la gestion de la configuration constitue gĂ©nĂ©ralement un nouveau dĂ©fi pour ceux qui mettent en Ćuvre des pratiques DevOps, la simplicitĂ© est son atout.
concurrents
A participé à la bataille, mais n'a pas gagné
Chef OpsCode â J'ai commencĂ© ma carriĂšre DevOps en tant que dĂ©veloppeur de livres de recettes. Ruby et Chef me tiennent bien sĂ»r Ă cĆur, mais ils ne rĂ©solvent tout simplement pas les problĂšmes des applications cloud natives et apatrides modernes. OpsCode Chef est un excellent outil pour les applications plus traditionnelles, mais dans cet article, nous nous concentrons sur l'avenir.
Fantoche â Puppet n'a jamais eu beaucoup de fans, surtout en comparaison avec Chef et Ansible. Il est idĂ©al pour le provisionnement 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.
Outil de déploiement 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 version initiale, avec tellement de plugins créés et une communautĂ© si forte que vous serez sĂ»r d'obtenir de l'aide dans n'importe quel scĂ©nario de dĂ©ploiement. La capacitĂ© Ă prendre en charge tout type dâenvironnement (sur site, dans le cloud ou ailleurs) est sans prĂ©cĂ©dent. Enfin, la derniĂšre version fournit en grande partie les mĂȘmes fonctions et classes logiques dans HCL que tout autre langage de programmation traditionnel, ce qui rend Terraform facile Ă comprendre pour les dĂ©veloppeurs, rapidement et facilement.
Avantages clés
- IndĂ©pendant de l'environnement - Terraform utilise des fonctions qui agissent comme une interface entre votre code Terraform, toutes les API et la logique interne pour communiquer avec le fournisseur d'infrastructure. Cela signifie que je ne maĂźtriserai quâun seul outil et que je pourrai ensuite travailler nâimporte oĂč.
- Open Source â Il est difficile de battre les outils gratuits ! Soutien communautaire au plus haut niveau.
concurrents
A participé à la bataille, mais n'a pas gagné
AWS CloudFormation â MĂȘme si vous travaillez uniquement dans l'environnement cloud AWS, votre prochain travail peut utiliser un outil diffĂ©rent. Consacrer tout votre temps et votre Ă©nergie Ă une seule plateforme est une dĂ©cision Ă courte vue. De plus, de nombreux nouveaux services AWS sont souvent disponibles sous forme de modules Terraform avant d'ĂȘtre 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 conscients de tous les problĂšmes possibles avec notre environnement et nous voulons Ă©galement minimiser les interventions manuelles. Choisir le bon ensemble dâoutils dâexĂ©cution est essentiel pour atteindre le nirvana du dĂ©veloppement dâapplications.
Sous-catégories d'outils d'exécution :
- X-as-a-service (XaaS)
- orchestration
- surveillance
- enregistrement.
X-tool-as-a-service #1
Gagnant: Amazon Web Services

Amazon a toujours Ă©tĂ© un leader dans les technologies cloud, mais cela ne s'arrĂȘte pas lĂ : la diversitĂ© des nouveaux services destinĂ©s aux dĂ©veloppeurs est rĂ©vĂ©latrice. Apportez n'importe quelle technologie et n'importe quel modĂšle Ă AWS et il sera construit et exĂ©cutĂ©. Le coĂ»t de l'outil est tout Ă fait raisonnable : comparez-le Ă l'assemblage, Ă la gestion et Ă la maintenance des Ă©quipements de 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 dans AWS, vous pouvez travailler n'importe oĂč. Les entreprises adorent AWS et les startups apprĂ©cient Ă©galement son faible coĂ»t.
- La version gratuite est un facteur vraiment important qui distingue AWS de ses pairs. Laissez-moi essayer le service et voir comment il fonctionne avant de prendre une dĂ©cision d'achat, je ne veux pas dĂ©penser des milliers de dollars pour quelque chose d'inutile. La version gratuite me suffit toujours pour tester nâimporte quel concept.
concurrents
A participé à la bataille, mais n'a pas gagné
Azure « Azure a parcouru un long chemin depuis sa premiĂšre version, et c'est louable. Cependant, le dĂ©sir d'ĂȘtre diffĂ©rent a conduit Ă des noms Ă©tranges pour les services, ce qui complique souvent le travail. Que signifie « stockage blob » ? Et mĂȘme si 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 dirigerais 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 dĂ©montrer quelque chose sur un blog, mais pour une utilisation pratique - "Non, merci !"
Outil 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 ne conviennent pas nĂ©cessairement Ă toutes les architectures. ExĂ©cuter des conteneurs sans plate-forme dâorchestration ne fonctionnera tout simplement pas. Kubernetes Core (K8s) est inĂ©galĂ© en termes de sĂ©curitĂ© et d'outils. OpenShift est la seule plate-forme basĂ©e sur Kubernetes capable de collecter Source2Image, de prendre en charge le dĂ©ploiement automatisĂ© sur les pods et de prendre en charge le suivi et la surveillance. OpenShift peut ĂȘtre exĂ©cutĂ© sur site, dans le cloud ou simultanĂ©ment sur site et dans le cloud.
Avantages clés
- SĂ©curitĂ© intĂ©grĂ©e - La gestion de la sĂ©curitĂ© du K8 peut nĂ©cessiter un diplĂŽme d'Ă©tudes supĂ©rieures. Chaque dĂ©tail doit ĂȘtre soigneusement pensĂ© et pris en compte ! Les mĂ©canismes de sĂ©curitĂ© intĂ©grĂ©s par dĂ©faut avec OpenShift soulagent les dĂ©veloppeurs et fournissent une plate-forme plus sĂ©curisĂ©e pour les applications.
- Solution tout-en-un - Contrairement aux K8 de base, qui n'incluent pas d'outils d'Ă©quilibrage de charge par dĂ©faut, OpenShift a tout pour plaire. Je peux l'utiliser pour crĂ©er et hĂ©berger des conteneurs, exĂ©cuter des outils CI/CD, gĂ©rer des processus externes, gĂ©rer des clĂ©s et bien plus encore. Bien que l'interface utilisateur graphique soit encore loin d'ĂȘtre parfaite, l'approche basĂ©e sur l'API signifie que tout peut ĂȘtre dĂ©crit dans un script. Contrairement Ă d'autres interfaces graphiques pour K8, OpenShift facilite grandement l'apprentissage des bases de Kubernetes. Vous n'avez mĂȘme pas besoin d'obtenir un diplĂŽme !
concurrents
A participé à la bataille, mais n'a pas gagné
Docker Swarm â Docker Swarm a essayĂ© de simplifier les K8 en supprimant beaucoup de choses. C'est idĂ©al pour les petites applications, mais pour les applications d'entreprise, cela ne fonctionne tout simplement pas. 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 suivi n°1
Gagnant: Nouvelle relique

Les premiÚres versions de New Relic ont bien fait une chose : la surveillance APM (Application Performance Monitoring). Il s'agit désormais d'un outil de surveillance complet qui vous permet de surveiller les performances du serveur, du conteneur, de la base de données, de l'expérience de l'utilisateur final et, bien sûr, de la surveillance des performances des applications.
Avantages clés
- FacilitĂ© d'utilisation â Lorsque je travaillais en tant qu'ingĂ©nieur systĂšme, j'utilisais de nombreux outils de surveillance, mais je n'en ai jamais rencontrĂ© un aussi simple et facile Ă utiliser que New Relic. C'est SaaS, vous n'avez donc pas besoin de l'installer vous-mĂȘme.
- VisibilitĂ© de bout en bout : d'autres outils tentent de surveiller un Ă©lĂ©ment spĂ©cifique de votre application. Par exemple, une mesure de l'utilisation du processeur ou du trafic rĂ©seau, mais tout cela doit ĂȘtre surveillĂ© de maniĂšre globale pour que l'application fonctionne correctement. New Relic vous donne la possibilitĂ© de rassembler toutes vos donnĂ©es pour obtenir une vue complĂšte de ce qui se passe.
concurrents
A participé à la bataille, mais n'a 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 surveille toujours bien l'infrastructure de serveur traditionnelle, mais c'est tout.
DataDog â Trop centrĂ© sur le processus de gestion de l'environnement de production de l'application, et non sur le code lui-mĂȘme. Avec des Ă©quipes DevOps impliquant des dĂ©veloppeurs, nous n'avons pas besoin de nous appuyer sur des outils difficiles Ă utiliser pour fournir un support de premier ordre.
Outil de journalisation n°1
Gagnant: Splunk

Difficile de rivaliser avec Splunk ! Pendant longtemps, il reste le leader de l'exploitation forestiĂšre, continuant Ă le faire mieux que quiconque. Avec les offres sur site et SaaS, vous pouvez utiliser Splunk n'importe oĂč. Le gros bĂ©mol est son prix : Splunk reste quand mĂȘme sacrĂ©ment cher !
Avantages clés
- OmniprĂ©sent â ââLes entreprises adorent Splunk et ont lâargent nĂ©cessaire pour lâacheter.
- Bien que les startups tentent de rĂ©cupĂ©rer leurs coĂ»ts, de nombreuses fonctions peuvent ĂȘtre rĂ©solues grĂące Ă des analogues open source.
- MaintenabilitĂ© â En termes simples, Splunk fonctionne et le fait bien. Il est livrĂ© avec de nombreux paramĂštres et fonctionnalitĂ©s par dĂ©faut prĂȘts Ă ĂȘtre utilisĂ©s. Pas besoin de perdre du temps Ă lire la documentation et Ă essayer de faire fonctionner Splunk ou de dĂ©chiffrer quoi que ce soit.
concurrents
A participé à la bataille, mais n'a pas gagné
Pile ELK (ElasticSearch, LogStash et Kibana) « Ces outils semblent ĂȘtre les favoris car vous nâavez mĂȘme pas besoin de vendre votre foie pour les utiliser. » Cependant, Ă mesure que l'ensemble des journaux s'agrandit et que le nombre d'applications embarquĂ©es augmente, le travail devient de plus en plus difficile. Par rapport Ă Splunk, avec ELK Stack, j'ai passĂ© beaucoup plus de temps Ă configurer les outils avant de crĂ©er des tableaux de bord que jamais auparavant.
Outils de collaboration

DevOps consiste avant tout Ă changer la culture au sein dâune organisation. L'achat d'un outil ne changera pas les pratiques actuelles du jour au lendemain, mais cela peut certainement encourager la collaboration et de nouvelles façons d'interagir.
Sous-catégories d'outils de collaboration :
- suivi des tĂąches
- ChatOps
- Documentation.
Outil de suivi des problÚmes n°1
Gagnant: Jira

Jira maintient sa position de leader, mĂȘme si la concurrence dans ce domaine s'accentue. L'incroyable flexibilitĂ© de Jira permet aux Ă©quipes de dĂ©veloppement et de maintenance de gĂ©rer le travail de 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 la version la moins chĂšre et la plus accessible et obtiennent tout ce dont elles ont besoin, tandis que les grandes entreprises peuvent se permettre une licence plus chĂšre.
- Intégrations - Jira est un pionnier dans son domaine. Ce fait et le développement rapide du produit conduisent au fait que d'autres entreprises choisissent Jira pour créer leurs propres intégrations, augmentant ainsi la valeur de l'outil. Nous pouvons intégrer Jira avec tous les outils répertoriés dans cet article dÚs le départ avec une petite configuration.
concurrents
A participé à la bataille, mais n'a pas gagné
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 devient difficile Ă naviguer, Ă rechercher et Ă crĂ©er des rapports.
Pivotal Tracker â J'Ă©tais un grand fan de cet outil lorsque je travaillais pour une startup. Cependant, Pivotal Tracker se concentre davantage sur la gestion des produits plutĂŽt que sur les tĂąches techniques. Bien que la gestion de produits 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 grosse surprise pour vous dans ma sĂ©lection, et c'est une bonne nouvelle ! MatterMost a gagnĂ© en popularitĂ© en tirant le meilleur parti des outils prĂ©cĂ©dents mais en les plaçant sur site. C'est trĂšs important pour les entreprises : MatterMost vous permet de contrĂŽler vos donnĂ©es et vous aide Ă©galement Ă les intĂ©grer Ă des outils qui s'exĂ©cutent localement. 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 forfait gratuit de Slack, qui supprime l'historique de vos messages, exĂ©cuter votre propre serveur signifie que vous conservez toutes vos donnĂ©es.
- IntĂ©grations - Ătant donnĂ© que l'API est basĂ©e Ă presque 100 % sur l'API Slack, presque toutes les intĂ©grations Slack peuvent ĂȘtre utilisĂ©es directement avec MatterMost.
concurrents
A participé à la bataille, mais n'a pas gagné
Slack â Slack, c'est cool, mais ces gars-lĂ ont tellement grandi qu'ils ont commencĂ© Ă chercher du profit. La phase de rĂ©cupĂ©ration de l'entreprise approche, ce qui lui enlĂšve sa principale valeur : Slack fournissait 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 n'appartenant pas Ă Microsoft... Bonne chance ! C'est tout ce que j'ai Ă dire sur cet outil !
Outil de documentation n°1
Gagnant: Confluence

Créer et maintenir une documentation technique de qualité est un processus complexe, quel que soit l'outil que vous utilisez. Bien que de nombreux outils de documentation SaaS soient arrivés sur le marché récemment, il me serait difficile de sous-traiter le stockage de la documentation technique sur les applications critiques à un tiers. Il est préférable de stocker les données et les documents sur site, et c'est ainsi que Confluence résout le problÚme.
Avantages clés
- Facile Ă utiliser â La plupart des outils autonomes peuvent ĂȘtre un peu complexes Ă configurer et Ă utiliser et nĂ©cessitent certaines connaissances pour leur maintenance. Confluence Server fonctionne parfaitement pour 10 ou 10,000 XNUMX utilisateurs.
- Plugins - FĂ©licitations Ă Confluence pour avoir une navigation belle et facile Ă utiliser prĂȘte Ă l'emploi, et la possibilitĂ© d'ajouter un plugin pour presque tout libĂšre le potentiel de type Wiki.
concurrents
A participé à la bataille, mais n'a pas gagné
Lire la documentation â Cool pour l'open source, mais ne pensez mĂȘme pas Ă stocker des connaissances critiques ici.
Réduction - Idéal pour documenter le code, mais difficile de publier une architecture, des processus ou d'autres types de documentation en raison du formatage spécifique de MarkDown.
Jekyll â Lors de la documentation des connaissances techniques, je ne souhaite pas crĂ©er un nouveau site statique qui sera dĂ©ployĂ© Ă chaque changement. Le systĂšme simple de contrĂŽle de version de Confluence simplifie grandement la documentation interne.
Récapituler
Il existe littĂ©ralement des centaines dâoutils DevOps sur le marchĂ©, ce qui rend difficile de savoir lesquels utiliser et quand les mettre en Ćuvre. Suivez ce guide simple pour choisir les outils DevOps pour un pipeline CI/CD complet.
Assurez-vous de sélectionner des outils dans les cinq catégories :
- outils de développement et de construction
- outils d'automatisation des tests
- outils de déploiement
- Outils d'exécution
- outils de collaboration.
Recommandation principale : Automatisez tout !
Merci Zach Shapiro!
Source: habr.com
