Start Automation with Puppet?

Configuration Management Tools to Automate Infrastructure

Configuration Management tools like Puppet, Chef, Ansible, SaltStack, CFengine and many other are becoming very famous to automate Infrastructure as a code in DevOps. Sometimes it become very difficult for Admins and/or developers to understand what exactly these tools are doing and how to start with these tools. And here starts the race on google with multiple weblinks and finally ends in a big mess sometimes.


What is Configuration Management?

Let us try to explain in simple layman language what actually is Configuration Management in Infrastructure – Let’s take an example where you get multiple requests to create a similar filesystems, users, groups, files, directories, packages, services etc. and hence an application which is a combination all of these terms we just mentioned. In traditional approach we will login into the server and perform all these tasks manually which is fine, but what if we have 10 server to do the same thing or 50 servers to perform the same operations. One pointer would be use of custom scripts which is again acceptable as far as the initial installations and configurations are concerned, but what if someone have intentionally or by mistake have removed some files/users/services/packages which were configured using scripts. The only answer is “unintended downtime” and hence business loss. In order to avoid such situations, Configuration Management tools are developed to Deploy, Manage and Monitor your complete infrastructure. If there are any deviations in the defined configuration for a running client, the Configuration Management server will force to change the configurations in defined state and hence no deviations in the running configuration for 1 day, 1 year, 10 years till the time server lives (unless you don’t change the configuration in the master server).

How to start Puppet Automation Journey?

Now let’s understand what would be the best approach to start learning Puppet, the setup for Puppet is master-client based. The Puppet setup is divided majorly into two parts:

  • Puppet Master Server (The heart of all configurations)
  • Puppet Agents or Clients (nodes or servers)

To directly start with the complete setup is troublesome sometimes, so we suggest to start learning Puppet with the simplest environment and get familiar with Puppet terms like “Resources” “Classes” “Modules” “Manifests” “Puppet Configuration Files” “utilities like puppet, facter, mco” “Puppet Forge” etc. and then start moving towards complex module writing and configurations.

To start with Puppet, kindly download the Puppet Software from below link for intel based architecture (Majorly Linux Systems)

Puppet Download Link till 10 Nodes

In our next posts we will get to know about Puppet Enterprise Stack, Installation and Configuration, Master-Agent Model, Resources, Classes, Modules, Manifests, Forge, Mcollective, Facter and other related concepts of Puppet.

8 thoughts on “Start Automation with Puppet?”

  1. Pingback: Puppet Enterprise Stack – Thinknyx

  2. Pingback: Puppet Enterprise Master Installation – Thinknyx

  3. Pingback: Puppet Agent Installation – Thinknyx

  4. Pingback: Puppet Master-Agent Communication Model – Thinknyx

  5. Pingback: Puppet Certification Management – Thinknyx

  6. Pingback: Puppet Resources – Thinknyx

  7. Pingback: Puppet Code Syntax Checks – Thinknyx

  8. Pingback: Puppet Smoke Tests and Real Time Run – Thinknyx

Leave a Comment

Your email address will not be published.