DevOps: A very popular term now a days in IT industry which includes new revolutionary approach and tools like Jenkins, Travis, Chef, Ansible, Cfengine, Mesos, AWS, OpenStack, Dockers and many many more. Puppet is also one of the most popular tool used in the DevOps approach in IT Server infrastructure Automation and used as a “Configuration Management” tool in DevOps Tree.
According to one of the survey, Web Gaints like Google used their own developed software that automatically configure the vast collection of services for their infrastructure online. But these tools were never made available to the outer world. In 2005, Luke Kanies, founded an open source Project to have such tools available for us and called that project “Puppet”.
So now ques is What is Puppet and how it help System Administrators???…
Three years back when I get a chance to work on Puppet, the first question strike in my mind was the same “what and why Puppet”?…Let me share my experience which helped me to understand the “Puppet” and the “Importance of Puppet”.
I worked with some of the biggest organizations having huge no. of servers having multiple OS flavors (Linux, Solaris, AIX, Windows and multiple DB’s/applications on top of them) and there were many sys admins and project teams to manage such a huge environment across globe. But it was very difficult to track who and what changes have been done in the servers and because of which there was a mismatch of files/pkgs/patches/softwares etc etc on servers which are serving same purpose in production environment. Every-time you need a change to rectify the configuration w.r.t other running server. Believe me this is one of the most biggest challenge for any organization.
On the other hand, Every good system administrator want to automate repetitive tasks so that they can free up their time to focus on more important matters. I know the first thing which will come in any sys admins mind is “Scripting”, off course yes you can use scripting to perform such repetitive work but what about “manage work” after deployment. Example: I created a script to install, configure and start my application, at first run it will work perfectly in the build phase but can anyone guarantee the same after 10 days or 60 days or after 1 year. The ans is “No”. Here comes the importance of software like “Puppet”. It will help you to install your software, configure the same, start the application and after that mange any deflection in the configuration by anyone. Suppose someone changed any configuration in the installed application after 60 days (which is not required for the smooth run of your application), puppet will detect that automatically and will revert it back to the original defined configuration. Hence deflection in configuration is protected automatically. Moreover deployment of same application on multiple clients without manual intervention can be done by using the same modules of any number of servers. Hence huge saving of repetitive work and smooth guaranteed configuration management.
So, Puppet is IT Automation and configuration management software from Puppet Labs that allows System Administrators to define the state of their IT Infrastructure, thereby providing an elegant way to manage their fleet of physical and virtual machines.
Are you ready to get started with Puppet Automation?. We will be soon coming with the course on Puppet at unixadminschool.com.