Qu'est-ce que le DevOps ? Explications pour utilisateurs non avertis

Écrit le 22/10/2019 par Arnaud Brun

DevOps

Il y a des buzzwords et jargons ultra spécialisés qui font paraître toujours pour un retardataire. Il en est ainsi du terme DevOps.

Le terme DevOps correspond à la fusion des tâches qu'effectuent les équipes chargées du développement des applications (Dev) et de l'exploitation des systèmes (Ops, pour opérations) pour fluidifier et rationaliser la création et la mise à disposition d'applications d'entreprise.

Pour bien comprendre l’effet de mode, il faut comprendre que quelques années auparavant, le modèle traditionnel pour un logiciel reposait sur des exigences très normées et soigneusement définies à l’avance. Il y avait un côté immuable de la solution et des processus mis en place. Les développeurs se chargeaient du codage du logiciel, et les équipes opérationnelles le mettait en œuvre sur les infrastructures. Les évolutions se faisait sur une échelle de temps proche de l’année. Et si cela n’était pas correctement mis en œuvre, ou si le besoin évoluait, on perdait de nouveau une année.

Depuis, la concurrence et l’accélération des échanges imposent aux entreprises de faire évoluer plus vite les processus et les organisations. L’impact est le besoin d’adapter les développements réalisés et déployés. C’est ainsi que la partie ‘ops’, c’est-à-dire l’équipe opérationnelle qui se charge de la publication, du déploiement, de l’exploitation et de la surveillance du logiciel s’est rapproché de la partie développement et codage.

Les silos traditionnels entre les développeurs, les testeurs, les responsables de la publication et les administrateurs systèmes sont abandonnés. Durant tout le processus de développement et de déploiement, tous collaborent plus étroitement, ce qui leur permet de mieux comprendre leurs questions et défis respectifs.

Le logo de DevOps est le symbole de l’infini, pour bien faire passer le message qu’il s’agit d’un processus proche des processus qualité, à savoir de revues régulières d’amélioration continue. Une activité DevOps, c’est en effet du développement continue, des revues de test régulières, de l’intégration et des mises en œuvre, et une surveillance constante.

Ainsi, les compétences principales requises en mode DevOps sont :

  • Travailler selon une approche orientée sur le client, sur de courtes périodes de retours d’utilisateurs finaux.
  • Éviter le modèle en cascade où chaque département travaille séparément, sans avoir une vue d’ensemble
  • Automatiser tout ce qui peut l’être, y compris l’infrastructure, en utilisant par exemple des conteneurs (infrastructure scalable as code)
  • L’intégration en amont des contraintes de security by design et de privacy by design, regroupé autour du concept de SecDevOps

L’utilisation du mode DevOps en entreprise entraine ainsi une forte automatisation qui oblige à réfléchir sur les processus et les rôles de chacun. Ainsi, le DevOps impacte la gouvernance de l’entreprise et nécessite bien souvent des ajustements pour mieux maîtriser les processus métiers, les automatiser, et redéfinir précisément les rôles.

Netsach propose des services et des solutions permettant d'accélérer concrètement la modernisation et la transformation des applications métiers.