Accueil🇫🇷Chercher

Chaîne d'outils Devops

Une chaîne d'outils Devops est une combinaison d’outils participant au développement, à la distribution et plus généralement à la gestion d’applications logicielles tout au long de leur cycle de développement. Chaque entreprise qui utilise la méthode DevOps la coordonne[1].

En général, les outils DevOps conviennent chacun à une ou plusieurs activités qui traitent les initiatives spécifiques au DevOps : Plan (planifier), Create (créer), Verify (vérifier), Package (emballer), Release (livrer), Configure (configurer) et Monitor (surveiller)[2] - [3].

La chaîne d’outils

Dans l'industrie logicielle, une chaîne d’outils est un ensemble d’outils de programmation utilisés pour réaliser une tâche complexe en développement de logiciel pour créer un logiciel, typiquement un autre programme informatique ou un ensemble de programmes reliés. Généralement, les outils qui forment une chaîne sont exécutés successivement pour que le produit ou l’environnement résultant d'un outil devienne la donnée ou l’environnement d’entrée du suivant. Ce n’est cependant pas forcément toujours le cas, et le terme est aussi utilisé quand on parle d’un ensemble d’outils qui ne sont pas exécutés consécutivement.

Le DevOps étant un ensemble de méthodes qui insistent sur la collaboration et la communication entre les développeurs et les autres professionnels de l'informatique, tout en automatisant les processus de livraison des logiciels et les changements d’infrastructure, sa mise en œuvre peut inclure la série d’outils utilisés à différentes étapes du cycle. La mise en place de DevOps est un changement culturel qui exige la collaboration entre le développement (Dev) et l'exploitation (Ops), il ne peut pas y avoir un produit considéré, seul, comme l’outil de DevOps. C’est plutôt une collection d’outils, venant le cas échéant de plusieurs fournisseurs, qui sont utilisés en combinaison dans une ou plusieurs étapes du cycle[4] - [5] - [6].

Les Ă©tapes de DevOps

Plan : Planifier

Planifier est composĂ© en fait en deux parties : « dĂ©finir Â» et « planifier[1] Â». Cette Ă©tape concerne la valeur commerciale et les exigences des applications. Plus prĂ©cisĂ©ment, les activitĂ©s de la planification comprennent la dĂ©finition de :

  • Indicateurs, objets, et retours d’expĂ©rience de production
  • Exigences
  • Mesures commerciales
  • MĂ©triques de mise Ă  jour et de mise en production
  • Plan, timing et analyse de rentabilisation des releases
  • Politique de sĂ©curitĂ©.

Plusieurs catégories d'informaticiens sont impliquées dans ces procédures : le propriétaire des applications de l’entreprise, les développeurs de logiciel, l'architecte logiciel, le gestionnaire des mises en production continue, l'agent de sécurité et les gestionnaires de l'infrastructure. Parmi les sociétés qui offrent des solutions automatisant l’étape Plan, l'on trouve Atlassian, CA Technologies, iRise et Jama Software.

Create : Créer

L’étape Create comprend la construction, le codage et la configuration du processus de développement de logiciel. Les activités associées sont :

  • La conception et la configuration du logiciel,
  • Le codage, y compris les contrĂ´les de qualitĂ© et de performance,
  • Le build du logiciel (assemblage des diffĂ©rentes parties), et sa performance,
  • La prĂ©paration de la livraison.

Les outils et sociétés fournisseurs dans cette catégorie se chevauchent souvent avec ceux des autres étapes, ce qui est normal car le DevOps consiste à décloisonner les équipes. Quelques solutions et fournisseurs notables sont Bitbucket, GitLab CE, GitHub, Electric Cloud et CFEngine.

Verify : VĂ©rifier

L’étape Verify est directement liée à la garantie de qualité de la livraison du logiciel : il comporte des activités conçues pour assurer que la qualité logicielle est assurée et que la plus haute qualité est déployée à la production. Les activités principales sont :

Les fournisseurs qui offrent des solutions pour cette étape entrent dans quatre catégories principales : automatisation des tests (ThoughtWorks, IBM, HP), analyse statique (Parasoft, Microsoft, SonarSource), laboratoire de test (Skytap, Microsoft, Delphix), et sécurité (HP, IBM, Trustwave, FlawCheck).

Package : Empaqueter

L'Ă©tape Package concerne les activitĂ©s impliquĂ©es une fois la livraison prĂŞte pour le dĂ©ploiement. Elle est parfois aussi appelĂ©e « PrĂ©production Â» (ou « PrĂ©prod Â») et comprend notamment :

  • L’approbation et l’approbation prĂ©alable
  • La configuration de livraison
  • Les livraisons dĂ©clenchables
  • Le regroupement et l'emballage des livraisons.

Les outils qui traitent cette Ă©tape sont les gestionnaires universels de paquets comme : Artifactory (JFrog), Nexus (SonaType) et ProGet (Inedo)[7].

Release : Livrer

Les activités de programmation, d’orchestration, de provisionnement et de déploiement de logiciel en production et en environnement ciblé sont toutes incluses dans l’étape Release[8]. Plus spécifiquement :

  • La coordination des livraisons
  • Le dĂ©ploiement et la promotion des applications
  • Le repli et la rĂ©cupĂ©ration
  • Les livraisons planifiĂ©es/programmĂ©es.

Les solutions qui couvrent ces aspects de la chaîne d’outils sont l’ARA (Application Release Automation), l’automatisation du déploiement et la gestion des mises en production (release management). Les fournisseurs concernés sont Automic, Clarive, Inedo, BMC Software, IBM, VMware, et XebiaLabs[9].

Configure : Configurer

L'étape Configure se trouve du côté Ops (exploitation) de DevOps. Une fois le logiciel déployé, il peut y avoir d’autres activités de configuration et en préparation de l’infrastructure, comme :

  • L'infrastructure de stockage, la mise en place et la configuration de la base de donnĂ©es et du rĂ©seau ;
  • La mise en place et la configuration de l’application.

Les solutions pour faciliter ces activités sont les outils de Continuous Configuration Automation, gestion de configuration et Infrastructure as Code. Par exemple : Ansible, Chef, Puppet, Otter et Salt.

Monitor : Surveiller

Monitor est un lien important dans la chaîne d’outils DevOps. Il permet à l’organisation informatique d’identifier un problème précis d’une livraison particulière et d'en comprendre l’impact sur l’utilisateur final. Ses activités sont :

  • Performances de l'infrastructure
  • L’expĂ©rience et la rĂ©action de l’utilisateur final
  • Les mĂ©triques et les statistiques de production.

Les informations venant des activités Monitor ont souvent un impact sur les activités Plan requises pour les changements et pour les nouveaux cycles de livraison. Les fournisseurs, dans cette étape, sont BigPanda, Ganglia, New Relic et Wireshark.

Notes et références

  1. Avoid Failure by Developing a Toolchain that Enables DevOps, Gartner,
  2. Damon Edwards, « Integrating DevOps tools into a Service Delivery Platform », sur dev2ops.org
  3. Richard Seroter, « Exploring the ENTIRE DevOps Toolchain for (Cloud) Teams », sur infoq.com
  4. « Toolchain Overview », sur nongnu.org, (consulté le )
  5. « Toolchains », sur elinux.org, (consulté le )
  6. « Tool Chains in Agile ALM Environments: A Short Introduction », Lecture Notes in Computer Science,‎ , p. 371–380 (DOI 10.1007/978-3-319-26138-6_40, lire en ligne, consulté le )
  7. Xavier Decoster, « An Overview of the NuGet Ecosystem », sur CodeProject.com,
  8. Best Practices in Change, Configuration and Release Management, Gartner,
  9. Market Overview: Application Release Automation Tools, Forrester,
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.