Docker véritable rupture technologique
L’année 2014 a été marquée par la montée en puissance de Docker, et de ses « containeurs ». L’intérêt des entreprises est sans aucune mesure. Pour preuve, les géants de l’IT ont été contraints de réagir : Google, VMware, RedHat ou encore Microsoft se sont tous positionnés pour intégrer cette technologie à leurs offres.

Expliquer cet engouement revient à comprendre l’apport technologique de Docker et les changements qu’il opère sur l’organisation du système d’information.
L’unité de référence
du système d’information
Docker emprunte à la logistique le concept de containeur. Le
containeur reste le moyen le plus simple d’acheminer d’un bout à l’autre de la planète toutes
sortes de produits quels que soit leur forme ou leur aspect. Les voies
maritimes en sont les meilleurs exemples. Elles ont permis l’émergence de
nouveaux modèles économiques.
Reprenant ce concept, Docker positionne le containeur comme l’unité de référence au
sein du SI. Ainsi, une application et
ses prérequis opérationnels sont « conditionnés », et standardisés sous
la forme d’un « containeur ». Dès
lors, les différentes équipes de l’entreprise peuvent communiquer et se
structurer autour d’une unité logique de
référence.
Le principal gain : Docker permet ainsi d’atteindre un
niveau d’industrialisation de l’exploitation jamais atteint. En intégrant cette
unité de « référence » dans leur parc applicatif, les directions
seront en mesure de consolider leurs équipes autour de compétences communes et
d’entrevoir des économies d’échelle significatives.
Garantir la qualité et la pérennité
Intéressons-nous maintenant à l’une des grandes
problématiques des DSI, la gestion des versions et des changements. Garantir un
service opérationnel, version après version, nécessite des processus rigoureux
et en cohérence avec la gouvernance choisie. Dans un environnement hétérogène,
voir concurrentiel, il est facile d’avoir des processus lourds et coûteux.
Docker est un précieux allié pour y parvenir. Les containeurs
introduisent la notion d’immuabilité : un containeur est unique et invariant. C’est-à-dire qu’une modification
de l’environnement, de la configuration ou de l’application aboutit à la
création d’un nouveau containeur, différent.
Un containeur est une boite contenant tous les prérequis
d’un service (système d’exploitation, configurations, dépendances, etc.). Une
fois « scellé », rendre opérationnel et fonctionnel ce service ne
nécessite plus que des « consommables » : CPU, mémoire, réseau, stockage,
etc.
Un containeur peut être véhiculé entre toutes les parties
prenantes du SI, des études à la production mais également par les métiers pour
les phases de « tests ». Les directions informatiques sont alors en
mesure d’imaginer des processus innovants pour renforcer la qualité. Chaque application, et son
containeur associé, peut ainsi
bénéficier d’un « passeport » retraçant son parcours dans
l’entreprise, en ayant la garantie que les tests automatisés ou non ont été
satisfaits.
Construire des architectures agiles
Finalement les containeurs s’apparentent aux briques d’un
célèbre jeu. Mettez-les entre les mains des architectes, des métiers, des
développeurs et ils seront en mesure de concevoir un système d’information agile.
Les containeurs permettent de repenser l’IT de l’entreprise.
Si rendre opérationnelle une application revient à fournir les ressources
matérielles dont elle a besoin, il est facile d’imaginer comment mettre en
place une politique de haute disponibilité,
ou encore de sécuriser et cloisonner l’application aux équipes ou
filiales qui l’utilisent. Les retours arrière en cas d’incident, ou les mises à
jour ne nécessitent plus de compétences spécifiques mais s’inscrivent dans une
gestion automatisée.
Choisir de mettre en place une filière
« containeur » est aussi l’occasion de structurer les équipes
différemment, plus proche d’une démarche agile. En effet, comme le containeur
devient le réceptacle de l’application mais aussi de ses prérequis, il convient
de trouver la bonne organisation entre équipes de développement et système. Et
si les équipes métiers et fonctionnelles sont intégrées à la démarche, il est
tout à fait envisageable de mettre un processus complètement automatisé, permettant
à une idée d’être disponible pour les utilisateurs … en quelques semaines.
Tout comme les solutions de virtualisation qui ont permis de rationaliser l’infrastructure, Docker introduit de nouveaux concepts qui
permettent de rationaliser cette fois-ci le cycle de vie d’une application.
Pour conclure, Docker nous permet d’entrevoir comment :
- renforcer la qualité du parc applicatif via des
processus complément automatisés,
- rationaliser les ressources et les dépendances
nécessaires à l’exploitation d’applications,
- innover pour offrir de nouvelles expériences aux
utilisateurs,
- consolider l’ensemble des équipes et leurs
compétences autour d’un référentiel commun.
Docker a su formaliser une technologie vieille de 10 ans pour lui donner une autre dimension. Nous pouvons alors nous demander ce qu’il manque à ce produit pour devenir un must-have ? Un peu de temps, quelques retours de grands acteurs de l’IT et la mise en place d’un « contrat d’exploitation » permettant aux acteurs du SI de normaliser leurs échanges dans ce nouvel écosystème.