Apparu en 2007, le terme DevOps désigne alors en informatique l’unification du pôle développement (Dev) et du pôle exploitation, c’est-à-dire l’administration système, en anglais : Operations (Ops). Il s’agit d’une idée, d’un mouvement qui suppose que le brassage de compétences entre ces deux unités confère plus d’agilité et de fiabilité lors de la conception d’une application ou d’un logiciel.
Grands principes du DevOps
En treize ans d’existence, le concept du DevOps a évolué avec le temps. Auparavant, il consistait tout simplement à donner aux développeurs l’accès au travail des administrateurs systèmes et à l’environnement d’exploitation en général. Le but était l’automatisation des tâches répétitives et courantes. Actuellement, il s’agit de travailler, non pas à la chaîne, mais ensemble. Les Devs acquièrent des connaissances et des compétences relatives au travail des Ops et vice-versa. Sachant qu’en principe le développement et l’exploitation n’ont pas forcément les mêmes objectifs au sein de l’entreprise, la satisfaction des utilisateurs demeure le but commun et c’est dans cette optique que la culture DevOps trouve sa raison d’être. Techniquement, le DevOps sert à accélérer et faciliter le déploiement de services tout en permettant une intervention rapide et en continu pour résoudre un bug ou pour améliorer l’application en tenant compte des retours d’expériences. On parle ainsi d’agilité du processus, de la conception au lancement, tout en assurant la fiabilité du produit.

DevOps et mode de déploiement
Aujourd’hui, on distingue trois types de déploiement : le déploiement progressif, le déploiement canari et déploiement blue/green.
Le déploiement progressif consiste à la mise en place de plusieurs serveurs hébergeant l’applicatif. La mise à jour est déployée uniquement sur quelques serveurs tandis que les autres continuent d’héberger la version précédente. Les utilisateurs n’ont donc pas accès aux mêmes versions en même temps, certains feront office de cobaye pour la nouvelle version. Après résolution des éventuelles erreurs, la nouvelle version sera progressivement déployée vers les autres serveurs. Le concept n’est pas très différent pour le déploiement canari mais cette fois-ci, on raisonne par utilisateurs et non par serveurs. Un groupe d’utilisateurs avertis aura la possibilité d’utiliser en premier la nouvelle version. Les testeurs, triés sur le volet, sont appelés canaris et leurs retours d’expériences, voire leurs suggestions sont exploitées pour apporter les modifications nécessaires sur l’application avant de mettre en ligne la mise à jour. Le déploiement blue/green repose sur la gestion de deux environnements identiques : un environnement de production et un environnement de simulation. Cette méthode permet de réaliser des mises à jour importantes ou des refontes. Les utilisateurs sont basculés vers la version finale en même temps après la phase de test. Seul bémol : la gestion de deux environnements semblables nécessite deux fois plus de moyens humains et d’infrastructures.
Comment les entreprises perçoivent le DevOps
GitLab a réalisé, ces 3 dernières années, une étude auprès de 3 650 développeurs issus d’entreprises de typologie diverses, des TPE aux plus grandes et de leur rapport à l’approche DevOps.
- 83% des collaborateurs déclarent qu’ils délivrent plus rapidement du code, notamment avec les méthodes Agile/Scrum ;
- 35% ont doublé leur vitesse ;
- 25% délivrent leur code dix fois plus vite.
Un effet collatéral est l’impact positif en matière de sécurité. Ainsi 28% des répondants sont pleinement responsables et satisfaits de la cybersécurité de leurs entreprises grâce à l’approche transverse, globale et centralisée permise par le DevOps.
On constate que les petites entreprises se mettent de plus en plus au DevOps, contrairement aux idées reçues qui supposent leur inadaptabilité à cette pratique. Le recours au DevOps et la transition vers le Cloud ont permis à bon nombre d’entreprises de s’adapter à la situation sanitaire et la nécessité de travailler à distance. Quand l’agilité dépasse le cadre du code.
L’approche DevOps c’est bien. Avec les outils et les process c’est mieux → h8l.io pour découvrir le DevOps-as-a-Service



