Complémentaire de la virtualisation, la conteneurisation permet d’encapsuler des applications dans des conteneurs virtuels autonomes et sécurisés. L’avantage : ces conteneurs, très légers, n’embarquent pas leurs propres systèmes d’exploitation, mais s’appuient sur des infrastructures sous-jacentes mutualisées.
Le 13 mars 2016, Docker, grand spécialiste des containers logiciels virtuels, a fêté en grande pompe son troisième anniversaire à San Francisco. Il faut dire que tout sourit à ce jeune éditeur, qui a connu des débuts laborieux dans l’Hexagone, sous le nom de dotCloud, avant de s’exporter outre-Atlantique et d’y trouver le succès avec l’un des premiers logiciels open source de mise en œuvre de containers logiciels. La société – cofondée par le français Solomon Hykes et plusieurs ingénieurs passés par l’Epitech – s’est même fait une place l’an dernier dans le club ultra-select des jeunes pousses dont la valorisation dépasse le milliard de dollars.
Simplification des tâches d’administration
Plusieurs explications à ce succès. La conteneurisation à la Docker a dès le départ été pensée pour résoudre l’un des casse-têtes auxquels sont confrontés les administrateurs systèmes : la nécessité de gérer indépendamment chacune des machines virtuelles hébergées sur les serveurs de l’entreprise ou dans le cloud.
“Docker est un système qui permet de faire tourner n’importe quel code source sur n’importe quel serveur.” Solomon Hykes, cofondateur de Docker
En lieu et place de l’encapsulation du logiciel et de la plate-forme qui le supporte dans une partition virtualisée, dotée d’un hyperviseur, Docker facilite la création de « conteneurs » isolés qui s’appuient tous sur un même système d’exploitation partagé. Le premier bénéfice se situe dans la taille du conteneur, nettement inférieure à celle d’une machine virtuelle « classique » : il n’embarque que le code essentiel à l’application et s’appuie au maximum sur tous les logiciels de chaque serveur. Un autre avantage tient à la parfaite indépendance du conteneur vis-à-vis de la plate-forme sous-jacente : il devient ainsi plus facilement transportable d’une machine à l’autre, sans risque que l’architecture serveur ne s’en trouve perturbée.
Développements accélérés
Pour les éditeurs, et principalement les start-ups, Docker offre en outre des gages d’accélération du temps de développement des nouvelles applications : une fois portées dans des containers Docker (on parle de solutions « dockerisées », ou « dockerized » en anglais, grâce au Docker engine), les applis devraient s’adapter plus facilement aux différents environnements que l’on trouve sur le cloud ou sur les serveurs internes (Linux, Windows et désormais aussi Mac OS). « Docker est un système de packaging qui permet de prendre n’importe quel code source, n’importe quelle application et de l’envelopper, avec toutes ses dépendances, dans un objet unique, ‘’self-contained’’, que l’on peut déplacer et faire tourner sur n’importe quel serveur, n’importe où sur la planète », précise Solomon Hykes, dans un entretien au site Silicon.fr.
Il s’agit, enfin, d’une nouvelle étape dans la virtualisation de tous les environnements informatiques. Avec la virtualisation des applications, et l’émergence des machines virtuelles, les systèmes d’exploitation ont pu être dissociés des machines sur lesquels ils tournent : ils s’exécutent désormais dans des partitions virtualisées, indépendantes du matériel. Avec la conteneurisation, ce sont les logiciels eux-mêmes qui gagnent de l’autonomie vis-à-vis des systèmes d’exploitation. Ils s’adaptent, sans développements supplémentaires, à tous les environnements sous-jacents. Ce qui n’est pas pour déplaire aux DSI.
>>> Pour plus d’information, rendez-vous sur Tech Page One