DevOps : des compétences clés pour l’ère du numérique

Development et Operations doivent mieux collaborer. Au cours des dix dernières années, le DevOps s’est imposé en tant que nouvelle approche.

Auteur Markus Schweizer
Date 23.05.2017
Temps de lecture 6 Minutes

Les départements développement (Development) et exploitation des systèmes (Operations) doivent mieux collaborer. Au cours des dix dernières années, le DevOps s’est imposé en tant que nouvelle approche dans le domaine informatique.

En raison des résultats rapides et incrémentiels des projets de développement d’applications agiles (“DEVelopment”) et grâce à de nouvelles technologies telles que les conteneurs, de nouveaux moyens ont dû et ont pu être trouvés pour transporter plus rapidement les résultats vers la production (“OPerations”). L’enjeu est non seulement de relever un défi technique, mais aussi de trouver une nouvelle forme de collaboration entre le développement d’applications et l’exploitation des systèmes informatiques. C’est à ce niveau que le DevOps offre un énorme potentiel : l’avènement du numérique exige une nouvelle culture de collaboration entre l’informatique et le commercial mais aussi entre l’entreprise et les clients !

Le DevOps est donc un élément clé à l’ère du numérique. Qu’est-ce que le DevOps exactement ? Les méthodes de développement agiles et les nouveaux canaux pour fournir des solutions logicielles (Cloud, Software as a service, applications) permettent l’ajout, la modification et la suppression rapides et flexibles de fonctionnalités. Au lieu d’attendre les nouvelles versions de logiciels pendant plusieurs mois, on reçoit désormais des mises à jour continuellement. Pour cela, les processus de développement, de test et de modification de nouvelles versions doivent bien sûr eux aussi être accélérés, c’est-à-dire automatisés. Le schéma ci-dessous illustre l’approche DevOps avec des outils tels que Docker et OpenShift.

Le développeur d’applications teste ses artefacts dans l’outil de gestion de versions de son choix, p. ex. GIT ou SVN. Ensuite, Docker permet de créer les conteneurs d’application qui sont ensuite soumis, en quantité illimitée, à des tests unitaires et à des tests d’intégration automatisés à l’aide d’Openshift. Enfin, grâce à Docker Registry, le nouveau conteneur remplace l’ancien dans l’environnement spécifique (test/intégration/production). Si un problème se présente dans une nouvelle version, le conteneur peut simplement être échangé contre n’importe quelle version précédente. Le retour en arrière tant redouté si le nouveau logiciel s’avère défaillant n’est donc plus que l’affaire de quelques clics.

L’approche DevOps avec des outils tels que Docker et OpenShift (schéma: CSC)
L’approche DevOps avec des outils tels que Docker et OpenShift (schéma: CSC)

Les avantages de cette méthode sont séduisants : il est maintenant possible d’offrir de nouvelles fonctionnalités à un rythme quotidien ou hebdomadaire au lieu d’un rythme mensuel ou annuel. Cette méthode a pour effet de réduire de manière drastique les coûts de travail en cours, tout en augmentant immédiatement la valeur ajoutée grâce aux nouvelles fonctions. Par ailleurs, la qualité et la productivité du service informatique s’améliorent également. Une nouvelle étude (State of DevOps Report 2016) réalisée par Gene Kim, qui a déjà décrit les principes du DevOps dans son livre The Phoenix Project, révèle le constat suivant : selon un sondage effectué auprès de 25’000 professionnels de l’informatique à travers le monde, les entreprises utilisant le DevOps enregistrent des améliorations considérables.

State of DevOps Report 2016-normal
Grafique: https://puppet.com/resources/white-paper/2016-state-of-devops-report

Les gains au niveau de la productivité et de la qualité sont très impressionnants. Toutefois, on constate aussi que les processus du DevOps sont beaucoup plus adaptés aux applications modernes sur le Cloud, sur Internet et sur mobiles qu’aux applications mainframe créées il y a 20 ans. Par ailleurs, l’aspect culturel est également déterminant dans le succès du DevOps : grâce à la nouvelle robustesse et à l’efficacité de l’outil, les développeurs et le personnel chargé de l’exploitation des systèmes peuvent maintenant à nouveau prendre des décisions spontanées, en face-à-face. Pour réduire les risques de panne liés à des versions défaillantes, il faut supprimer les importantes barrières organisationnelles qui séparent le développement et l’exploitation. C’est précisément à ce niveau qu’intervient l’énorme potentiel du DevOps, en tant que modèle de l’ère du numérique.

Le DevOps a bâti le pont entre le développement et l’exploitation dans le domaine informatique. Pour faire face à l’avènement du numérique, il faut également construire un tel pont entre l’informatique et le commercial pour, au final, créer des moyens de collaboration plus rapides entre les fournisseurs et les clients. Le DevOps est le prérequis indispensable pour appliquer le principe “try fast, fail fast” qui prévaut à l’ère du numérique.


A propos de l'auteur

Markus Schweizer

Markus Schweizer est formateur Digicomp, expert ITIL® et Cobit ainsi que consultant en stratégie chez DXC Technology pour toutes les questions de gestion des technologies de l’informatique. Auparavant, il a travaillé pour IBM et PwC et a passé neuf ans aux États-Unis où il a conseillé des grosses entreprises dans le déploiement de concepts de gestion de services. Il est spécialisé en gestion d’entreprises informatique, en numérisation interne, en gouvernance et en SIAM.