Quelle est la différence entre un conteneur Docker et un Playbook Ansible?
Il me semble que les deux outils sont utilisés pour installer facilement et configurer automatiquement les applications.
Cependant, j'ai utilisé de manière limitée Docker et je n'ai pas utilisé Ansible du tout. Donc je suis un peu confus.
Chaque fois que je recherche une comparaison entre ces deux technologies, je trouve des détails sur la façon d'utiliser ces technologies en combinaison.
2 réponses
Il y a plusieurs raisons pour lesquelles la plupart des articles parlent de les utiliser ensemble.
Pensez à Ansible comme un moyen d'installer et de configurer une machine où vous pouvez revenir en arrière et modifier n'importe quelle étape individuelle de cette installation et configuration à l'avenir. Vous pouvez ensuite redimensionner ce concept à de nombreuses machines que vous êtes capable de gérer.
Une différence clé où Ansible a un avantage est qu'il peut non seulement gérer les internes de la machine, mais aussi gérer les autres systèmes tels que mise en réseau, DNS, surveillance, etc. qui entourent la machine.
Construire de nombreuses machines via Ansible prend à peu près autant de temps pour faire 50 machines que pour faire 1, car les 50 seront créés étape par étape. Si vous exécutez un déploiement roulant sur plusieurs environnements, c'est cette construction étape par étape qui prend du temps.
Pensez maintenant à Docker comme ayant construit une de ces machines individuelles-installée et configurée et prête à être déployée partout où un système docker est disponible (ce qui est à peu près partout ces jours-ci). L'inconvénient ici est que vous ne parvenez pas à gérer tous les autres aspects nécessaires pour que les conteneurs Docker fonctionnent réellement, et les peaufiner à long terme n'est pas aussi amusant que cela puisse paraître si vous n'avez pas automatisé la configuration (d'où Ansible aide ici).
La mise à L'échelle de 1 à 50 machines Docker une fois que vous avez déjà créé l'image initiale est incroyablement rapide par rapport à L'approche étape par étape qu'Ansible prend, et c'est le plus évident lors d'un déploiement de roulement de nombreuses machines en petits groupes.
Chacun a ses inconvénients dans la capacité ou la vitesse. Combinez-les tous les deux cependant et cela peut être assez génial. Comme sans aucun doute avec la plupart des articles que vous avez déjà lus, je recommanderais d'utiliser Ansible pour créer (et mettre à jour) votre(Vos) conteneur (s) docker de base, puis d'utiliser Ansible pour gérer le déploiement de n'importe quelle échelle de conteneurs dont vous avez besoin pour satisfaire votre utilisation des applications.
Ce sont des choses complètement différentes. Ansible est utilisé pour automatiser la configuration et la gestion des machines/conteneurs un Docker est un système de conteneurs léger pour Linux.