SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
Configuration Manager
                 Puppet, Chef, Cfengine

  Presented by
  Jérémy MATHEVET
Topics
1. Principle
2. Comparison
3. Puppet
4. Chef
5. Cfengine
6. Migration advises
Principle
Principle
• A client/server architecture.
• The server has a reference configuration.
• The client queries the server.
• The client makes change in order to match
 the reference configuration.
Principle



 1. “Can you give my configuration model ?“
 2. “Ok, for you, that's it.”
 3. “I make the necessary in order to fulfil it.”
 4. (optional) “Thank you, I'm ok, no error” or
 “I had a problem”.
Principle
Why to do this ?
• Centralized management
• Automated management
• Mass deployment
• Configuration customization
• Abstraction Layer
• Idempotence
What can we do ?
• File transfer
• Service management
• Package management
• Command launching
Comparison
Comparison
 3 major solution :
 • Puppet
 • Chef
 • Cfengine

 Pretty similar possibilities.
 Some specificities.
Comparison
                      Puppet            Chef           Cfengine

      Pull              Yes              Yes              Yes

      Push              No               No               No

  Idempotence           Yes              Yes              Yes

 Config language    Declarative         Ruby          Declarative

     Web UI        Yes (limited)         Yes              No

   OS Support       Linux/Unix –     Linux/Unix –
                                     Linux            Linux/Unix –
                      Windows          Windows          Windows
                   (experimental)   (experimental)   (experimental)
    Licence           GPL v2           Apache            GPL

    Company        Puppet Labs        OpsCode          Cfengine

     Cloud              Yes         SaaS platform         Yes
Puppet
Puppet
• Created in 2006 by Puppet Labs
• The easiest solution
• Proprietary declarative language
• Modular configuration
• Template
• Asymmetric Key Encryption
Puppet
• Prerequisite :
  • Configured DNS
  • Ruby

• Installation Sources :
  • Debian Repositories
  • RubyGem
  • Sources
Puppet
• Puppet server : Puppetmaster
• Puppet client : Puppet (agent)

 Main steps once installed :
  • Key exchange
  • Puppetmaster configuration
  • Puppet agent checks every 30 mn by default
Puppet
 Vocabulary :
 • Node
 • Manifest
 • Module
 • Class
 • Template
Puppet
Puppet
           Here is the read order.



         • site.pp : global config
         • nodes.pp : manage
           hosts
         • init.pp : module classes
         • Files : module files
           directory
Puppet
Puppet
• Facter : Give node facts.

• Permit to have
  customized
  configuration node.



• Possibility to create
  your own facts.
Puppet
Templates
• ERB
• Customize configuration using Facts

  Exemple :
Puppet
Puppet Dashboard
• WebUI
• Still in development
• Very buggy
• Only for monitoring
• Useless for the moment
Chef
Chef
• Created in 2009 by Opscode
• Sustained development
• Configuration language : Ruby
• Modular configuration
• Template
• Asymmetric Key Encryption
Chef
• Prerequisite :
  • Configured DNS
  • Ruby

• Installation Sources :
  • Opscode Repositories
  • RubyGem
  • Sources
Chef
• Chef server : chef-server
• Chef client : chef-client

 Main steps once installed :
  • Key exchange
  • Chef-server configuration
  • Chef client checks every 30 mn by default
Chef
 Vocabulary :
 • Recipes
 • Cookbook
 • Role
 • Node
 • Attributes
 • Knife
 • Chef Repository
Chef
Chef
 Chef Server is in fact several processes.


•API Service
   Used to interact with server for node configuration.



•Management Console
   WebUI which permits to do administrative tasks.
Chef
• File indexer
    Apache SOLR, a search engine.



• Data store (CouchDB)
    Used for store roles, nodes and data bag JSON data. Sends
    it to SOLR, through AQMP queue.



•AQMP Server
    Used by CouchDB as queue.
Chef
Chef
 Cookbook
Chef
 Recipes
Chef
 Recipes


 Like in Cooking, one of the more interesting
 thing is to share our cookbooks and recipes.


 http://community.opscode.com/cookbooks
Chef
 Ohai and templates


 A tree of node facts, which can be used as
 attributes.


 The same kind of customization as Puppet
 with Facter.
Chef
 Administration


•Knife or Management Console
•CLI or Web UI
•Two powerful tools
Chef vs Puppet
 Chef Advantages
 • Cookbooks sharing
 • Stricter configuration rules
 • Ruby
 • Useful WebUI

 Disadvantages
 • A bit more complex
 • More setup needed
 • Usable in production, but still young
Cfengine
Cfengine
• Created in 1993 by Mark Burgess
• The first configuration manager
• Major update in 2009, Cfengine 3
• Proprietary configuration language
• Template
• Asymmetric Key Encryption
Cfengine
• Prerequisite :
  • libc

• Installation Sources :
  • Debian Repositories
  • Sources
Cfengine
 Cfengine has an
 atypical
 mechanism.


 There is neither
 cfengine-server nor
 cfengine-client
 package.
Cfengine
 Architecture
Cfengine
 Vocabulary
 • Promises
 • Body & bundle
 • Class
Cfengine
 Promises
Cfengine
•Bundles and bodies
Cfengine
•With Cfengine, you have to do configure
 everything. From the promises, to the host
 authorized, or the failsafe procedure.
Cfengine vs Puppet vs Chef
 Cfengine is powerful. But...
 • Painful configuration
 • Have fun with log (excessively verbose... Or not.)
 • Seems outdated compared to Puppet and Chef

 Keep in mind that you have as much
 possibilities as Puppet & Chef. But the time
 you pass configuring and master it is
 incomparable.
Migration advices
Migration advices
• Migration have to be progressive.
• Writing configurations take time.
• Be extremely rigorous.
• Don't forget the revision control.
Questions?

Contact:
Email : jeremy.mathevet@supinfo.com
StatusNet : jeyg@status.jeyg.info
Twitter : @Jeyg
                            Content under Creative Commons BY license.

Weitere ähnliche Inhalte

Was ist angesagt?

De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentPuppet
 
Using Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementUsing Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementJames Turnbull
 
SaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertoolsSaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertoolsThomas Jackson
 
Pro Puppet
Pro PuppetPro Puppet
Pro Puppetdsadas
 
Introduction to puppet
Introduction to puppetIntroduction to puppet
Introduction to puppetHabeeb Rahman
 
Virtual Bolt Workshop, 5 May 2020
Virtual Bolt Workshop, 5 May 2020Virtual Bolt Workshop, 5 May 2020
Virtual Bolt Workshop, 5 May 2020Puppet
 
Ansible: What, Why & How
Ansible: What, Why & HowAnsible: What, Why & How
Ansible: What, Why & HowAlfonso Cabrera
 
Automated Deployment with Capistrano
Automated Deployment with CapistranoAutomated Deployment with Capistrano
Automated Deployment with CapistranoSumit Chhetri
 
SaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google ScaleSaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google ScaleSaltStack
 
Experiences from Running Masterless Puppet - PuppetConf 2014
Experiences from Running Masterless Puppet - PuppetConf 2014Experiences from Running Masterless Puppet - PuppetConf 2014
Experiences from Running Masterless Puppet - PuppetConf 2014Puppet
 
Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...SaltStack
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdminsPuppet
 
Masterless puppet
Masterless puppetMasterless puppet
Masterless puppetJesus Nunez
 
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopPuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopWalter Heck
 
KubeCon EU 2016: Full Automatic Database: PostgreSQL HA with Kubernetes
KubeCon EU 2016: Full Automatic Database: PostgreSQL HA with KubernetesKubeCon EU 2016: Full Automatic Database: PostgreSQL HA with Kubernetes
KubeCon EU 2016: Full Automatic Database: PostgreSQL HA with KubernetesKubeAcademy
 
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013Puppet
 
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web ScaleSaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web ScaleSaltStack
 
Update on Virtualization in Debian
Update on Virtualization in DebianUpdate on Virtualization in Debian
Update on Virtualization in DebianHenning Sprang
 

Was ist angesagt? (20)

De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
 
Using Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementUsing Puppet - Real World Configuration Management
Using Puppet - Real World Configuration Management
 
SaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertoolsSaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertools
 
Pro Puppet
Pro PuppetPro Puppet
Pro Puppet
 
Introduction to puppet
Introduction to puppetIntroduction to puppet
Introduction to puppet
 
Noit ocon-2010
Noit ocon-2010Noit ocon-2010
Noit ocon-2010
 
Virtual Bolt Workshop, 5 May 2020
Virtual Bolt Workshop, 5 May 2020Virtual Bolt Workshop, 5 May 2020
Virtual Bolt Workshop, 5 May 2020
 
Ansible: What, Why & How
Ansible: What, Why & HowAnsible: What, Why & How
Ansible: What, Why & How
 
Automated Deployment with Capistrano
Automated Deployment with CapistranoAutomated Deployment with Capistrano
Automated Deployment with Capistrano
 
SaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google ScaleSaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google Scale
 
Experiences from Running Masterless Puppet - PuppetConf 2014
Experiences from Running Masterless Puppet - PuppetConf 2014Experiences from Running Masterless Puppet - PuppetConf 2014
Experiences from Running Masterless Puppet - PuppetConf 2014
 
Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 
Ansible - A 'crowd' introduction
Ansible - A 'crowd' introductionAnsible - A 'crowd' introduction
Ansible - A 'crowd' introduction
 
Masterless puppet
Masterless puppetMasterless puppet
Masterless puppet
 
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopPuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
 
KubeCon EU 2016: Full Automatic Database: PostgreSQL HA with Kubernetes
KubeCon EU 2016: Full Automatic Database: PostgreSQL HA with KubernetesKubeCon EU 2016: Full Automatic Database: PostgreSQL HA with Kubernetes
KubeCon EU 2016: Full Automatic Database: PostgreSQL HA with Kubernetes
 
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
 
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web ScaleSaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
 
Update on Virtualization in Debian
Update on Virtualization in DebianUpdate on Virtualization in Debian
Update on Virtualization in Debian
 

Andere mochten auch

Blue Medora IBM Tivoli Monitoring (ITM) Agent for IBM Tivoli Directory Server...
Blue Medora IBM Tivoli Monitoring (ITM) Agent for IBM Tivoli Directory Server...Blue Medora IBM Tivoli Monitoring (ITM) Agent for IBM Tivoli Directory Server...
Blue Medora IBM Tivoli Monitoring (ITM) Agent for IBM Tivoli Directory Server...Blue Medora
 
Tear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormation
Tear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormationTear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormation
Tear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormationJames Andrew Vaughn
 
TIAD : Choisir et construire son projet d’automatisation
TIAD : Choisir et construire son projet d’automatisationTIAD : Choisir et construire son projet d’automatisation
TIAD : Choisir et construire son projet d’automatisationThe Incredible Automation Day
 
Keep calms and Docker On ... Innotech
Keep calms and Docker On ... InnotechKeep calms and Docker On ... Innotech
Keep calms and Docker On ... InnotechBoyd Hemphill
 
PuppetConf 2016: Puppet and UCS: Policy-Based Management All the Way Down – C...
PuppetConf 2016: Puppet and UCS: Policy-Based Management All the Way Down – C...PuppetConf 2016: Puppet and UCS: Policy-Based Management All the Way Down – C...
PuppetConf 2016: Puppet and UCS: Policy-Based Management All the Way Down – C...Puppet
 
FreeSWITCH Monitoring
FreeSWITCH MonitoringFreeSWITCH Monitoring
FreeSWITCH MonitoringMoises Silva
 
Cfengine vs Puppet vs Chef: A Guide for Stressed Developers
Cfengine vs Puppet vs Chef: A Guide for Stressed DevelopersCfengine vs Puppet vs Chef: A Guide for Stressed Developers
Cfengine vs Puppet vs Chef: A Guide for Stressed DevelopersRon Toland
 
PuppetConf 2016: How Not to Freak Out When You Start Writing Puppet Modules f...
PuppetConf 2016: How Not to Freak Out When You Start Writing Puppet Modules f...PuppetConf 2016: How Not to Freak Out When You Start Writing Puppet Modules f...
PuppetConf 2016: How Not to Freak Out When You Start Writing Puppet Modules f...Puppet
 
Infrastructure as code with Terraform
Infrastructure as code with TerraformInfrastructure as code with Terraform
Infrastructure as code with TerraformSam Bashton
 
Sccm 2012
Sccm 2012Sccm 2012
Sccm 2012ebuc
 
Desktop Management Using Microsoft SCCM
Desktop Management Using Microsoft SCCMDesktop Management Using Microsoft SCCM
Desktop Management Using Microsoft SCCMJerry Bishop
 
Cloud Foundry Deployment Tools: BOSH vs Juju Charms
Cloud Foundry Deployment Tools:  BOSH vs Juju CharmsCloud Foundry Deployment Tools:  BOSH vs Juju Charms
Cloud Foundry Deployment Tools: BOSH vs Juju CharmsAltoros
 
SharePoint Configuration Management – Effective Techniques for Regulated Shar...
SharePoint Configuration Management – Effective Techniques for Regulated Shar...SharePoint Configuration Management – Effective Techniques for Regulated Shar...
SharePoint Configuration Management – Effective Techniques for Regulated Shar...Montrium
 
Continuous Deployment with Amazon Web Services
Continuous Deployment with Amazon Web ServicesContinuous Deployment with Amazon Web Services
Continuous Deployment with Amazon Web ServicesJulien SIMON
 
Puppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionPuppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionJoshua Thijssen
 
Puppet overview
Puppet overviewPuppet overview
Puppet overviewjoshbeard
 

Andere mochten auch (20)

Blue Medora IBM Tivoli Monitoring (ITM) Agent for IBM Tivoli Directory Server...
Blue Medora IBM Tivoli Monitoring (ITM) Agent for IBM Tivoli Directory Server...Blue Medora IBM Tivoli Monitoring (ITM) Agent for IBM Tivoli Directory Server...
Blue Medora IBM Tivoli Monitoring (ITM) Agent for IBM Tivoli Directory Server...
 
IBMSoftware
IBMSoftwareIBMSoftware
IBMSoftware
 
Tear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormation
Tear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormationTear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormation
Tear It Down, Build It Back Up: Empowering Developers with Amazon CloudFormation
 
TIAD : Choisir et construire son projet d’automatisation
TIAD : Choisir et construire son projet d’automatisationTIAD : Choisir et construire son projet d’automatisation
TIAD : Choisir et construire son projet d’automatisation
 
Keep calms and Docker On ... Innotech
Keep calms and Docker On ... InnotechKeep calms and Docker On ... Innotech
Keep calms and Docker On ... Innotech
 
Vagrant + ansible vs docker
Vagrant + ansible vs dockerVagrant + ansible vs docker
Vagrant + ansible vs docker
 
PuppetConf 2016: Puppet and UCS: Policy-Based Management All the Way Down – C...
PuppetConf 2016: Puppet and UCS: Policy-Based Management All the Way Down – C...PuppetConf 2016: Puppet and UCS: Policy-Based Management All the Way Down – C...
PuppetConf 2016: Puppet and UCS: Policy-Based Management All the Way Down – C...
 
FreeSWITCH Monitoring
FreeSWITCH MonitoringFreeSWITCH Monitoring
FreeSWITCH Monitoring
 
Cfengine vs Puppet vs Chef: A Guide for Stressed Developers
Cfengine vs Puppet vs Chef: A Guide for Stressed DevelopersCfengine vs Puppet vs Chef: A Guide for Stressed Developers
Cfengine vs Puppet vs Chef: A Guide for Stressed Developers
 
PuppetConf 2016: How Not to Freak Out When You Start Writing Puppet Modules f...
PuppetConf 2016: How Not to Freak Out When You Start Writing Puppet Modules f...PuppetConf 2016: How Not to Freak Out When You Start Writing Puppet Modules f...
PuppetConf 2016: How Not to Freak Out When You Start Writing Puppet Modules f...
 
Infrastructure as code with Terraform
Infrastructure as code with TerraformInfrastructure as code with Terraform
Infrastructure as code with Terraform
 
Sccm 2012
Sccm 2012Sccm 2012
Sccm 2012
 
SCCM 2012 Presentation
SCCM 2012 PresentationSCCM 2012 Presentation
SCCM 2012 Presentation
 
Desktop Management Using Microsoft SCCM
Desktop Management Using Microsoft SCCMDesktop Management Using Microsoft SCCM
Desktop Management Using Microsoft SCCM
 
Cloud Foundry Deployment Tools: BOSH vs Juju Charms
Cloud Foundry Deployment Tools:  BOSH vs Juju CharmsCloud Foundry Deployment Tools:  BOSH vs Juju Charms
Cloud Foundry Deployment Tools: BOSH vs Juju Charms
 
SharePoint Configuration Management – Effective Techniques for Regulated Shar...
SharePoint Configuration Management – Effective Techniques for Regulated Shar...SharePoint Configuration Management – Effective Techniques for Regulated Shar...
SharePoint Configuration Management – Effective Techniques for Regulated Shar...
 
Continuous Deployment with Amazon Web Services
Continuous Deployment with Amazon Web ServicesContinuous Deployment with Amazon Web Services
Continuous Deployment with Amazon Web Services
 
Puppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionPuppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 Edition
 
(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code
 
Puppet overview
Puppet overviewPuppet overview
Puppet overview
 

Ähnlich wie Configuration manager presentation

August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
 
CakePHP 2.0 - PHP Matsuri 2011
CakePHP 2.0 - PHP Matsuri 2011CakePHP 2.0 - PHP Matsuri 2011
CakePHP 2.0 - PHP Matsuri 2011Graham Weldon
 
PHP, Cloud And Microsoft Symfony Live 2010
PHP,  Cloud And  Microsoft    Symfony  Live 2010PHP,  Cloud And  Microsoft    Symfony  Live 2010
PHP, Cloud And Microsoft Symfony Live 2010guest5a7126
 
Chef meetup presentation
Chef meetup presentationChef meetup presentation
Chef meetup presentationCharles Johnson
 
Ninja, Choose Your Weapon!
Ninja, Choose Your Weapon!Ninja, Choose Your Weapon!
Ninja, Choose Your Weapon!Anton Weiss
 
Chef + AWS + CodeIgniter
Chef + AWS + CodeIgniterChef + AWS + CodeIgniter
Chef + AWS + CodeIgniterciconf
 
Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAlberto Molina Coballes
 
Php internal architecture
Php internal architecturePhp internal architecture
Php internal architectureElizabeth Smith
 
Chef for Openstack
Chef for OpenstackChef for Openstack
Chef for OpenstackMohit Sethi
 
Building a PaaS using Chef
Building a PaaS using ChefBuilding a PaaS using Chef
Building a PaaS using ChefShaun Domingo
 
Chef onlinuxonpower
Chef onlinuxonpowerChef onlinuxonpower
Chef onlinuxonpowerMoya Brannan
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Michael Lihs
 
Continuous Integration at Mollie
Continuous Integration at MollieContinuous Integration at Mollie
Continuous Integration at Molliewillemstuursma
 
Ansible top 10 - 2018
Ansible top 10 -  2018Ansible top 10 -  2018
Ansible top 10 - 2018Viresh Doshi
 
Portable infrastructure with puppet
Portable infrastructure with puppetPortable infrastructure with puppet
Portable infrastructure with puppetlkanies
 
The Architect Way - JSCamp.asia 2012
The Architect Way - JSCamp.asia 2012The Architect Way - JSCamp.asia 2012
The Architect Way - JSCamp.asia 2012Jan Jongboom
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack SummitMiguel Zuniga
 
DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityGeoff Harcourt
 

Ähnlich wie Configuration manager presentation (20)

August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
CakePHP 2.0 - PHP Matsuri 2011
CakePHP 2.0 - PHP Matsuri 2011CakePHP 2.0 - PHP Matsuri 2011
CakePHP 2.0 - PHP Matsuri 2011
 
PHP, Cloud And Microsoft Symfony Live 2010
PHP,  Cloud And  Microsoft    Symfony  Live 2010PHP,  Cloud And  Microsoft    Symfony  Live 2010
PHP, Cloud And Microsoft Symfony Live 2010
 
Chef meetup presentation
Chef meetup presentationChef meetup presentation
Chef meetup presentation
 
Chef: Smart infrastructure automation
Chef: Smart infrastructure automationChef: Smart infrastructure automation
Chef: Smart infrastructure automation
 
Ninja, Choose Your Weapon!
Ninja, Choose Your Weapon!Ninja, Choose Your Weapon!
Ninja, Choose Your Weapon!
 
Chef + AWS + CodeIgniter
Chef + AWS + CodeIgniterChef + AWS + CodeIgniter
Chef + AWS + CodeIgniter
 
Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. Ansible
 
Php internal architecture
Php internal architecturePhp internal architecture
Php internal architecture
 
Chef for Openstack
Chef for OpenstackChef for Openstack
Chef for Openstack
 
Building a PaaS using Chef
Building a PaaS using ChefBuilding a PaaS using Chef
Building a PaaS using Chef
 
Chef onlinuxonpower
Chef onlinuxonpowerChef onlinuxonpower
Chef onlinuxonpower
 
Chef for openstack
Chef for openstackChef for openstack
Chef for openstack
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
 
Continuous Integration at Mollie
Continuous Integration at MollieContinuous Integration at Mollie
Continuous Integration at Mollie
 
Ansible top 10 - 2018
Ansible top 10 -  2018Ansible top 10 -  2018
Ansible top 10 - 2018
 
Portable infrastructure with puppet
Portable infrastructure with puppetPortable infrastructure with puppet
Portable infrastructure with puppet
 
The Architect Way - JSCamp.asia 2012
The Architect Way - JSCamp.asia 2012The Architect Way - JSCamp.asia 2012
The Architect Way - JSCamp.asia 2012
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
 
DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production Parity
 

Configuration manager presentation

  • 1. Configuration Manager Puppet, Chef, Cfengine Presented by Jérémy MATHEVET
  • 2. Topics 1. Principle 2. Comparison 3. Puppet 4. Chef 5. Cfengine 6. Migration advises
  • 4. Principle • A client/server architecture. • The server has a reference configuration. • The client queries the server. • The client makes change in order to match the reference configuration.
  • 5. Principle 1. “Can you give my configuration model ?“ 2. “Ok, for you, that's it.” 3. “I make the necessary in order to fulfil it.” 4. (optional) “Thank you, I'm ok, no error” or “I had a problem”.
  • 7. Why to do this ? • Centralized management • Automated management • Mass deployment • Configuration customization • Abstraction Layer • Idempotence
  • 8. What can we do ? • File transfer • Service management • Package management • Command launching
  • 10. Comparison 3 major solution : • Puppet • Chef • Cfengine Pretty similar possibilities. Some specificities.
  • 11. Comparison Puppet Chef Cfengine Pull Yes Yes Yes Push No No No Idempotence Yes Yes Yes Config language Declarative Ruby Declarative Web UI Yes (limited) Yes No OS Support Linux/Unix – Linux/Unix – Linux Linux/Unix – Windows Windows Windows (experimental) (experimental) (experimental) Licence GPL v2 Apache GPL Company Puppet Labs OpsCode Cfengine Cloud Yes SaaS platform Yes
  • 13. Puppet • Created in 2006 by Puppet Labs • The easiest solution • Proprietary declarative language • Modular configuration • Template • Asymmetric Key Encryption
  • 14. Puppet • Prerequisite : • Configured DNS • Ruby • Installation Sources : • Debian Repositories • RubyGem • Sources
  • 15. Puppet • Puppet server : Puppetmaster • Puppet client : Puppet (agent) Main steps once installed : • Key exchange • Puppetmaster configuration • Puppet agent checks every 30 mn by default
  • 16. Puppet Vocabulary : • Node • Manifest • Module • Class • Template
  • 18. Puppet Here is the read order. • site.pp : global config • nodes.pp : manage hosts • init.pp : module classes • Files : module files directory
  • 20. Puppet • Facter : Give node facts. • Permit to have customized configuration node. • Possibility to create your own facts.
  • 21. Puppet Templates • ERB • Customize configuration using Facts Exemple :
  • 22. Puppet Puppet Dashboard • WebUI • Still in development • Very buggy • Only for monitoring • Useless for the moment
  • 23.
  • 24. Chef
  • 25. Chef • Created in 2009 by Opscode • Sustained development • Configuration language : Ruby • Modular configuration • Template • Asymmetric Key Encryption
  • 26. Chef • Prerequisite : • Configured DNS • Ruby • Installation Sources : • Opscode Repositories • RubyGem • Sources
  • 27. Chef • Chef server : chef-server • Chef client : chef-client Main steps once installed : • Key exchange • Chef-server configuration • Chef client checks every 30 mn by default
  • 28. Chef Vocabulary : • Recipes • Cookbook • Role • Node • Attributes • Knife • Chef Repository
  • 29. Chef
  • 30. Chef Chef Server is in fact several processes. •API Service Used to interact with server for node configuration. •Management Console WebUI which permits to do administrative tasks.
  • 31. Chef • File indexer Apache SOLR, a search engine. • Data store (CouchDB) Used for store roles, nodes and data bag JSON data. Sends it to SOLR, through AQMP queue. •AQMP Server Used by CouchDB as queue.
  • 32. Chef
  • 35. Chef Recipes Like in Cooking, one of the more interesting thing is to share our cookbooks and recipes. http://community.opscode.com/cookbooks
  • 36. Chef Ohai and templates A tree of node facts, which can be used as attributes. The same kind of customization as Puppet with Facter.
  • 37. Chef Administration •Knife or Management Console •CLI or Web UI •Two powerful tools
  • 38.
  • 39. Chef vs Puppet Chef Advantages • Cookbooks sharing • Stricter configuration rules • Ruby • Useful WebUI Disadvantages • A bit more complex • More setup needed • Usable in production, but still young
  • 41. Cfengine • Created in 1993 by Mark Burgess • The first configuration manager • Major update in 2009, Cfengine 3 • Proprietary configuration language • Template • Asymmetric Key Encryption
  • 42. Cfengine • Prerequisite : • libc • Installation Sources : • Debian Repositories • Sources
  • 43. Cfengine Cfengine has an atypical mechanism. There is neither cfengine-server nor cfengine-client package.
  • 45. Cfengine Vocabulary • Promises • Body & bundle • Class
  • 48. Cfengine •With Cfengine, you have to do configure everything. From the promises, to the host authorized, or the failsafe procedure.
  • 49. Cfengine vs Puppet vs Chef Cfengine is powerful. But... • Painful configuration • Have fun with log (excessively verbose... Or not.) • Seems outdated compared to Puppet and Chef Keep in mind that you have as much possibilities as Puppet & Chef. But the time you pass configuring and master it is incomparable.
  • 51. Migration advices • Migration have to be progressive. • Writing configurations take time. • Be extremely rigorous. • Don't forget the revision control.
  • 52. Questions? Contact: Email : jeremy.mathevet@supinfo.com StatusNet : jeyg@status.jeyg.info Twitter : @Jeyg Content under Creative Commons BY license.