DevOps Certification Training Course
- 181k Enrolled Learners
- Weekend/Weekday
- Live Class
Today, the most mature tool for Configuration Management is Puppet. But, I know you must be wondering why is Puppet so popular and what makes it unique, when compared to other Configuration Management tools. In this “What is Puppet” blog, I will answer these questions for you and help you walk the path of becoming a certified DevOps Engineer.
Puppet is a Configuration Management tool that is used for deploying, configuring and managing servers. It performs the following functions:
Puppet uses a Master Slave architecture in which the Master and Slave communicate through a secure encrypted channel with the help of SSL. Puppet architecture is explained in detail in my Puppet Tutorial blog.
Check out this video on Puppet for better understanding.
What is Puppet? | DevOps Training | Edureka
Now that you know what is Puppet, let us understand the reasons behind the popularity of Puppet.
Below are few facts about Puppet:
It is now evident that Puppet has huge demand globally. But, before diving deep into Puppet, it’s only fair that I first explain what is Configuration Management and why it is important.
System Administrators usually perform repetitive tasks such as installing servers, configuring those servers, etc. They can automate this task, by writing scripts, but it is a very hectic job when you are working on a large infrastructure.
To solve this problem, Configuration Management was introduced. Configuration Management is the practice of handling changes systematically so that a system maintains its integrity over time. Configuration Management (CM) ensures that the current design and build state of the system is known, good & trusted; and doesn’t rely on the tacit knowledge of the development team. It allows access to an accurate historical record of system state for project management and audit purposes. Configuration Management overcame the following challenges:
Let us understand its importance through a use case.
The best example I know is of the New York Stock Exchange (NYSE). A software “glitch” prevented the NYSE from trading stocks for almost 90 minutes. This led to millions of dollars of loss. A new software installation caused the problem. That software was installed on 8 of its 20 trading terminals and the system was tested out the night before. However, in the morning, it failed to operate properly on the 8 terminals. So there was a need to switch back to the old software. You might think that this was a failure of NYSE’s Configuration Management process, but in reality it was a success. As a result of a proper Configuration Management process, NYSE recovered from that situation in 90 minutes which was pretty fast. Had the problem continued longer, the consequences would have been more severe.
Now, I hope you know the importance of Configuration Management. Configuration Management stage can be considered as the backbone of DevOps. It allows more frequent software releases in the safest and most reliable way possible.
Next, let us see some applications of Puppet.
Let us understand the applications of Puppet using a case study. If you are a poker enthusiast or if you have ever played online games, then you must have heard about Zynga. It is the world’s largest social game developer. Zynga’s infrastructure uses tens of thousands of servers in both public cloud and private data centers. Early on they were using a manual process, including kickstarters and post installs to get hundreds of servers online.
Now, we will see what problems they faced with this process:
The company was smart enough to quickly realize the need for an automated process even before they hit rapid scaling, that’s when Puppet came into the picture. Let us understand how Puppet contributes to their organization.
After What is Puppet blog, click here to visit my next blog on Puppet Tutorial which will include Puppet architecture and, components of Puppet. I will also explain steps to deploy MySQL and PHP using Puppet. Puppet is the most widely used tool to achieve DevOps in organizations with large infrastructure.
If you found this blog on “What is Puppet” relevant, check out the DevOps Training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. The Edureka DevOps Certification Training course helps learners gain expertise in various DevOps processes and tools such as Puppet, Jenkins, Nagios and GIT for automating multiple steps in SDLC.
Course Name | Date | Details |
---|---|---|
DevOps Certification Training Course | Class Starts on 14th December,2024 14th December SAT&SUN (Weekend Batch) | View Details |
DevOps Certification Training Course | Class Starts on 16th December,2024 16th December MON-FRI (Weekday Batch) | View Details |
edureka.co
Hello,
I recently upgraded puppet version 3 to version 5. all is working fine with the new version but hiera configurations for puppet 5 is not working as expected. I think I missing something which would deploy changes in the remote node. Please advise what should I do here. below are the configurations for my setup.
1) Hiera.yaml
#cat /etc/puppetlabs/code/environments/hiera.yaml
version: 5
hierarchy:
– name: “Master”
path: “environments/%{environment}/data/%{trusted.certname}.yaml”
data_hash: yaml_data
datadir: /etc/puppetlabs/code/
2) And my Environment YAML files are kept at
#cat /etc/puppetlabs/code/environments/staging/data/puppetsr7.demo.com.yaml
demo::configuration::phpini::memory_limit: ’64’
3) but when I run the command on my remote node, nothing is changing
#/opt/puppetlabs/bin/puppet agent
4) In order to troubleshoot I tried to run the command
#puppet lookup –explain demo::configuration::phpini::memory_limit –environment staging –node puppetsr7.demo.com
and got below output
Searching for “lookup_options”
Global Data Provider (hiera configuration version 5)
Using configuration “/etc/puppetlabs/code/environments/hiera.yaml”
Hierarchy entry “Master”
Path “/etc/puppetlabs/code/environments/staging/data/puppetsr7.demo.com.yaml”
Original path: “environments/%{environment}/data/%{trusted.certname}.yaml”
Found key: “lookup_options” value: nil
Module data provider for module “demo” not found
Searching for “demo::configuration::phpini::memory_limit”
Global Data Provider (hiera configuration version 5)
Using configuration “/etc/puppetlabs/code/environments/hiera.yaml”
Hierarchy entry “Master”
Path “/etc/puppetlabs/code/environments/staging/data/puppetsr7.demo.com.yaml”
Original path: “environments/%{environment}/data/%{trusted.certname}.yaml”
Found key: “demo::configuration::phpini::memory_limit” value: “64”
It’s showing the proper value when running from CLI i.e 64 which I need to be get applied on a remote node in php.ini and change the value from 512 to 64.
But don’t know how to proceed further from here as I struck now. please help to troubleshoot this.