Design considerations:
- use puppet via cron
- environments [http://docs.puppetlabs.com/guides/environment.html]
- mcollective [http://puppetlabs.com/mcollective/introduction/]
- use passenger [http://projects.reductivelabs.com/projects/puppet/wiki/Using_Passenger]
- storedconfigs [http://www.masterzen.fr/2009/03/08/all-about-puppet-storeconfigs/]
Good practices:
- early tag (execute before first reboot)
Inspirations: