• 04 / 10 / 2017 Technologie Expertise

    Décodage : Comprendre les avantages de la virtualisation par conteneurs

    La virtualisation a permis d’accompagner la croissance exponentielle de l’Internet en permettant de se dédouaner de plusieurs contraintes des serveurs physiques. Aujourd’hui, la virtualisation légère, grâce à des technologies telles que Docker, insufflent un vent d’innovation presque inarrêtable sur le marché. Les conteneurs semblent ne présenter que des avantages par rapport à la virtualisation lourde. Trop beau pour être vrai ?

    virtualisation-par-conteneurs

    De l’importance de la virtualisation

    Dès ses débuts dans les années 2000, la virtualisation a permis d’augmenter la densité d’occupation des serveurs en augmentant le taux d’exploitation des ressources disponibles. D’une part, cela a permis d’éviter d’avoir des serveurs surdimensionnés consommant beaucoup d’énergie tout en étant très peu occupés. De l’autre part, pour les hébergements mutualisés sur un même serveur, la virtualisation a permis une meilleure isolation entre les clients. Ainsi les ralentissements d’un site dû à un autre client qui consommerait toutes les ressources sont fortement limités.

    La virtualisation « lourde »

    Jusqu’à présent lorsque l’on évoque la virtualisation on parle principalement de virtualisation «Complète » dites « Matérielle » ou plus simplement « Lourde ». Ce modèle permet en effet au système invité (celui qui tourne dans la machine virtuelle) de ne pas faire de différence avec une installation sur un serveur physique. Autrement dit, ce type de virtualisation est complètement transparente pour le système invité. Cela permet par exemple de faire tourner un système Windows sur un serveur Linux et inversement. Ce mode de virtualisation reste le plus connu actuellement avec des solutions comme les produits VMware, Microsoft Azure, Virtualbox, KVM (utilisé par OpenStack), ou Xen (utilisé par AWS – Amazon Web Services).
    Malheureusement ce modèle comporte son lot d’inconvénients. La Couche d’émulation, en plus simple: le fait de traduire chaque appel aux ressources de la machine, a un impact de 15 à 30% sur les performances du serveur. Cela peut parfois être jusqu’à 50%. Si on ajoute à ça que chaque serveur fait tourner son propre système d’exploitation (mémoire, processeurs et disques), la balance coût/performances est fortement déséquilibrée.

    Les avantages des conteneurs

    Avec les conteneurs, plus besoin d’émulation (traduction) complexe, le système hôte implémente simplement un mécanisme d’isolation logique des processus et des ressources du serveur. C’est-à-dire qu’il va créer des contextes pour chaques conteneurs dans lesquels les processus tourneront. Ces derniers seront prisonniers de ce contexte et ne pourrons pas voir les processus d’autres conteneurs.
    En termes de ressources les conteneurs accèdent directement aux processeurs, à la mémoire, au réseau et surtout au disque du serveur pour un impact sur les performances proche de zéro. On parle alors de conteneur Bare Metal car ils offrent des performances similaires au serveur physique sur lequel ils tournent.
    Le grand intérêt c’est que la virtualisation et donc l’isolation deviennent gratuites. Ce qui permet d’être plus créatif et de ne pas avoir à faire de compromis dans les designs d’infrastructure pour accommoder les contraintes de la virtualisation lourde.

    Plus de flexibilité, plus de performance

    Il est ainsi possible de créer des conteneurs spécialisés pour une unique tâche. Puisque la virtualisation est gratuite il n’est pas nécessaire de mutualiser plusieurs services dans une machine virtuelle. Chaque composant d’une infrastructure se retrouve ainsi dans un espace dédié.
    Chaque micro-service peut ainsi tourner sur des versions ou technologies différentes sans craindre les problèmes d’incompatibilité des autres. On peut ainsi dimensionner chaque service individuellement et ainsi cibler les optimisations. La lenteur d’un site peut donc être facilement résolu en rajoutant de la puissance au service qui n’est pas suffisamment dimensionné pour l’infrastructure, et ainsi éviter les goulet d’étranglement. Les conteneurs permettent une « scalabilité » verticale : ajout de ressources (processeur, mémoire, disque dur) à un conteneur, tout comme horizontale : duplication de conteneur identiques pour équilibrée la charge entre eux (load-balancing).

    Une nouvelle gestion

    Ce système permet également de très facilement gérer des montées en charges ponctuelles dues aux campagnes de communication. Plus besoin d’avoir une infrastructure surdimensionnée pour gérer un pic annuel de fréquentation et qui tourne à 5% de capacité tout le reste de l’année.
    Bien entendu cette profusion de conteneurs apporte son lot de problématiques nouvelles en termes de gestion et surtout d’automatisation. Il est donc nécessaire d’utiliser des plateformes d’orchestration, des gestionnaires de configuration et des systèmes de centralisation/recherches de logs pour retrouver la visibilité des systèmes uniques.

    Un rapport coût-performance optimisé

    On le devine, le rapport coût performance est bien entendu beaucoup plus optimisée que sur des modèles de virtualisation lourde ou de serveur physique. La gratuité de l’isolation permet une meilleure densité de conteneurs sur les serveurs et ainsi une meilleure rentabilité. Les performances natives des conteneurs assurent une meilleure utilisation des ressources. La « scalabilité » horizontale comme verticale permet de disposer d’infrastructures plus en adéquation avec vos besoins tout en sachant qu’elles seront à même de s’adapter à tout type de croissance futures. Ces modèles permettent de se rapprocher d’une structure de coût linéaire et prévisible.

    Une technologie d’avenir

    Lorsque les conteneurs ont commencé à devenir à la mode, Google est sortie de sa réserve habituelle pour avouer que depuis leur début ils n’ont jamais utilisé autre chose, et qu’il était temps que le reste du monde s’en aperçoive. Preuve s’il en fallait que les conteneurs sont effectivement la technologie de l’avenir.

     

    Les Barbus de l’Hébérgement