Honnêtement, choisissez l'un des Systèmes de gestion de configuration Open Source. Un choix intéressant qui a récemment fait son apparition et qui n'est pas répertorié sur Wiki est ANSIBLE.
Aussi, votre problème pourrait être lié à l'orchestration, auquel cas des outils comme Knife de Chef, Capistrano, Fabric ou MCollective sont plus adaptés.
Peut-être même que vous voulez les deux, bien sûr.
Le meilleur choix serait celui écrit dans un langage avec lequel vous êtes familier. Je ne connais aucun écrit en Scala, bien que cet article de blog soit intéressant. Pour les programmeurs, Chef est très attractif et gère très bien les configurations dynamiques. Je connais quelqu'un qui l'utilise pour créer/détruire des instances de VM à la demande, en fonction de la charge de l'application -- essayez cela avec Puppet, et vous pleurerez.
J'apprécie le style de configuration déclaratif de Puppet, et en particulier le fait qu'il vous isole beaucoup des différences de systèmes d'exploitation. Pour Puppet, un Package est un Package, peu importe le système d'exploitation que vous utilisez.
En ce qui concerne le "module Zookeeper"... vous pourriez trouver de bonnes recettes/modules pour ces outils en ligne, mais vous feriez mieux d'être prêt à écrire les vôtres. Ne choisissez pas en fonction de l'existence d'un module particulier -- choisissez en fonction de votre aisance à les écrire.