Il y a quelques années, il pouvait s’écouler plusieurs semaines voire plusieurs mois entre la fin du développement d’une nouvelle fonctionnalité, d’un service ou d’un logiciel, et sa disponibilité auprès des utilisateurs. Depuis quelques temps, un mouvement bouleverse la donne : le DevOps. C’est l’agrégation des termes Développement (Dev) et Opération (Ops), avec pour objectif de faciliter le déploiement rapide de nouvelles fonctionnalités applicatives dans un environnement industriel conforme aux besoins de production. Un mouvement logique, aux atouts indéniables, dans le contexte actuel de la transformation digitale des entreprises mais qui nécessite quelques précautions et bonnes pratiques.

L’importance de l’alignement des équipes développement et opérations

Dans une immense majorité d’entreprises, quel que soit le secteur, deux équipes évoluent en parallèle : d’un côté une équipe de développeurs, communément appelés les « Devs ». Ils sont chargés de développer les applications, c’est-à-dire tout ce qui est lié de près ou de loin aux interfaces utilisées par les employés et par les clients. Le développement est un travail continu, partagé entre les correctifs, les améliorations et les nouvelles fonctionnalités. Dans un contexte d’accélération digitale, la rapidité d’adaptation des logiciels métiers dépend de la compétitivité de l’entreprise.

De l’autre côté, on trouve les responsables de l’opérationnel (« Ops » pour « operations » en anglais), chargés des infrastructures de l’entreprise. La mission des Ops est d’intégrer ces changements dans un processus industriel, de standardiser, d’homogénéiser le tout et de l’adapter aux normes du secteur dans lequel évolue l’entreprise (SOC2, GDPR, ISO 2700x).
Ces deux entités étaient animées d’un état d’esprit et d’un fonctionnement différent il y a quelques années encore.

Et si c’est encore le cas dans nombre d’entreprises, plusieurs facteurs bouleversent cette organisation. Tout d’abord, la taille et le nombre des applications a considérablement augmenté et leur mise en production peut parfois prendre beaucoup plus de temps. Il a donc fallu accélérer la mise en production. Surtout, l’exigence des utilisateurs combinée aux nombreuses normes en vigueur oblige les entreprises à se montrer bien plus agiles dans leurs développements. Enfin, l’arrivée du Cloud et la possibilité de consommer à la demande », y compris l’infrastructure, a également joué dans l’avènement du mouvement DevOps.

Il y a un prérequis indispensable à l’adoption DevOps. En effet si certaines entreprises veulent, par leur stratégie ou par nécessité, embrasser ce mouvement, il est indispensable que ces deux mondes, développeurs et équipes d’exploitation, partagent, dès le départ, la même dynamique, la même volonté. Sans quoi il sera impossible d’obtenir un alignement des métiers et des opérations avec un pilotage performant.

Créer un environnement hybride, entre conformité, contrôle et indépendance des métiers

Pour mettre en place un environnement DevOps, il faut impérativement mettre son organisation et ses processus à plat puis choisir les bons outils : il s’agit de trouver les solutions qui permettent d’établir les ponts entre les équipes. Malgré toute la bonne volonté du monde, ces équipes, pour travailler de concert, doivent disposer des moyens adaptés à leur mission. Ces outils doivent tout d’abord intégrer le partage d’indicateurs et permettre la mise en place de processus transversalisés. Repository, gestion du cycle de vie des applications, management d’API mais également outils de test et de déploiement en continu sont ainsi indispensables, le tout devant être intégré dans un environnement Cloud privé / Cloud public.

Lorsqu’on parle de DevOps, il faut distinguer 4 phases importantes : le développement, la phase de test, la préproduction et la production. Dès la 1ère phase, il est indispensable de penser et d’intégrer les contraintes liées à l’exploitation et à la mise en production (supervision, sauvegarde, sécurité, exploitabilité, etc.). Cela doit être un processus continu jusqu’à la phase de production, sans quoi le processus complet peut échouer voire rendre impossible la mise en production … Le risque de devoir reprendre au début du cycle est alors réel.

Certifications et authentifications, des notions à prendre en compte dès le début du développement

Un autre aspect est souvent négligé au lancement d’un projet DevOps : l’environnement doit absolument prendre en compte tous les aspects législatifs (certificabilité, authentification, auditabilité, homologation, etc.). Sans cette approche, cela risque de ralentir l’innovation dans l’entreprise. Ainsi, la problématique ne doit pas être envisagée par l’infrastructure mais par le métier : ce sont les équipes qui proposent les solutions, l’infrastructure n’étant qu’un « outil ». Pour cela, une entreprise peut par exemple commencer par appliquer le DevOps à un périmètre précis, restreint pour commencer, puis étendre la démarche en élargissant le périmètre d’application.

Les équipes chargées de la gouvernance, de la gestion des risques et de la conformité doivent ainsi être impliquées dès le début et tout au long de chaque cycle. Il faut donc créer un environnement qui soit hybride, entre conformité, contrôle et indépendance des métiers.

Adopter une transformation digitale sans DevOps n’est plus envisageable en 2017. L’entreprise doit pouvoir aller vite, en s’appuyant sur des process efficaces, adaptés et sécurisés, grâce notamment au Cloud. Dans cette optique, l’approche traditionnelle n’est plus adaptée. Le mouvement DevOps est une démarche d’innovation, de rupture, qui s’adresse aux entreprises à la recherche d’efficacité et qui souhaitent réussir à aligner leurs besoins de nouveaux services, de façon permanente et continue.

________
Yves Pellemans est CTO d’Axians France