83 votes

Pourquoi les gens utilisent-ils Puppet / Chef avec Amazon Cloud Formation au lieu d'utiliser simplement CloudInit?

Nous allons utiliser les AMI instances EC2 qui ne sont pas des "pré-cuite". I. e. quand ils sont en rotation, elles sont nues installe de AWS linux. Notre processus de bootstrap va tirer dans les différents installe que nous avons besoin, par exemple, python, tomcat. Nous aurons min de 3 instances et max de 8.

Compte tenu de ces exigences, serait à l'aide de Marionnettes/Chef de être utile, plutôt que d'utiliser Amazon la Formation des Nuages (CloudInit)?

Du mieux que je peux voir, c'est si nous avons utilisé des Marionnettes, nous aurions programmation déclarative qui est plus facile de vérifier pour voir ce qui se passe par rapport à un script. Aussi CloudInit a un 16k script limite de taille qui nous peut ou peut ne pas fonctionner.

Quelqu'un a déplacé de CloudInit à Puppet ou Chef pour une raison spécifique qu'ils peuvent fournir, ici, en réponse à ma question?

80voto

czervik Points 1290

Est-il un avantage sur CloudInit? Oui, absolument, beaucoup d'entre eux!

Bien sûr, vous pouvez écrire du haut vers le bas d'exécuter une fois CloudInit scripts à disposition d'un serveur. Mais ce qui arrive quand vous avez besoin de modifier un fichier de configuration, ajouter un utilisateur, mise à jour d'un package ou d'installer un nouveau paquet? Vous finirez par vous connectant à des serveurs ou l'écriture de scripts pour le faire, et, inévitablement, un incongru état des serveurs.

CloudInit n'est pas la gestion de la configuration. Si vous optez pour commencer à utiliser le logiciel de gestion de configuration, utiliser le cloud init pour une seule tâche: bootsrap le Puppet/Chef/autre agent.

La marionnette n'est pas seulement vous aider à automatiser l'installation de paquets, le programme d'installation de clés ssh, ou de régler votre Tomcat tas. Il s'assure de l'état de choses. Lorsqu'un développeur est de dépannage d'une application Java à 3h du matin et les modifications de votre Tomcat config, Marionnette le changer en arrière. Vous pouvez rapidement changer la version de Python pour tous ou des groupes de nœuds, et si quelqu'un installe une version différente, Marionnette le changer en arrière.

Lors de votre demande de modifications de pile et de commencer à utiliser, dire RabbitMQ, ou Jetty, ou une nouvelle SGBDR, vous pouvez facilement tester et déployer les changements sur des dizaines ou des milliers de serveurs.

Il ya beaucoup d'autres raisons pour utiliser des logiciel de gestion de configuration telles que la fin de reporting, d'audit et de conformité de la sécurité.

63voto

Christopher Points 9715

Le point essentiel de la gestion de la configuration pour faire tourner les machines de manière prévisible et uniforme. CloudFormation et cloudinit sont grands quand vous êtes exclusivement d'AWS (bien que le débogage CloudFormation modèles est une expérience malheureuse), mais ce que sur les applications qui utilisent les ressources des datacenters et AWS, ou d'environnements de test, de développement ou des machines?

Si vous existent uniquement dans AWS, je suppose que vous pourriez sortir avec cloudinit et rien d'autre, mais je ne suis pas convaincu qu'il est réaliste pour les applications de n'importe quelle échelle (Netflix, par exemple, pré-cuit de leurs AMIs à l'aide de l'OSS technologies qu'ils ont écrit et publié dans le monde; envisager cette vidéo pour plus de détails). Applications hautement disponibles sont trans-régionales, souvent basés dans des Vpc, ont tendance à dos jusqu'aux centres de données à travers le Vpn, et cela ne touche même pas de démonstration, de test, de recette, ou des environnements de développement. Comme quelqu'un qui est chargé avec de provisionnement des machines de la dernière des choses que je veux faire sont travail de répétition ou coincé débogage de plusieurs méthodes de mise à disposition.

Donc le Chef ou Puppet. Ils travaillent aussi bien pour les SSFE comme ils le font pour mon centre de données, et tout aussi bien pour ma machine de développement de course Vagabonde comme ils le font pour la démo environnements de temps en temps j'besoin à la volée. Je préfère le lancement d'un Chef ou de Marionnettes à partir de cloudinit de maintenir à la fois cloudinit et Chef ou Puppet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X