SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
24/09/2011




  Configuration Management
   Automating and rationalizing server setup with CFEngine 3




Jonathan Clarke   <jcl@normation.com>

                           
About the speaker
Jonathan Clarke                → CTO →

Sysadmin background                  Startup created in 2010
Infrastructure management            Based in Paris
FLOSS contributor:                   Configuration management:
  CFEngine
                                            CFEngine (partner)
  Others (OpenLDAP, LSC,
  FusionInventory...)                       Rudder (creator)




                            
Introduction

                          1. CREATE
                          2. SETUP
                          3. USE
                          4. THROW AWAY
    Cloud Computing




                       
Introduction

                           1. CREATE
                           2. SETUP
                           3. USE
                           4. THROW AWAY
     Cloud Computing



  → APIs and tools are available




                        
Introduction

                            1. CREATE
                            2. SETUP
                            3. USE
                            4. THROW AWAY
      Cloud Computing


 Three approaches:
  1. Manually
  2. Imaging
  3. Configuration tool

                         
Agenda

1) Configuration Management principles
2) Configuration Management tools
3) About CFEngine 3
4) Getting started




                  
Configuration Management
     Principles through examples...




                
A server crashed.

               Install a new one, people
                 can't work without it!

OK, it'll be done in
about two days...



            Why configuration management?

                                  There's a new critical security patch
                                  we must deploy on all our servers!

                                                               Get it out quickly!

                                  Right, I'll put the whole
                                  team on it.




                               
Reproducibility    Industrialization



              Automation


                Why configuration management?




                              
How do we setup
   service X?

                     Ask Jim, he's
                   the expert on that.

But he left the company...



               Why configuration management?
                                         Huh, this server has been logging
                                         errors for a few weeks.

                                                          Oh? I think Michael changed
                                                          something on it recently...
                                                          He'll tell you what it was.

                                         Damn, he's on vacation!




                                  
Documentation     History



                           Building-up
                           knowledge


    Why configuration management?




              
An intruder just stole our data
using a vulnerability in a
module we don't need...
                                    I thought the project specification
                                    ensured that we disabled that?
Er, it did, but we enabled it to
solve a problem and forgot to
disable it afterwards... sorry...


        Why configuration management?




                             
Why configuration management?


              Continuous
               vigilance


Automatic repairs     Alerts


                            
I don't understand how this
     server is setup. It doesn't match
     our best-practices.


                           Oh, that's a legacy server...



       Why configuration management?

                                              Give me details on our
                                              current security policy.
    Well, it's a collection of little
    things, here and there...

                                            Ah... Well, OK.
                                            Tell me: is it fully applied
                                            on all our critical servers?
    Er...




                              
Why configuration management?



                           Rationalization


                    Normalization     Control


              
Reproducibility    Industrialization   Documentation     History



           Automation                            Building-up
                                                 knowledge


               Configuration management benefits


           Continuous
                                               Rationalization
            vigilance


Automatic repairs        Alerts         Normalization     Control


                               
Configuration Management
        The tools




         
Main tools available


 CFEngine 3       Puppet   Chef




               
Main tools available: history




                         Relative origins of CFEngine, Puppet and Chef


Source:
http://verticalsysadmin.com/blog/uncategorized/relative-origins-o
f-cfengine-chef-and-puppet

                                           
The tools: similarities
                   CFEngine 3             Puppet            Chef




   Common origins         Designed specifically    Text-based / CLI
                            for configuration         interface
                              management




 Client-server model
 (sometimes optional)         Open Source


                           
The tools: some differences
                  CFEngine 3    Puppet       Chef




                      C          Ruby        Ruby
   Language


                     GPL        Apache       Apache
                               (ex-GPL)
    License


                     Yes       Preliminary   Partial
Windows support




                            
A bit about CFEngine 3...




         
CFEngine 3: Features
                                  Multi platform




      Windows support

 Two versions:

 1. Community (open source)
     Runs in Cygwin

 2. Nova (commercial)
   ● Native Windows service




                               
CFEngine 3: Features


                 Multi-OS
             Multi-distribution
                                          Adapted to
        Make it ”transparent” (forget   heterogeneous
        about the complexity)            environments

        Existing standard library
        handling the differences
        between each OS and
        distribution




                           
CFEngine 3: Features



Lightweight, non-intrusive




        Non-intrusive
                                 Daemon consumption on managed hosts
 Only two dependencies:
 - BerkeleyDB
 - OpenSSL




                              
CFEngine 3: Features




                   Evolution of CPU utilization
          for an increasing number of managed hosts     Highly scalable

                     From 25 to 400 clients (x16)
                   CPU utilization increases by 1.16%

Notes:
• Each host runs CFEngine every 5 minutes

• Configuration tested sets up Apache web server

• Tests and monitoring using AWS




                                           
CFEngine 3: Features
                                 Multi platform




                                                       Adapted to
Lightweight, non-intrusive                           heterogeneous
                                                      environments



       Autonomous
       Fault-tolerant                             Highly scalable
                                  Progressive
                                    roll-out




                              
Getting started with CFEngine 3




            
CFEngine 3: Installing
   Install from sources:
              http://www.cfengine.com/source_code


   Prebuilt packages:
              Debian / SuSE / Fedora / RHEL / Ubuntu
              Requires free signup
              https://cfengine.com/inside/myspace




                            
CFEngine 3: Client-Server
   Using a server is optional!
              Get started by running standalone

   CFEngine's server daemon is cf-serverd
              Dedicated protocol: TCP port 5308
              Requires SSL key exchange




                            
CFEngine 3: Configuration
   Minimal configuration:
    body common control
    {
      bundlesequence => { "HelloWorld" };
    }
                                                 Syntax notes

    bundle agent HelloWorld                 Whitespace doesn't count
    {                                        Comments follow #
      # This will output "Hello World!"
      commands:
        "/bin/echo Hello World!";
    }

               Structure notes

     ●   Structures are created using { }
     ●   Structures are bundles or bodies



                                  
CFEngine 3: Configuration
   Promise types:
                   Promise types            Promise types
                   (all versions)        (commercial versions)
           files                         environments
           packages                      services
           processes                     databases
           commands
           storage
           interfaces (for future use)



                   Special types             Special types
                   (all versions)        (commercial versions)
           vars                          outputs
           classes
           methods
           reports


                                
CFEngine 3: Examples
   Install and update the LAMP stack
    bundle agent lamp {
      vars:
       "packages" slist => { "httpd", "php5", "mysql" };

      packages:
        "${packages}"
          package_method => generic,
          package_method => "addupdate";
    }




                         
CFEngine 3: Examples
   Install Apache with distribution variations
    packages:
      debian::
         "apache2"
           package_policy => "add",
           package_method => apt;

       centos|redhat::
         "httpd"
            package_policy => "add",
            package_method => yum;




                      
24/09/2011




             Thanks for participating!


Stay in touch...



Jonathan Clarke
Email: jcl@normation.com
Twitter: jooooooon42

                            

Weitere ähnliche Inhalte

Was ist angesagt?

TSM 6.4 Technical updates
TSM 6.4 Technical updates TSM 6.4 Technical updates
TSM 6.4 Technical updates
Solv AS
 
Performance Profiling of Virtual Machines
Performance Profiling of Virtual MachinesPerformance Profiling of Virtual Machines
Performance Profiling of Virtual Machines
Jiaqing Du
 
Cloud infrastructure licensing_v2
Cloud infrastructure licensing_v2Cloud infrastructure licensing_v2
Cloud infrastructure licensing_v2
mikhail.mikheev
 
It camp veeam presentation (no videos)
It camp veeam presentation (no videos)It camp veeam presentation (no videos)
It camp veeam presentation (no videos)
Harold Wong
 
Performance Profiling in a Virtualized Environment
Performance Profiling in a Virtualized EnvironmentPerformance Profiling in a Virtualized Environment
Performance Profiling in a Virtualized Environment
Jiaqing Du
 
Single Console for viewing OpManager & DeviceExpert Alarms
Single Console for viewing OpManager & DeviceExpert AlarmsSingle Console for viewing OpManager & DeviceExpert Alarms
Single Console for viewing OpManager & DeviceExpert Alarms
ManageEngine, Zoho Corporation
 

Was ist angesagt? (20)

Acme Packet Provisioning Framework
Acme Packet Provisioning FrameworkAcme Packet Provisioning Framework
Acme Packet Provisioning Framework
 
XS Oracle 2009 Vm Snapshots
XS Oracle 2009 Vm SnapshotsXS Oracle 2009 Vm Snapshots
XS Oracle 2009 Vm Snapshots
 
I/O Scalability in Xen
I/O Scalability in XenI/O Scalability in Xen
I/O Scalability in Xen
 
Linux Foundation Collaboration Summit 13 :10 years of Xen and Beyond
Linux Foundation Collaboration Summit 13 :10 years of Xen and BeyondLinux Foundation Collaboration Summit 13 :10 years of Xen and Beyond
Linux Foundation Collaboration Summit 13 :10 years of Xen and Beyond
 
Nakajima hvm-be final
Nakajima hvm-be finalNakajima hvm-be final
Nakajima hvm-be final
 
TSM 6.4 Technical updates
TSM 6.4 Technical updates TSM 6.4 Technical updates
TSM 6.4 Technical updates
 
Automated installations and infrastructure management with FAI
Automated installations and infrastructure management with FAIAutomated installations and infrastructure management with FAI
Automated installations and infrastructure management with FAI
 
Performance Profiling of Virtual Machines
Performance Profiling of Virtual MachinesPerformance Profiling of Virtual Machines
Performance Profiling of Virtual Machines
 
PCoIP and More - VMware View - Performance and Best Practices
PCoIP and More - VMware View - Performance and Best Practices PCoIP and More - VMware View - Performance and Best Practices
PCoIP and More - VMware View - Performance and Best Practices
 
Cloud infrastructure licensing_v2
Cloud infrastructure licensing_v2Cloud infrastructure licensing_v2
Cloud infrastructure licensing_v2
 
Big ip-ltm-asm-dg
Big ip-ltm-asm-dgBig ip-ltm-asm-dg
Big ip-ltm-asm-dg
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop Automation
 
Keynote Speech: Xen ARM Virtualization
Keynote Speech: Xen ARM VirtualizationKeynote Speech: Xen ARM Virtualization
Keynote Speech: Xen ARM Virtualization
 
It camp veeam presentation (no videos)
It camp veeam presentation (no videos)It camp veeam presentation (no videos)
It camp veeam presentation (no videos)
 
Realtime scheduling for virtual machines in SKT
Realtime scheduling for virtual machines in SKTRealtime scheduling for virtual machines in SKT
Realtime scheduling for virtual machines in SKT
 
Performance Profiling in a Virtualized Environment
Performance Profiling in a Virtualized EnvironmentPerformance Profiling in a Virtualized Environment
Performance Profiling in a Virtualized Environment
 
XS Boston 2008 Project Status
XS Boston 2008 Project StatusXS Boston 2008 Project Status
XS Boston 2008 Project Status
 
Single Console for viewing OpManager & DeviceExpert Alarms
Single Console for viewing OpManager & DeviceExpert AlarmsSingle Console for viewing OpManager & DeviceExpert Alarms
Single Console for viewing OpManager & DeviceExpert Alarms
 
XS Oracle 2009 Intro Slides
XS Oracle 2009 Intro SlidesXS Oracle 2009 Intro Slides
XS Oracle 2009 Intro Slides
 
XS Boston 2008 Self IO Emulation
XS Boston 2008 Self IO EmulationXS Boston 2008 Self IO Emulation
XS Boston 2008 Self IO Emulation
 

Andere mochten auch

A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
Jonathan Clarke
 
Volunteer Abroad in India - 16 Years and Counting
Volunteer Abroad in India - 16 Years and CountingVolunteer Abroad in India - 16 Years and Counting
Volunteer Abroad in India - 16 Years and Counting
Cross-Cultural Solutions
 

Andere mochten auch (11)

Salaat
SalaatSalaat
Salaat
 
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
 
Fall in Love with Russia, CCS Webinar Presentation
Fall in Love with Russia, CCS Webinar PresentationFall in Love with Russia, CCS Webinar Presentation
Fall in Love with Russia, CCS Webinar Presentation
 
LSC - Synchronizing identities @ Loadays 2010
LSC - Synchronizing identities @ Loadays 2010LSC - Synchronizing identities @ Loadays 2010
LSC - Synchronizing identities @ Loadays 2010
 
QL-IjmFT6Ub
QL-IjmFT6UbQL-IjmFT6Ub
QL-IjmFT6Ub
 
Volunteer Abroad in India - 16 Years and Counting
Volunteer Abroad in India - 16 Years and CountingVolunteer Abroad in India - 16 Years and Counting
Volunteer Abroad in India - 16 Years and Counting
 
Volunteer in Russica: Learn From CCS Alumni - CCS Webinar Presentation
Volunteer in Russica: Learn From CCS Alumni - CCS Webinar PresentationVolunteer in Russica: Learn From CCS Alumni - CCS Webinar Presentation
Volunteer in Russica: Learn From CCS Alumni - CCS Webinar Presentation
 
Sharing automation - why we need a language like ncf for this (Ignite @ devop...
Sharing automation - why we need a language like ncf for this (Ignite @ devop...Sharing automation - why we need a language like ncf for this (Ignite @ devop...
Sharing automation - why we need a language like ncf for this (Ignite @ devop...
 
Why Volunteer Abroad? A Look at FAQs - CCS Webinar Presentation
Why Volunteer Abroad? A Look at FAQs - CCS Webinar PresentationWhy Volunteer Abroad? A Look at FAQs - CCS Webinar Presentation
Why Volunteer Abroad? A Look at FAQs - CCS Webinar Presentation
 
Rudder 3.0 and beyond
Rudder 3.0 and beyondRudder 3.0 and beyond
Rudder 3.0 and beyond
 
ZNetLive- A Quick Overview
ZNetLive- A Quick OverviewZNetLive- A Quick Overview
ZNetLive- A Quick Overview
 

Ähnlich wie Configuration management: automating and rationalizing server setup with CFEngine 3 (Open World Forum 2011)

Getting started with Puppet
Getting started with PuppetGetting started with Puppet
Getting started with Puppet
jeyg
 
Continuous Delivery in the Cloud
Continuous Delivery in the CloudContinuous Delivery in the Cloud
Continuous Delivery in the Cloud
Fabio Lessa
 
Joanna Rutkowska Subverting Vista Kernel
Joanna Rutkowska   Subverting Vista KernelJoanna Rutkowska   Subverting Vista Kernel
Joanna Rutkowska Subverting Vista Kernel
guestf1a032
 

Ähnlich wie Configuration management: automating and rationalizing server setup with CFEngine 3 (Open World Forum 2011) (20)

Getting started with Puppet
Getting started with PuppetGetting started with Puppet
Getting started with Puppet
 
Rudder - Configuration management benefits for everyone (FOSDEM 2012)
Rudder - Configuration management benefits for everyone (FOSDEM 2012)Rudder - Configuration management benefits for everyone (FOSDEM 2012)
Rudder - Configuration management benefits for everyone (FOSDEM 2012)
 
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
 
Configuration management benefits for everyone - Rudder @ FLOSSUK Spring Conf...
Configuration management benefits for everyone - Rudder @ FLOSSUK Spring Conf...Configuration management benefits for everyone - Rudder @ FLOSSUK Spring Conf...
Configuration management benefits for everyone - Rudder @ FLOSSUK Spring Conf...
 
Cloud Application Security: Lessons Learned
Cloud Application Security: Lessons LearnedCloud Application Security: Lessons Learned
Cloud Application Security: Lessons Learned
 
Continuous Delivery in the AWS Cloud
Continuous Delivery in the AWS CloudContinuous Delivery in the AWS Cloud
Continuous Delivery in the AWS Cloud
 
Continuous Delivery in the Cloud
Continuous Delivery in the CloudContinuous Delivery in the Cloud
Continuous Delivery in the Cloud
 
Infrastructure Automation with Chef & Ansible
Infrastructure Automation with Chef & AnsibleInfrastructure Automation with Chef & Ansible
Infrastructure Automation with Chef & Ansible
 
IBM PureFlex System Live Demo Outline: A scenario
IBM PureFlex System Live Demo Outline: A scenarioIBM PureFlex System Live Demo Outline: A scenario
IBM PureFlex System Live Demo Outline: A scenario
 
Newvem Community - Cloud Management
Newvem Community - Cloud ManagementNewvem Community - Cloud Management
Newvem Community - Cloud Management
 
Cloud Management
Cloud ManagementCloud Management
Cloud Management
 
Virtualization 101: Everything You Need To Know To Get Started With VMware
Virtualization 101: Everything You Need To Know To Get Started With VMwareVirtualization 101: Everything You Need To Know To Get Started With VMware
Virtualization 101: Everything You Need To Know To Get Started With VMware
 
Ansible, MongoDB Ops Manager and AWS v1.1
Ansible, MongoDB Ops Manager and AWS v1.1Ansible, MongoDB Ops Manager and AWS v1.1
Ansible, MongoDB Ops Manager and AWS v1.1
 
Cloud Application Security: Lessons Learned
Cloud Application Security: Lessons LearnedCloud Application Security: Lessons Learned
Cloud Application Security: Lessons Learned
 
Mcollective introduction
Mcollective introductionMcollective introduction
Mcollective introduction
 
LAST Conference - Dev-Ops and Continuous Delivery
LAST Conference - Dev-Ops and Continuous DeliveryLAST Conference - Dev-Ops and Continuous Delivery
LAST Conference - Dev-Ops and Continuous Delivery
 
Introducing CQ 5.1
Introducing CQ 5.1Introducing CQ 5.1
Introducing CQ 5.1
 
Joanna Rutkowska Subverting Vista Kernel
Joanna Rutkowska   Subverting Vista KernelJoanna Rutkowska   Subverting Vista Kernel
Joanna Rutkowska Subverting Vista Kernel
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
DevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & AnsibleDevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & Ansible
 

Mehr von Jonathan Clarke

Interfacing infrastructure-as-code with non-expert users
Interfacing infrastructure-as-code with non-expert usersInterfacing infrastructure-as-code with non-expert users
Interfacing infrastructure-as-code with non-expert users
Jonathan Clarke
 
Automating security policies (compliance) with Rudder
Automating security policies (compliance) with RudderAutomating security policies (compliance) with Rudder
Automating security policies (compliance) with Rudder
Jonathan Clarke
 
LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009
Jonathan Clarke
 

Mehr von Jonathan Clarke (6)

Interfacing infrastructure-as-code with non-expert users
Interfacing infrastructure-as-code with non-expert usersInterfacing infrastructure-as-code with non-expert users
Interfacing infrastructure-as-code with non-expert users
 
What is new in CFEngine 3.6
What is new in CFEngine 3.6What is new in CFEngine 3.6
What is new in CFEngine 3.6
 
Automating security policies (compliance) with Rudder
Automating security policies (compliance) with RudderAutomating security policies (compliance) with Rudder
Automating security policies (compliance) with Rudder
 
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéalOpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
 
LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009
 
LDAP Synchronization Connector (LSC)
LDAP Synchronization Connector (LSC)LDAP Synchronization Connector (LSC)
LDAP Synchronization Connector (LSC)
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

Configuration management: automating and rationalizing server setup with CFEngine 3 (Open World Forum 2011)

  • 1. 24/09/2011 Configuration Management Automating and rationalizing server setup with CFEngine 3 Jonathan Clarke <jcl@normation.com>    
  • 2. About the speaker Jonathan Clarke → CTO → Sysadmin background Startup created in 2010 Infrastructure management Based in Paris FLOSS contributor: Configuration management: CFEngine  CFEngine (partner) Others (OpenLDAP, LSC, FusionInventory...)  Rudder (creator)    
  • 3. Introduction 1. CREATE 2. SETUP 3. USE 4. THROW AWAY Cloud Computing    
  • 4. Introduction 1. CREATE 2. SETUP 3. USE 4. THROW AWAY Cloud Computing → APIs and tools are available    
  • 5. Introduction 1. CREATE 2. SETUP 3. USE 4. THROW AWAY Cloud Computing Three approaches: 1. Manually 2. Imaging 3. Configuration tool    
  • 6. Agenda 1) Configuration Management principles 2) Configuration Management tools 3) About CFEngine 3 4) Getting started    
  • 7. Configuration Management Principles through examples...    
  • 8. A server crashed. Install a new one, people can't work without it! OK, it'll be done in about two days... Why configuration management? There's a new critical security patch we must deploy on all our servers! Get it out quickly! Right, I'll put the whole team on it.    
  • 9. Reproducibility Industrialization Automation Why configuration management?    
  • 10. How do we setup service X? Ask Jim, he's the expert on that. But he left the company... Why configuration management? Huh, this server has been logging errors for a few weeks. Oh? I think Michael changed something on it recently... He'll tell you what it was. Damn, he's on vacation!    
  • 11. Documentation History Building-up knowledge Why configuration management?    
  • 12. An intruder just stole our data using a vulnerability in a module we don't need... I thought the project specification ensured that we disabled that? Er, it did, but we enabled it to solve a problem and forgot to disable it afterwards... sorry... Why configuration management?    
  • 13. Why configuration management? Continuous vigilance Automatic repairs Alerts    
  • 14. I don't understand how this server is setup. It doesn't match our best-practices. Oh, that's a legacy server... Why configuration management? Give me details on our current security policy. Well, it's a collection of little things, here and there... Ah... Well, OK. Tell me: is it fully applied on all our critical servers? Er...    
  • 15. Why configuration management? Rationalization Normalization Control    
  • 16. Reproducibility Industrialization Documentation History Automation Building-up knowledge Configuration management benefits Continuous Rationalization vigilance Automatic repairs Alerts Normalization Control    
  • 17. Configuration Management The tools    
  • 18. Main tools available CFEngine 3 Puppet Chef    
  • 19. Main tools available: history Relative origins of CFEngine, Puppet and Chef Source: http://verticalsysadmin.com/blog/uncategorized/relative-origins-o f-cfengine-chef-and-puppet    
  • 20. The tools: similarities CFEngine 3 Puppet Chef Common origins Designed specifically Text-based / CLI for configuration interface management Client-server model (sometimes optional) Open Source    
  • 21. The tools: some differences CFEngine 3 Puppet Chef C Ruby Ruby Language GPL Apache Apache (ex-GPL) License Yes Preliminary Partial Windows support    
  • 22. A bit about CFEngine 3...    
  • 23. CFEngine 3: Features Multi platform Windows support Two versions: 1. Community (open source) Runs in Cygwin 2. Nova (commercial) ● Native Windows service    
  • 24. CFEngine 3: Features Multi-OS Multi-distribution Adapted to Make it ”transparent” (forget heterogeneous about the complexity) environments Existing standard library handling the differences between each OS and distribution    
  • 25. CFEngine 3: Features Lightweight, non-intrusive Non-intrusive Daemon consumption on managed hosts Only two dependencies: - BerkeleyDB - OpenSSL    
  • 26. CFEngine 3: Features Evolution of CPU utilization for an increasing number of managed hosts Highly scalable From 25 to 400 clients (x16) CPU utilization increases by 1.16% Notes: • Each host runs CFEngine every 5 minutes • Configuration tested sets up Apache web server • Tests and monitoring using AWS    
  • 27. CFEngine 3: Features Multi platform Adapted to Lightweight, non-intrusive heterogeneous environments Autonomous Fault-tolerant Highly scalable Progressive roll-out    
  • 28. Getting started with CFEngine 3    
  • 29. CFEngine 3: Installing  Install from sources:  http://www.cfengine.com/source_code  Prebuilt packages:  Debian / SuSE / Fedora / RHEL / Ubuntu  Requires free signup  https://cfengine.com/inside/myspace    
  • 30. CFEngine 3: Client-Server  Using a server is optional!  Get started by running standalone  CFEngine's server daemon is cf-serverd  Dedicated protocol: TCP port 5308  Requires SSL key exchange    
  • 31. CFEngine 3: Configuration  Minimal configuration: body common control { bundlesequence => { "HelloWorld" }; } Syntax notes bundle agent HelloWorld Whitespace doesn't count { Comments follow # # This will output "Hello World!" commands: "/bin/echo Hello World!"; } Structure notes ● Structures are created using { } ● Structures are bundles or bodies    
  • 32. CFEngine 3: Configuration  Promise types: Promise types Promise types (all versions) (commercial versions) files environments packages services processes databases commands storage interfaces (for future use) Special types Special types (all versions) (commercial versions) vars outputs classes methods reports    
  • 33. CFEngine 3: Examples  Install and update the LAMP stack bundle agent lamp {   vars: "packages" slist => { "httpd", "php5", "mysql" };   packages:     "${packages}"       package_method => generic,       package_method => "addupdate"; }    
  • 34. CFEngine 3: Examples  Install Apache with distribution variations packages: debian:: "apache2" package_policy => "add", package_method => apt; centos|redhat:: "httpd" package_policy => "add", package_method => yum;    
  • 35. 24/09/2011 Thanks for participating! Stay in touch... Jonathan Clarke Email: jcl@normation.com Twitter: jooooooon42