Logo Spiria

De la machine virtuelle au conteneur

23 mai 2019.

Ismaayl nous explique comment l’arrivée de la conteneurisation permet d’améliorer l’utilisation des infrastructures matérielles :

De nos jours, il devient de plus en plus difficile pour les entreprises de gérer leurs opérations sans applications, et la plupart de celles-ci sont exécutées sur des serveurs. Auparavant, chaque application avait besoin d’un serveur dédié pour fonctionner en toute sécurité et sans interruption. Pour s’assurer de ce bon fonctionnement, le service informatique devait se doter d’un serveur suffisamment puissant. Mais avant de mettre l’application en production, personne ne pouvait être vraiment sûr de ses besoins réels en puissance. Pour cette raison, le service informatique finissait la plupart du temps par acheter un serveur surpuissant qui ne serait utilisé qu’à 10 % ou moins de ses possibilités. C’était un grand gaspillage d’argent, d’espace et de temps.

Puis sont arrivées les machines virtuelles. Elles permettent d’exécuter en toute sécurité de nombreuses applications dans des environnements différents et sur un même serveur physique. Une nouvelle application n’est plus synonyme de nouvel achat matériel. Les serveurs qui n’utilisent qu’une petite partie de leur puissance peuvent finalement être utilisés au maximum de leur capacité ou presque. C’était un grand pas en avant pour l’univers informatique.

Mais rien n’est parfait et il y a toujours matière à parfaire. Les machines virtuelles consomment une bonne partie des ressources du serveur juste pour fonctionner. Elles doivent simuler un serveur physique avec tous ses composants : processeur central (CPU), mémoire vive, disque de stockage, carte réseau, etc. De plus, chaque machine virtuelle a besoin de son propre système d’exploitation, ce qui peut être une source de perte de performances, mais aussi de vulnérabilités logicielles.

VMs vs Containers.

Machine virtuelle (VM) et conteneur. Chaque conteneur fait appel au système d’exploitation du serveur hôte alors que chaque machine virtuelle héberge son propre système d’exploitation.

Par conséquent, il y a quelques années, la sphère Linux a commencé à travailler sur une nouvelle technologie qui est moins onéreuse et plus rapide : les conteneurs. Ils permettent d’isoler une application du monde extérieur sans avoir besoin d’un système d’exploitation dédié et d’un logiciel lourd pour simuler les composants physiques du serveur. Cela les rend plus rapides à exécuter et facilite la maintenance. Et ce n’est pas le seul avantage des conteneurs. Ils sont si rapides et petits que nous pouvons les utiliser pour diviser une application monolithique en plusieurs petits services qui communiquent entre eux. Chaque petit service peut ainsi fonctionner dans son propre conteneur, séparément des autres, afin qu’il puisse être entretenu ou réparé sans craindre de briser les autres parties.

Enfin, les conteneurs ont amélioré la plupart des services offerts par les machines virtuelles et sont plus adaptés à l’architecture logicielle moderne des microservices. Mais ils ne les remplacent cependant pas : bien souvent, nous les trouverons cohabitants côte à côte.

 

Systèmes de conteneurisation