Most common
issue while building and maintaining large infrastructure has always been
wastage of time. Amount of redundant work performed by each member within team
is significant. The idea of automatically configuring and deploying
infrastructures has evolved out of a wider need to address this particular
problem.
Puppet and
Chef are few among the many configuration management packages available.
They offer a framework for describing your application/server configuration in
a text-based format. Instead of manually installing IIS on each of your web
servers, you can instead write a configuration file which says "all web
servers must have IIS installed".
Azure offers puppet as an extension, while provisioning the VM's all you have to do is click a check box for puppet and then provide your Puppet Master End Point.
What Is Puppet ?
Puppet is Ruby -based configuration management software, and
it can run in either client-server or stand-alone mode. It can be used to
manage configuration on UNIX (including OS X), Linux, and Microsoft Windows platforms.
It is designed to interact with your hosts in continuous fashion,Unlike other provisioning tools that build your hosts and leave them on their own.
- Each nodes sends its current information
(current state) in the form of facts.
- Puppet master will use these
facts and compile a catalog about desired state of that agent, and send it
back to agent.
- Agent
will enforce the configuration as specified in catalog, and send the
report back to master to indicate the success/failure.
- Puppet
Master will generate the detailed report which can be feed to any third party
tool for monitoring.