Virtualization Digital Assignment 2: Monitoring Tools - Chef and Puppet
Virtualization Digital Assignment 2: Monitoring Tools - Chef and Puppet
Virtualization Digital Assignment 2: Monitoring Tools - Chef and Puppet
submitted by
V.Priyanka 17BCE1001
B.Shruti 17BCE1299
VIRTUALIZATION
CSE4011
In
FEBRUARY, 2020
1
TABLE OF CONTENTS
1 Introduction 3
2 Chef 3
2.1 What is Chef
2.2 Chef Key Metrics
2.3 Configuration Management
3 Puppet 6
3.1 What is Puppet
3.2 Puppet Key Metrics
3.3 Configuration Management
2
1.INTRODUCTION
2.CHEF
Chef is a tool used for Configuration Management and is closely competing with
Puppet.
Below are the types of automation done by Chef, irrespective of the size of
infrastructure:
1. Infrastructure configuration
2. Application deployment
3. Configurations are managed across your network
Like Puppet which has a Master-Slave architecture, Chef has a Client-Server
architecture. Chef has an extra component called Workstation.
3
In Chef, Nodes are dynamically updated with the configurations in the Server. This
is called Pull Configuration which means that we don’t need to execute even a single
command on the Chef server to push the configuration on the nodes, nodes will
automatically update themselves with the configurations present in the Server.
4
1. Pull Configuration : In this type of Configuration Management, the nodes poll
a centralized server periodically for updates. These nodes are dynamically
configured so basically they are pulling configurations from the centralized
server. Pull configuration is used by tools like Chef, Puppet etc.
2. Push Configuration : In this type of Configuration Management, the
centralized Server pushes the configurations to the nodes. Unlike Pull
Configuration, there are certain commands that have to be executed in the
centralized server in order to configure the nodes. Push Configuration is used
by tools like Ansible.
5
3.PUPPET
Puppet is a Configuration Management tool that is used for deploying, configuring
and managing servers.
Puppet uses a Master Slave architecture in which the Master and Slave communicate
through a secure encrypted channel with the help of SSL.
6
4. Documentation: Puppet has a large user-maintained wiki with hundreds of
pages of documentation and comprehensive references for both the language
and its resource types. In addition, it’s actively discussed on several mailing
lists and has a very popular IRC channel, so whatever your Puppet problem,
it’s easy to find the answer.
5. Platform support: Puppet Server can run on any platform that supports ruby
for ex: CentOS, Microsoft Windows Server, Oracle Enterprise Linux etc. It
not only supports the new operating systems but it can also run on relatively
old and out-of-date OS and Ruby versions as well.
7
4. How do puppet and chef stack on each other?
Now that we have an idea where each of these tools is coming from, how do they
compare? Are they more similar or different, and which is better for you?
• The Setup: Chef functions with a master-client architecture, with the server
running on the master machine, while the client runs as an agent on every
client machine. Chef also includes an additional component called
“Workstation,” which handles all of the configurations that are tested by
storing then pushing them to the central server.
8
Puppet uses a master-agent architecture arrangement as well. The Puppet server runs
on the master machine, while Puppet clients run as an agent on each client machine.
Also, there’s an agent-master certificate signing that takes place afterward.
So, in other words, both tools are difficult to install.
• Managing the Tools: If you’re using Chef, then be ready to access your
programming skills because you will need them to manage configurations
successfully. Chef’s client pulls configurations from the server, and those
configurations are in Ruby DSL.
Puppet isn’t any less involved, unfortunately. It uses its own language called
PuppetDSL (Domain Specific Language). The process is oriented towards system
administrators and features non-immediate remote execution.
The bottom line, both tools use the pull configurations. That means that the slave
nodes automatically pull configurations from the central server without the need for
any commands. This is as opposed to the push configuration, where all the
configurations present in the central server are pushed to the nodes.
• Scalability: Both Chef and Puppet are very easily scalable. They can both
handle large infrastructure, provided the user provides the IP address and
hostname of the nodes that need to be configured. The tools will handle the
rest.
• Configuration Language: Chef uses Ruby DSL (Domain Specific
Language), a developer-oriented language that’s challenging to learn.
Puppet employs the above-mentioned PuppetDSL, another difficult to
learn the language.
• Interoperability: Both the Chef server and the Ruby server work only on a
Linux/Unix machine. Chef Client and Workstation can run on Windows,
and Puppet Agent is compatible with Windows.
9
6.Comparison between chef and puppet
Puppet Chef
Configuring the
Configuration Comparatively difficult Comparatively easy
Server
10
Both on puppet master and
Code Execution On the node/client
puppet client
Ordered
Some support Better support
Execution
Notable
Twitter and Nokia Facebook and Splunk
Customers
• Puppet Pros:
• Puppet Cons:
11
3. Advanced tasks require CLI, and since it is based on Ruby, you’ll need to be
familiar with the latter
• Chef Pros:
• Chef Cons:
2. If you don’t already know Ruby and procedural coding, get ready for a steep
learning curve
In the final analysis, the ideal DevOps tool depends on the needs and goals of your
organization. Chef has been in existence for a long time when compared with most
other DevOps tools and demonstrates an excellent capability for handling extremely
complex tasks. If your organization has development-focused teams and
environments, then Chef is the ideal choice.
Puppet has also been around for quite a while and has been deployed and well-vetted
in a selection of large, demanding environments. Based on this, Puppet is a good
choice for larger enterprises that favor well-tested and long-standing tools.
The final choice comes down to realizing what’s important for your business.
12
REFERENCES
1. https://www.edureka.co/blog/what-is-chef/
2. https://www.edureka.co/blog/chef-tutorial/
3. https://www.edureka.co/blog/puppet-tutorial/
4. https://www.edureka.co/blog/what-is-puppet/
13