Puppet v s Ansible

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

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, 2019 by Sirajul
• 59,230 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 27, 2018 in Puppet by shubham
• 7,340 points
+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
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
0 votes
1 answer
+15 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 27, 2018 in DevOps & Agile by DragonLord999
• 8,450 points
+2 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, 2019 in Puppet by Sirajul
• 59,230 points
0 votes
1 answer

What is Puppet used for?

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

answered Jul 24, 2019 in Puppet by Sirajul
• 59,230 points
webinar_success Thank you for registering Join Edureka Meetup community for 100+ Free Webinars each month JOIN MEETUP GROUP