Puppet v/s Ansible

0 votes
Both Puppet and Ansible are configuration management tools.What essentially is the difference between the two?
Aug 7 in Puppet by Nizam
25 views

1 answer to this question.

0 votes

Here are few major contrasts among Puppet and Ansible:

  • Server Nodes:

Puppet framework by and large contains (at least 1) "puppetmaster" servers, alongside a specialist package installed on every client node. 

Ansible has neither an exceptional master server, nor specialist executables to install. The agent can be any machine with a list (inventory) of the nodes to contact, the Ansible playbooks, and the best possible SSH keys/certifications so as to interface with the nodes.

  • Push versus Pull

Puppet nodes have special client software and intermittently look into a puppet master server to "pull" resource definitions. 

Ansible pursues a "push" work process. The machine where Ansible keeps running from SSH's into the client machines and uses SSH to duplicate records, remotely install bundles, and so on. The client machine VM requires no uncommon arrangement outside of a working installation of Python 2.5+.

  • Resources and Ordering: 

Puppet: Resources characterized in a Puppet manifest are not connected arranged by their appearance (ex: top->bottom) which is mistaking for individuals who come from ordinary programming languages (C, Java, and so on). Rather resources are connected randomly, unless explicit resource ordering is used. Ex: “before”, ”require”, or chaining arrows.

Ansible: The playbooks are connected top-to-bottom, as they show up in the file. This is increasingly instinctive for developers coming from other different languages.

  • Language Extensibility:

Puppet is built upon Ruby and the Ruby ecosystem of tools for testing . Adding complex functionality is done through Ruby modules.

Ansible is built upon Python for which most R&D orgs will have some experience.

  • Syntax:

Puppet has its own DSL which is a subset of Ruby. It’s not a Turing-complete language and was specifically designed to “be accessible to sysadmins“.

Ansible playbooks are YAML files.

  • Template Language:

Puppet templates are based upon Ruby’s ERB.

Ansible templates are based upon Jinja2, which is a superset of Django’s templating language.

The table below summarizes a few Pros and Cons of Ansible and Puppet so that you can differentiate between the two configuration management tools:

answered Aug 7 by Sirajul
• 39,540 points

Related Questions In Puppet

+5 votes
2 answers

How To Deploy Windows Server Using Puppet?

Deploying windows server through Puppet is similar ...READ MORE

answered Mar 26, 2018 in Puppet by shubham
• 6,890 points
341 views
+1 vote
1 answer

Steps to trigger puppet agent from jenkins

Heyy @Hannah,  First, you need to create Jenkins slave, ...READ MORE

answered Dec 16, 2018 in Puppet by Kiyara
738 views
0 votes
1 answer

Ram requirements for puppet installation

4 GB would be less for proper ...READ MORE

answered Dec 19, 2018 in Puppet by Alan
31 views
0 votes
1 answer
+13 votes
2 answers

Git management technique when there are multiple customers and need multiple customization?

Consider this - In 'extended' Git-Flow, (Git-Multi-Flow, ...READ MORE

answered Mar 26, 2018 in DevOps & Agile by DragonLord999
• 8,380 points
217 views
0 votes
1 answer
0 votes
2 answers

Where do i find the puppet configuration file?

The puppet.conf file is always located at $confdir/puppet.conf. Although ...READ MORE

answered Aug 9 in Puppet by Sirajul
• 39,540 points
64 views
0 votes
1 answer

What is Puppet used for?

Puppet is one of the most widely ...READ MORE

answered Jul 24 in Puppet by Sirajul
• 39,540 points
41 views