Definition

DevOps

Cette définition fait partie de notre Guide Essentiel : Petit guide pour assimiler l’approche FinOps

Le terme DevOps correspond au mélange des tâches qu'effectuent les équipes d'une entreprise chargées du développement des applications (Dev) et de l'exploitation des systèmes (Ops, pour opérations).

Le terme DevOps s'utilise de différentes manières.

Dans son sens le plus large, DevOps désigne une philosophie ou une approche culturelle qui favorise une meilleure communication entre les deux équipes, à mesure qu'un nombre croissant d'éléments de leur fonctionnement deviennent programmables.

Dans son sens le plus restreint, DevOps décrit le poste qu'occupe un employé doté des compétences nécessaires pour travailler à la fois en tant que développeur et ingénieur système.

Dans certains secteurs industriels, le terme sert également à décrire un modérateur entre deux groupes, qui opérerait comme un orchestrateur Scrum afin d'aider les équipes de développement et d'exploitation à se focaliser prioritairement sur la gestion du cycle de vie des applications, l'ALM (Application Lifecycle Management).

Le Cloud Computing et les réseaux logiciels (SDN, Software-Defined Network) sont deux courants qui ont accéléré la destruction des silos que séparaient jusqu'alors le développement et l'exploitation.

Traditionnellement, dans l'entreprise, l'équipe de développement des applications est chargée de collecter les exigences métier dont doit tenir compte un logiciel, puis d'en rédiger le code. L'équipe de développement teste son programme dans un environnement isolé à des fins d'assurance qualité. Ensuite, si les exigences sont satisfaites, elle met le code à la disposition des équipes opérationnelles pour exploitation.

Ce paradigme pose un problème : lorsque les deux équipes travaillent séparément, le développement peut ne pas être au courant des obstacles opérationnels qui empêchent le programme de fonctionner comme attendu.

L'approche DevOps cherche à fusionner développement et déploiement au sein d'un exercice plus rationalisé.

Le kit d'outils DevOps comprend des outils de gestion des configurations, tels que Puppet et Chef ; un référentiel, comme GitHub, pour le stockage des versions du code ; des outils d'indexation comme Splunk ; des outils pour surveiller la manière dont les modifications apportées au code affectent l'environnement, comme Nagios ; sans oublier des langages de script, comme Perl, PHP et JavaScript.

Cette définition a été mise à jour en août 2015

En savoir plus DevOps

Pour approfondir sur DevOps et Agilité

Close