Estoy a punto de comenzar un nuevo proyecto que, en parte, requerirá la implementación de muchos nodos idénticos de aproximadamente tres clases diferentes:
- Nodos de datos , que ejecutarán instancias fragmentadas de MongoDB.
- Nodos de aplicación , que ejecutarán instancias de una aplicación Ruby on Rails y una aplicación ASP.NET MVC anterior.
- Procesando nodos , que ejecutarán trabajos solicitados por los nodos de la aplicación.
Todos los nodos se ejecutarán en instancias de Ubuntu 10.04, aunque tendrán diferentes paquetes instalados.
Tengo cierta familiaridad con Chef de proyectos anteriores, aunque no me considero un experto. En un esfuerzo por hacer la debida diligencia, he estado investigando posibilidades alternativas. Tenemos varias personas internas que son usuarios de Puppet desde hace mucho tiempo, y me han animado a echar un vistazo.
Sin embargo, tengo problemas para evaluar ambas opciones. Chef y Puppet comparten la misma terminología de dominio: paquetes , recursos , atributos , etc., y tienen una historia común que se deriva de adoptar diferentes enfoques para el mismo problema. Entonces, en cierto sentido, son muy similares. Pero gran parte de la información de comparación que he encontrado, como este artículo , está un poco desactualizada.
Si comenzaras este proyecto hoy, ¿qué preguntas te harías para decidir si deberías usar Chef o Puppet para la gestión de la configuración? (Nota: no quiero responder a la pregunta "¿Debo usar Chef o Puppet?")