1 / 30

Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Comparison | Edureka

This DevOps Tutorial takes you through what is Configuration Management all about and basic concepts of Infrastructure as code. It also compares the four most widely used Configuration Management tools i.e. Chef, Puppet, Ansible and SaltStack. <br><br>Check our complete DevOps YouTube playlist here: http://goo.gl/O2vo13 <br><br>DevOps Tutorial Blog Series here: https://goo.gl/P0zAfF

EdurekaIN
Download Presentation

Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Comparison | Edureka

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. www.edureka.co/devops

  2. Do You Know? 1 What is DevOps Lifecycle? 2 Which are the tools used in DevOps Lifecycle? 3 Which tools are used for Configuration Management (CM) and Deployment? And Why? 4 Chef | Puppet | Ansible | SaltStack – On What factors to compare? www.edureka.co/devops

  3. DevOps LifeCycle www.edureka.co/devops

  4. DevOps LifeCycle : Tools Jenkins www.edureka.co/devops

  5. DevOps LifeCycle : CM & Deployment Tools Jenkins www.edureka.co/devops

  6. But, Why do we need these tools? www.edureka.co/devops

  7. Scenario 1: Mass Deployment Deploy the application on 5 VMs Deploy the application on 500 VMs It is not possible for a human to deploy application on 500 VMs quickly, We need a tool that can do this job. www.edureka.co/devops

  8. Scenario 2: Migrating from Test to Production Everything was fine in TEST! What happened now??? Due to test/production environment difference, few applications work on test but not on production. There should be a tool to handle the environment differences. www.edureka.co/devops

  9. Scenario 3: Application Failure Why the hell app has stopped working, what did you do??? No Idea, Sir! I haven’t done anything wrong. There is no way to review change logs, complex way to roll back. There should be a tool which should roll back the application automatically to stable version in case of failures. www.edureka.co/devops

  10. Case Study on Scenario 3 Top travel booking website in UK, 1.2 Billion pounds annual revenue, 9+ million visits per month 2 3 1 Huge money loss due to downtime! Reference: www.SoftwareOperability.com www.edureka.co/devops

  11. We need Configuration Management and Deployment Tools for IT Automation www.edureka.co/devops

  12. Let us understand, a very important concept Infrastructure as Code (IaC) www.edureka.co/devops

  13. Infrastructure as Code (IaC) DEV IaC is automation of IT operations (build, deploy, manage) by provisioning of code , rather than manual process TEST Code for the infrastructure PROD Provisioning of Dev, Test and Prod environment by writing code in one centralized location www.edureka.co/devops

  14. Infrastructure as Code (IaC) Shell Script CM Tool Script echo “spock:*:1010:1010:Spock: /home/spock:/bin/sh” \ >> /etc/passwd (the user spock is added to passwd file) user { “spock”: ensure => present, gid => “science”, home => “/home/spock”, shell => “/bin/sh” } ✓ In shell script, you need to write automation script from scratch but in CM (configuration management) tool 80% things are already available CM Tools ✓ In shell script, you need to define the workflows whereas in CM tool the workflows are already available ✓ You have UI (user interface) in CM tools to ease your job for automating the tasks but you don’t have UI in shell scripting www.edureka.co/devops

  15. Puppet vs Chef vs SaltStack vs Ansible We will evaluate the above tools on below parameters: Scalability Ease of Setup Availability Management Interoperability www.edureka.co/devops

  16. Scalability Highly Scalable Highly Scalable Scalability Ease of Setup Availability Management Highly Scalable Highly Scalable Interoperability www.edureka.co/devops

  17. Ease of Setup Master-Agent Master-Agent Puppet server runs on master machine and Puppet clients runs as agent on each client machine Here Server is called as master and clients are called as minions which run as agents in client machine Scalability Ease of Setup Availability Master-Node Master-Agent Management It has only master running on server machine, but no agents running on client machine, uses ssh to login to client systems Chef server runs on master machine and Chef clients runs as agent on each client machine Interoperability Client machine VM requires no special setup, hence it is faster to setup www.edureka.co/devops

  18. Availability Highly Available Highly Available It has multi-master architecture, if the active master goes down, the other master takes the active master place It can have multiple masters configured, if one master is down, agents connect with the other master in the list Scalability Ease of Setup Availability Highly Available Highly Available Management Runs with a single active node, called the Primary instance, if primary goes down, there is Secondary instance to take its place When there is failure in the primary server i.e. chef sever, it has a backup server to take the place of primary server Interoperability www.edureka.co/devops

  19. Management Not very easy to learn to manage the configurations as it uses its own language called Puppet DSL. Client pulls the configurations from the Server Non-Immediate remote execution Easy to learn to manage the configurations Server pushes configurations to all the clients Immediate remote execution Scalability Ease of Setup Availability You need to be a programmer to manage the configurations as it offers configurations in Ruby DSL. Client pulls the configurations from the Server Management Easy to learn to manage the configurations Server pushes configurations to all the nodes Good for real-time application Immediate remote execution Interoperability www.edureka.co/devops

  20. Interoperability Salt Master works only on Linux/Unix but Salt minions can work on windows as well Puppet Master works only on Linux/Unix but Puppet Agent also works on windows Scalability Ease of Setup Availability Management Interoperability Ansible supports windows machines as well but the Ansible server has to be in Linux/Unix machine Chef Server works only in Linux/Unix but Chef Client and Workstation can be on windows as well www.edureka.co/devops

  21. Final Scorecard Overall Score (100%) Scalability (20%) Setup (20%) Availability (20%) Management (20%) Interoperability (20%) Scorecard Puppet 9.0 8.0 9.0 8.0 9.0 8.6 SaltStack 9.0 8.0 9.0 9.0 9.0 8.8 Chef 9.0 8.0 9.0 8.0 9.0 8.6 Ansible 9.0 9.0 9.0 9.0 9.0 9.0 ✓ We have given equal weightage for all the parameters to calculate overall score ✓ You may calculate the overall score by changing the weightage of parameters depending on your requirement www.edureka.co/devops

  22. Some more factors to consider: Configuration Language Github Activity Enterprise Cost Popularity Success Story www.edureka.co/devops

  23. Configuration Language Configuration : YAML (Python) Easy to learn, administrator oriented Python is inbuilt into most Unix and Linux deployments nowadays, so setting the tool up and running is quicker Configuration : DSL (Puppet DSL) Not easy to learn, administrator oriented Conf. Lang. GitHub Activity Enterprise Cost Configuration : YAML (Python) Easy to learn, administrator oriented Python is inbuilt into most Unix and Linux deployments nowadays, so setting the tool up and running is quicker Popularity Configuration : DSL (Ruby) Steep Learning Curve, developer oriented Success Story • • DSL : Domain Specific Language YAML : Yet Another Markup Language www.edureka.co/devops

  24. GitHub Activity Contributors: 1,041 Commits: 49,193 Branches: 11 Releases: 82 Contributors: 355 Commits: 19,595 Branches: 9 Releases: 291 Conf. Lang. GitHub Activity Enterprise Cost Popularity Contributors: 1,003 Commits: 13,527 Branches: 33 Releases: 57 Contributors: 369 Commits: 12,089 Branches: 177 Releases: 231 Success Story Reference: www.slideshare.net/DanielKrook/caps-whats-best-for-deploying-and-managing-openstack-chef-vs-ansible-vs-puppet-vs-salt www.edureka.co/devops

  25. Enterprise Cost for 100 Nodes Per Year Puppet Enterprise : $12,000 SaltStack Enterprise : $15,000 Reference: www.saltstack.com/enterprise/ Reference: www.puppet.com/support-services/customer-support/support-plans Conf. Lang. GitHub Activity Enterprise Cost Popularity Success Story Ansible Enterprise Tower : $10,000 Chef Enterprise : $7,200 Reference: www.chef.io/pricing/ Reference: www.ansible.com/pricing www.edureka.co/devops

  26. Popularity : Google Trend (Past 5 Years) Conf. Lang. GitHub Activity Enterprise Cost Popularity Success Story ✓ Puppet and Chef are old players, puppet has wider adoption ✓ SaltStack and Ansible are new players, and Ansible looks very promising with the growing trend www.edureka.co/devops

  27. Success Story “75% of ICE’s(Intercontinental Exchange) 20,000 servers are managed by Puppet Enterprise. They increased from 300 servers per admin to 700 servers per admin. Provisioning dev environments reduced from 1 or 2 days to just 21 minutes.” “LinkedIn had about 5,000 Salt Minions under management 4 years ago. That number has ballooned to more than 70,000 today to manage their infrastructure.” Conf. Lang. Reference: www.saltstack.com/saltstack-at-web-scale-better-stronger-faster/ GitHub Activity Reference: www.puppet.com/resources/customer-stories/nyse Enterprise Cost Popularity “Chef has increased the effectiveness and the speed of our development cycle. 30% of Gannett's technology organization used Chef but Gannett has aggressive plans for 100% adoption this year 2016.” “Using Ansible, we’ve been able to cut down certain processes from 17 hours to 3 minutes. Ansible is unquantifiable in its benefit.” Success Story Reference: www.ansible.com/success-stories/fatmap Reference: www.chef.io/customers/gannett/ www.edureka.co/devops

  28. Conclusion ✓ By now, you would have selected your tool, remember, there is nothing called best tool for configuration management in DevOps ✓ You should choose the tool as per your organization’s need and environment www.edureka.co/devops

  29. Thank You … Questions/Queries/Feedback www.edureka.co/devops

More Related