Table des matières

Présentation Docker

Qu'est ce que c'est ?

Docker est un projet open-source qui permet d'automatiser le déploiement d'applications dans ce qu'on appelle des conteneurs. Voici le fonctionnement simplifié :

Les containers

public:doc:vmandcontainers.png


Une appli, un serveur

Initialement, un serveur physique était dédié à un système d'exploitation et à une seule application. Cette méthode apportait peu de flexibilité et d'évolutivité, si une application devenait obsolète, il fallait espérer que le matériel en place pourrait conserver une utilité pour une autre application, si une application évoluait, il fallait augmenter les capacités du serveur, ce qui était possible jusqu'à un certain point. Cela entraînait des complications à mesure que le nombre d'applications augmentait :

Un serveur, des applis

L'apparition du concept des machines virtuelle permet de résoudre ces problèmes. On utilise désormais un serveur plus puissant, mais permettant de regrouper les serveurs physiques en les transformant en machines virtuelles :


Comment devenir grutier en 5 étapes

Ce système n'est néanmoins pas parfait. Les machines virtuelles offrent de nouvelles possibilités mais ces nouvelles possibilités engendrent de nouvelles problématiques :

C'est la que l'utilisation des conteneurs fait son apparition. Le principe est toujours de pouvoir utiliser un serveur pour plusieurs applications, mais avec l'idée de mieux optimiser leur déploiement :


Les orchestrateurs

Docker est un outil permettant de construire et de lancer des conteneurs. Il nous faut désormais un outil permettant de gérer nos conteneurs sur un ensemble de serveurs : un orchestrateur.

Plusieurs solutions majeures existent : Docker Swarm et Kubernetes

Ces outils permettent la gestion et le déploiement de conteneurs sur plusieurs serveurs. Son rôle est de s'assurer que les ressources mises à disposition des conteneurs soient bien réparties et de vérifier que la liaison entre chaque serveur physique est bien fonctionnelle. Cela garantit que chaque conteneur soit fonctionnel et disponible en permanence.

public:doc:orchestrator.png


Docker by Geco-iT

L'infrastructure de Geco-iT cumule les couches d'une infrastructure virtualisée et d'une infrastructure conteneurisée.

Cela permet de profiter des avantages de la virtualisation classique (optimisation des ressources, évolutivité, sauvegarde…) et d'y ajouter les fonctionnalités des conteneurs (partage de ressources, optimisation de déploiement, scalabilité…)

public:doc:vmandcontainers2.png