Le 23 mai dernier je me lançais dans la transformation de mes VM en conteneurs docker. Cette migration est un changement de paradigme et j’ai voulu de plus mettre en oeuvre de l’integration et du deploiement continu comme fondations de ma nouvelle infrastructure.
Ces prérequis ont un peu retardé les resultats visibles que cette transformation avait comme promesse:
- moins de VM
- moins d’empreinte mémoire
Souvenez-vous je partais de 15 VM qui offraient differents services (blog….) consommant 17Go de RAM en total et un système hôte qui était en overcommit avec du swap.
Nombre de VM
J’ai ajouté 2 VM: une production et une pré-production. A ce jour j’ai dockerisé 5 VM donc le nombre total de VM est en baisse: -3. Mais il faut bien voir que je gagne également en terme de « robustesse » car j’ai une preprod qui n’existait pss avant. Dès la 2e VM dockerisée j’étais à l’équilibre.
Pour comparer réellement c’était comme si j’avais 15×2 VM (prod et prepod) et que maintenant j’ai ajouté 2 VM et retiré 5×2 VM. Donc au final j’ai virtuellement fait -8 en nombre de VM. Avec une préprod avant j’aurais été à l’équilibre dès la 1er VM dockerisée.
Empreinte memoire
Les 2 VM de prod et preprod consomment chacune 4 Go de RAM tandis que les 5 VM supprimées utilisaient au total 8 Go. Donc je suis à l’équilibre.
Je dispose, avec la même quantité de mémoire, d’une préprod pour mes 5 services conteneurisés.
On remarque que l’overcommit du système hôte a baissé dès que les 8Go de VM ont été enlevés. En revanche dans la VM de production qui héberge les 5 applications (ex-VM) sous forme de services dockers, les 4 Go sont bien remplis et semblent être juste
On voit de overcommit mais pas vraiment de swap. Ce résultat est encourageant et montre bien que la conteneurisation permet de mieux partager les ressources sans le gaspillage lié à la multiplication des OS dans le paradigme du tout virtualisé.
Je vais donc poursuivre l’expérience de mise sous docker et voir quand la VM de prod va craquer.
Tags: Docker