bateau avec conteneurs

Docker : alternative à la virtualisation

22/05/2015
DevOps
Infrastructure IT

Ces derniers mois, une nouvelle solution fait de plus en plus parler d'elle : Docker. Cette solution risque de perturber fortement le marché actuel de la virtualisation.

La solution Open Source "Docker" ne s'appuie pas sur la notion de machine virtuelle, mais sur celle des containers logiciels. Les gains en termes de ressources matérielles et de performance sont très élevés. Le monde du Cloud est particulièrement sensible à cette nouvelle approche.

L’image ci-dessous montre par exemple un environnement virtualisé classique à gauche et un environnement utilisant Docker à droite.

Docker01

Le principe de Docker

Supposez que vous ayez de multiples piles applicatives à faire fonctionner sur différents environnements matériels. Cela entraîne des coûts d’intégration, de tests, de déploiement, etc… C’est un véritable challenge, vécu par les DSI, comme illustré ci-dessous.

Docker02  

En fait, cela fait penser aux difficultés rencontrées pour transporter et stocker une multitude de biens dans des environnements et par des moyens aussi différents les uns des autres. C'était le cas avant les années 1960.

Docker03

Fort heureusement, l’usage de containers s’est largement répandu depuis, permettant de stocker et de transporter toutes sortes de biens en toutes sortes de situation (sur route, sur rail, sur mer, dans les airs).

Docker04

De même, l’usage de containers a été appliqué à l’informatique.

Les origines de Docker

En fait, la technologie des containers au sens informatique existe depuis assez longtemps. Par exemple, il y a plus de 10 ans, Sun a introduit dans Solaris cette technologie de containers : les Solaris Zones. Puis, cette technologie a été introduite dans le monde Linux avec l’outil LXC, qui est à l’origine de Docker.

Voici le principe de ces approches « container » : on place l’application dans un espace isolé, le container, qui dépend directement de l’OS de la machine. Cette approche évite de virtualiser le serveur dans son ensemble, avec les surconsommations mémoire et CPU associées. Par suite, il devient possible de faire fonctionner un grand nombre de containers sur un même serveur physique sans avoir à dupliquer le système d'exploitation et sans que les applications n'influent les unes avec les autres. Il devient alors facile d’ajouter, de déplacer et d’effacer des containers sans interférence.

Un outil de packaging

Docker05

Le créateur de Docker, Solomon Hykes, résume l’intérêt pour cette solution : « Il s’agit d’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. »

L’avis d’un analyste

Charlie Dai, analyste chez Forrester Research, a déclaré il y a un an déjà « Nous pensons que les solutions basées sur Docker vont perturber le marché de la virtualisation des serveurs et, plus encore, qu'elles vont avoir un impact sur l'adoption du cloud ».

Avantages et inconvénients de Docker

Voici quelques avantages de Docker :

  • Permet d’isoler différents environnements sous un même OS
  • Evite de devoir mettre en œuvre des solutions de virtualisation telle que VMware, Oracle VM, etc
  • Permet la fourniture de solutions packagées fournies par les éditeurs

Voici quelques inconvénients de Docker :

  • Impossibilité d’utiliser des OS différents sur un même serveur physique (ce qui est possible avec la virtualisation)
  • Difficultés pour définir une sécurité poussée entre les différents environnements Docker d’un même serveur physique

En conclusion

Docker constitue une nouvelle tendance technologique qui va sans aucun doute faire beaucoup plus parler d’elle dans les mois qui viennent.

Un prochain billet de notre Blog présentera l’utilisation d’Oracle sous Docker.

Digora se tient  à votre disposition  pour vous fournir plus d'informations sur Docker. Contactez-nous ici pour de plus amples informations.

copy-link