SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
Normation – CC-BY-SA
normation.com
Rudder
A powerful and structured
CFEngine framework
Jonathan CLARKE – jcl@normation.com
@jooooooon42 (that's 7 'o's)
Normation – CC-BY-SA
normation.com 2
www.rudder.cm
Who am I?
â—Ź Jonathan Clarke
â—Ź Title: Co-founder & Product lead at Normation
â—Ź Origins: Sysadmin, infrastructure management
● Now: Automation + “running a company”-stuff
â—Ź Contributor to free software:
– Co-creator of Rudder
– Contributor to CFEngine, OpenLDAP
â—Ź Co-organizer of events:
Normation – CC-BY-SA
normation.com 3
www.rudder.cm
Intro
This presentation
is about Lego
Photo CC BY-NC-SA 2.0 from https://www.flickr.com/photos/dillpixel/
Normation – CC-BY-SA
normation.com 4
www.rudder.cm
Intro
Reminder
Photo CC BY-NC-SA 2.0 from https://www.flickr.com/photos/evaekeblad/ Photo CC BY-SA 2.0 from https://www.flickr.com/photos/georgivar/
Normation – CC-BY-SA
normation.com 5
www.rudder.cm
Background
A bunch of ops consultants
● From “plain old” infrastructure to
configuration management
â—Ź Multiple companies: small, large & huge
â—Ź 5-10 years of doing this
We always got the
same takeaways
Normation – CC-BY-SA
normation.com 6
www.rudder.cm
Takeaway #1: Automated configuration rocks!
Automated
configuration rocks!
Scalable
Manage 1 to > 100000
servers the same way
Save time
Deploy faster & be more
responsive to changes
Improve reliability
Avoid manual errors,
harmonize configurations
The proper way
to manage systems
Normation – CC-BY-SA
normation.com 7
www.rudder.cm
Takeaway #2: Getting everyone on board?
Getting everyone
on board for CM is hard
Frustration
“I can do it quicker by
hand or with a shell script”
Steep learning curve
New concepts, non obvious
syntaxes, paradigm, ...
Lack of motivation
“What do I have to gain
from using this tool?”
Normation – CC-BY-SA
normation.com 8
www.rudder.cm
Feedback #2: CFEngine is hard!
Getting started from lots of
bricks is daunting.
Photo CC BY-NC-SA 2.0 from https://www.flickr.com/photos/strutta/
Normation – CC-BY-SA
normation.com 9
www.rudder.cm
What can we do?
So how come
so many projects
do work out?
Normation – CC-BY-SA
normation.com 10
www.rudder.cm
What can we do?
Thanks to a hero!
So how come
so many projects
do work out?
Photo CC BY-NC-ND 2.0 from https://www.flickr.com/photos/mwboeckmann/
Normation – CC-BY-SA
normation.com 11
www.rudder.cm
What can we do?
Poor configuration
management hero...
Normation – CC-BY-SA
normation.com 12
www.rudder.cm
What can we do?
Poor configuration
management hero...
Hey, I'm trying to do this thing in config management,
but I can't it to work, can you help me?
Normation – CC-BY-SA
normation.com 13
www.rudder.cm
What can we do?
Poor configuration
management hero...
Hi, this is the supervision team.
I'm sorry to disturb you at night, but we've got this error
in production, and I think it's related to a change in the CM tool,
but I don't understand it. Can you help me?
Normation – CC-BY-SA
normation.com 14
www.rudder.cm
What can we do?
Normation – CC-BY-SA
normation.com 15
www.rudder.cm
What can we do?
How can we help?
This is clearly a problem.
Normation – CC-BY-SA
normation.com 16
www.rudder.cm
Steep learning curve
New concepts, non obvious
syntaxes, paradigm, ...
Approach
1) Separate content and controls
2) Provide access to key parameters without
having to edit {CFEngine,Puppet,Chef} code
Normation – CC-BY-SA
normation.com 17
www.rudder.cm
Lack of motivation
“What do I have to gain
from using this tool?”
Approach
1) Show the benefits to all users
2) Provide nice reports showing what
works, how many machines are impacted
Normation – CC-BY-SA
normation.com 18
www.rudder.cm
Frustration
“I can do it quicker by
hand or with a shell script”
Approach
1) Make it easy and quick to achieve success
2) Provide ready-to-use configuration
techniques and share in-house ones simply
Normation – CC-BY-SA
normation.com 19
www.rudder.cm
Why Rudder?
Make configuration management easy
and increase its adoption
Extend benefits
of
configuration management
to
a wider population
Managers
Junior
sysadmins
Non
experts
Lower entry barrier
to
learn and use
configuration management
Easy to use Highly powerful
Normation – CC-BY-SA
normation.com 20
www.rudder.cm
Sane defaults, always configurable
Philosophy
Core principles
Plug and play
SmartEasy
Extensible
& Customizable
Open source
Normation – CC-BY-SA
normation.com 21
www.rudder.cm
Key points
Specifically designed for
automation & compliance
Pre-packaged for:
Linux, UNIX, Windows, Android
Open Source
Simplified user experience
via a Web UI
Graphical reportingBased on CFEngine 3
(don't reinvent the wheel!)
Vagrant config to test:
https://github.com/normation/rudder-vagrant/
Normation – CC-BY-SA
normation.com 22
www.rudder.cm
What can we do?
Right! Show me already!
Normation – CC-BY-SA
normation.com 23
www.rudder.cm
Overview
Simplified configuration
Normation – CC-BY-SA
normation.com 24
www.rudder.cm
Overview
Built-in reporting
Normation – CC-BY-SA
normation.com 25
www.rudder.cm
Overview
Built-in reporting
Normation – CC-BY-SA
normation.com 26
www.rudder.cm
Overview
Complete tracability
Normation – CC-BY-SA
normation.com 27
www.rudder.cm
Design choices
Design choices
Normation – CC-BY-SA
normation.com 28
www.rudder.cm
Design choices: CFEngine
#1: Why CFEngine?
Normation – CC-BY-SA
normation.com 29
www.rudder.cm
Design choices: CFEngine
CFEngine rocks
Multi-platform
Linux, Android, BSD, AIX,
HP-UX, Solaris, Windows...
Open Source
GPLv3
Small footprint, scalable
A few MB of RAM,
just seconds to run...
Continuous checking
Agent based approach,
no push
Resilient to errors
Network outages, failures,
unavailable resources...
Normation – CC-BY-SA
normation.com 30
www.rudder.cm
Design choices: CFEngine
Continuous checking
Every 5 minutes
Multi-platform
Linux, Unix, Windows, Android...
Separate configuration
from implementation
Reporting
Done after the checks,
separate process
High freqency, trust in
compliance reporting
Reuse implementations,
less bugs, shared code...
Clear separation of roles
Cover as many systems
as possible
Avoid bottleneck
Different report types
Normation – CC-BY-SA
normation.com 31
www.rudder.cm
Design choices: Network architecture
#2: Network architecture?
Normation – CC-BY-SA
normation.com 32
www.rudder.cm
Design choices: Network architecture
Rudder server
Node Node Node
TCP - port 5309
File metadata and files
Authentication and encryption (SSL)
TCP ports 80 and 514
HTTP and syslog
Node Node
Isolated
networkRelay server
Download info
→ Built upon CFEngine
network architecture
All connections go→
from nodes to server
Pull-based approach→
Normation – CC-BY-SA
normation.com 33
www.rudder.cm
Design choices: Workflow
#3: Typical usage
Normation – CC-BY-SA
normation.com 34
www.rudder.cm
Design choices: Workflow
Management
Define
policy
Changes
(fixes, upgrades...)
c c
Community Expert
Sysadmins
Configure
parameters
Configuration agent
Initial application
Continuous verification
REPORTING
Technical abstraction
(method vs parameters)
Normation – CC-BY-SA
normation.com 35
www.rudder.cm
Design choices: Central validation
#4: Central validation
Normation – CC-BY-SA
normation.com 36
www.rudder.cm
Design choices: Central validation
Validation workflow
Normation – CC-BY-SA
normation.com 37
www.rudder.cm
Design choices: Central validation
Validation workflow
â—Ź States:
â—Ź Pending validation
– Can be sent to: Pending
deployment, Deployed,
Cancelled.
â—Ź Pending deployment
– The change was validated, but
now require to be deployed. Can
be sent to: Deployed, Cancelled.
â—Ź Deployed
– The change is deployed. This is
a final state, it can’t be moved
anymore.
â—Ź Cancelled
– The change was not approved.
This is a final state, it can’t be
moved anymore.
Normation – CC-BY-SA
normation.com 38
www.rudder.cm
Demonstration
Demo!
Normation – CC-BY-SA
normation.com 39
www.rudder.cm
Extending & Customizing
Extending & Customizing
Normation – CC-BY-SA
normation.com 40
www.rudder.cm
Extension
Techniques
Implemented in
CFEngine syntax
+
metadata for
web configuration
Nodes
Search criteria on
inventory data
Hardware/OS/Network/
Software/Node name/
...
Directives
Rules
Apply Directives
to a Group
Groups
Sysadmins
c c
Manager or
sysadmins
Expert
Community
Normation – CC-BY-SA
normation.com 41
www.rudder.cm
Extension
Techniques
Implemented in
CFEngine syntax
+
metadata for
web configuration
Nodes
Search criteria on
inventory data
Hardware/OS/Network/
Software/Node name/
...
Directives
Rules
Apply Directives
to a Group
Groups
Sysadmins
c c
Manager or
sysadmins
Expert
Community
Normation – CC-BY-SA
normation.com 42
www.rudder.cm
Extension
Techniques
Implemented in
CFEngine syntax
+
metadata for
web configuration
Nodes
Search criteria on
inventory data
Hardware/OS/Network/
Software/Node name/
...
Directives
Rules
Apply Directives
to a Group
Groups
Sysadmins
c c
Manager or
sysadmins
Expert
Community
Write any configuration you like in a Technique
and share them with co-workers
by exposing a selection of parameters
Normation – CC-BY-SA
normation.com 43
www.rudder.cm
Result
Example === 1000 words
With ncf (see http://www.ncf.io)
Normation – CC-BY-SA
normation.com 44
www.rudder.cm
Result
Example === 1000 words
With ncf + Rudder variables
Normation – CC-BY-SA
normation.com 45
www.rudder.cm
Online documentation
http://www.ncf.io/pages/reference.html
Normation – CC-BY-SA
normation.com 46
www.rudder.cm
Current status
Project is now reliable & scalable
But needs more Techniques
Ohloh statistics:
Source: http://www.ohloh.net/p/rudder-project
h
Normation – CC-BY-SA
normation.com
Questions?
Check it out on:
http://www.rudder.cm/
Jonathan CLARKE – jcl@normation.com
@jooooooon42 (that's 7 'o's)

Weitere ähnliche Inhalte

Ă„hnlich wie OSDC 2014: Jonathan Clarke - Rudder

CFEngine, 4 years later
CFEngine, 4 years laterCFEngine, 4 years later
CFEngine, 4 years laterRUDDER
 
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 usersJonathan Clarke
 
Supercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the EdgeSupercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the EdgeOptimizely
 
Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24Christian Deger
 
Highway to heaven - Microservices Meetup Berlin
Highway to heaven - Microservices Meetup BerlinHighway to heaven - Microservices Meetup Berlin
Highway to heaven - Microservices Meetup BerlinChristian Deger
 
20160221 va interconnect_pub
20160221 va interconnect_pub20160221 va interconnect_pub
20160221 va interconnect_pubCanturk Isci
 
Highway to heaven - XConf Manchester 2015
Highway to heaven - XConf Manchester 2015Highway to heaven - XConf Manchester 2015
Highway to heaven - XConf Manchester 2015Christian Deger
 
Highway to heaven - Voxxed Days Belgrade
Highway to heaven - Voxxed Days BelgradeHighway to heaven - Voxxed Days Belgrade
Highway to heaven - Voxxed Days BelgradeChristian Deger
 
Web Systems Architecture by Moshe Kaplan
Web Systems Architecture by Moshe KaplanWeb Systems Architecture by Moshe Kaplan
Web Systems Architecture by Moshe KaplanMoshe Kaplan
 
Life B4 and After Scrum
Life B4 and After ScrumLife B4 and After Scrum
Life B4 and After ScrumMichel Goldenberg
 
Felix MĂĽller: Microservices Integration: Challenges and Solutions - Camunda D...
Felix MĂĽller: Microservices Integration: Challenges and Solutions - Camunda D...Felix MĂĽller: Microservices Integration: Challenges and Solutions - Camunda D...
Felix MĂĽller: Microservices Integration: Challenges and Solutions - Camunda D...camunda services GmbH
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankAngularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankDavid Amend
 
Platform SDK Update
Platform SDK UpdatePlatform SDK Update
Platform SDK UpdateAdnan Begovic
 
Rudder 3.0 and beyond
Rudder 3.0 and beyondRudder 3.0 and beyond
Rudder 3.0 and beyondJonathan Clarke
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichChristian Deger
 
Agile software architecture
Agile software architectureAgile software architecture
Agile software architectureScott Hsieh
 
Sdc verifier main presentation (Structural Code Verifier)
Sdc verifier main presentation (Structural Code Verifier)Sdc verifier main presentation (Structural Code Verifier)
Sdc verifier main presentation (Structural Code Verifier)SDC Verifier
 
Optimizing Your CI Pipelines
Optimizing Your CI PipelinesOptimizing Your CI Pipelines
Optimizing Your CI PipelinesSebastian Witowski
 
Intro to Web Development from Bloc.io
Intro to Web Development from Bloc.ioIntro to Web Development from Bloc.io
Intro to Web Development from Bloc.ioDouglas Wright
 
Cloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket PipelinesCloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket PipelinesAtlassian
 

Ă„hnlich wie OSDC 2014: Jonathan Clarke - Rudder (20)

CFEngine, 4 years later
CFEngine, 4 years laterCFEngine, 4 years later
CFEngine, 4 years later
 
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
 
Supercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the EdgeSupercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the Edge
 
Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24Building Microservices in the cloud at AutoScout24
Building Microservices in the cloud at AutoScout24
 
Highway to heaven - Microservices Meetup Berlin
Highway to heaven - Microservices Meetup BerlinHighway to heaven - Microservices Meetup Berlin
Highway to heaven - Microservices Meetup Berlin
 
20160221 va interconnect_pub
20160221 va interconnect_pub20160221 va interconnect_pub
20160221 va interconnect_pub
 
Highway to heaven - XConf Manchester 2015
Highway to heaven - XConf Manchester 2015Highway to heaven - XConf Manchester 2015
Highway to heaven - XConf Manchester 2015
 
Highway to heaven - Voxxed Days Belgrade
Highway to heaven - Voxxed Days BelgradeHighway to heaven - Voxxed Days Belgrade
Highway to heaven - Voxxed Days Belgrade
 
Web Systems Architecture by Moshe Kaplan
Web Systems Architecture by Moshe KaplanWeb Systems Architecture by Moshe Kaplan
Web Systems Architecture by Moshe Kaplan
 
Life B4 and After Scrum
Life B4 and After ScrumLife B4 and After Scrum
Life B4 and After Scrum
 
Felix MĂĽller: Microservices Integration: Challenges and Solutions - Camunda D...
Felix MĂĽller: Microservices Integration: Challenges and Solutions - Camunda D...Felix MĂĽller: Microservices Integration: Challenges and Solutions - Camunda D...
Felix MĂĽller: Microservices Integration: Challenges and Solutions - Camunda D...
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankAngularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank
 
Platform SDK Update
Platform SDK UpdatePlatform SDK Update
Platform SDK Update
 
Rudder 3.0 and beyond
Rudder 3.0 and beyondRudder 3.0 and beyond
Rudder 3.0 and beyond
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup Munich
 
Agile software architecture
Agile software architectureAgile software architecture
Agile software architecture
 
Sdc verifier main presentation (Structural Code Verifier)
Sdc verifier main presentation (Structural Code Verifier)Sdc verifier main presentation (Structural Code Verifier)
Sdc verifier main presentation (Structural Code Verifier)
 
Optimizing Your CI Pipelines
Optimizing Your CI PipelinesOptimizing Your CI Pipelines
Optimizing Your CI Pipelines
 
Intro to Web Development from Bloc.io
Intro to Web Development from Bloc.ioIntro to Web Development from Bloc.io
Intro to Web Development from Bloc.io
 
Cloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket PipelinesCloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket Pipelines
 

KĂĽrzlich hochgeladen

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessEnvertis Software Solutions
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy LĂłpez
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 

KĂĽrzlich hochgeladen (20)

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 

OSDC 2014: Jonathan Clarke - Rudder

  • 1. Normation – CC-BY-SA normation.com Rudder A powerful and structured CFEngine framework Jonathan CLARKE – jcl@normation.com @jooooooon42 (that's 7 'o's)
  • 2. Normation – CC-BY-SA normation.com 2 www.rudder.cm Who am I? â—Ź Jonathan Clarke â—Ź Title: Co-founder & Product lead at Normation â—Ź Origins: Sysadmin, infrastructure management â—Ź Now: Automation + “running a company”-stuff â—Ź Contributor to free software: – Co-creator of Rudder – Contributor to CFEngine, OpenLDAP â—Ź Co-organizer of events:
  • 3. Normation – CC-BY-SA normation.com 3 www.rudder.cm Intro This presentation is about Lego Photo CC BY-NC-SA 2.0 from https://www.flickr.com/photos/dillpixel/
  • 4. Normation – CC-BY-SA normation.com 4 www.rudder.cm Intro Reminder Photo CC BY-NC-SA 2.0 from https://www.flickr.com/photos/evaekeblad/ Photo CC BY-SA 2.0 from https://www.flickr.com/photos/georgivar/
  • 5. Normation – CC-BY-SA normation.com 5 www.rudder.cm Background A bunch of ops consultants â—Ź From “plain old” infrastructure to configuration management â—Ź Multiple companies: small, large & huge â—Ź 5-10 years of doing this We always got the same takeaways
  • 6. Normation – CC-BY-SA normation.com 6 www.rudder.cm Takeaway #1: Automated configuration rocks! Automated configuration rocks! Scalable Manage 1 to > 100000 servers the same way Save time Deploy faster & be more responsive to changes Improve reliability Avoid manual errors, harmonize configurations The proper way to manage systems
  • 7. Normation – CC-BY-SA normation.com 7 www.rudder.cm Takeaway #2: Getting everyone on board? Getting everyone on board for CM is hard Frustration “I can do it quicker by hand or with a shell script” Steep learning curve New concepts, non obvious syntaxes, paradigm, ... Lack of motivation “What do I have to gain from using this tool?”
  • 8. Normation – CC-BY-SA normation.com 8 www.rudder.cm Feedback #2: CFEngine is hard! Getting started from lots of bricks is daunting. Photo CC BY-NC-SA 2.0 from https://www.flickr.com/photos/strutta/
  • 9. Normation – CC-BY-SA normation.com 9 www.rudder.cm What can we do? So how come so many projects do work out?
  • 10. Normation – CC-BY-SA normation.com 10 www.rudder.cm What can we do? Thanks to a hero! So how come so many projects do work out? Photo CC BY-NC-ND 2.0 from https://www.flickr.com/photos/mwboeckmann/
  • 11. Normation – CC-BY-SA normation.com 11 www.rudder.cm What can we do? Poor configuration management hero...
  • 12. Normation – CC-BY-SA normation.com 12 www.rudder.cm What can we do? Poor configuration management hero... Hey, I'm trying to do this thing in config management, but I can't it to work, can you help me?
  • 13. Normation – CC-BY-SA normation.com 13 www.rudder.cm What can we do? Poor configuration management hero... Hi, this is the supervision team. I'm sorry to disturb you at night, but we've got this error in production, and I think it's related to a change in the CM tool, but I don't understand it. Can you help me?
  • 14. Normation – CC-BY-SA normation.com 14 www.rudder.cm What can we do?
  • 15. Normation – CC-BY-SA normation.com 15 www.rudder.cm What can we do? How can we help? This is clearly a problem.
  • 16. Normation – CC-BY-SA normation.com 16 www.rudder.cm Steep learning curve New concepts, non obvious syntaxes, paradigm, ... Approach 1) Separate content and controls 2) Provide access to key parameters without having to edit {CFEngine,Puppet,Chef} code
  • 17. Normation – CC-BY-SA normation.com 17 www.rudder.cm Lack of motivation “What do I have to gain from using this tool?” Approach 1) Show the benefits to all users 2) Provide nice reports showing what works, how many machines are impacted
  • 18. Normation – CC-BY-SA normation.com 18 www.rudder.cm Frustration “I can do it quicker by hand or with a shell script” Approach 1) Make it easy and quick to achieve success 2) Provide ready-to-use configuration techniques and share in-house ones simply
  • 19. Normation – CC-BY-SA normation.com 19 www.rudder.cm Why Rudder? Make configuration management easy and increase its adoption Extend benefits of configuration management to a wider population Managers Junior sysadmins Non experts Lower entry barrier to learn and use configuration management Easy to use Highly powerful
  • 20. Normation – CC-BY-SA normation.com 20 www.rudder.cm Sane defaults, always configurable Philosophy Core principles Plug and play SmartEasy Extensible & Customizable Open source
  • 21. Normation – CC-BY-SA normation.com 21 www.rudder.cm Key points Specifically designed for automation & compliance Pre-packaged for: Linux, UNIX, Windows, Android Open Source Simplified user experience via a Web UI Graphical reportingBased on CFEngine 3 (don't reinvent the wheel!) Vagrant config to test: https://github.com/normation/rudder-vagrant/
  • 22. Normation – CC-BY-SA normation.com 22 www.rudder.cm What can we do? Right! Show me already!
  • 23. Normation – CC-BY-SA normation.com 23 www.rudder.cm Overview Simplified configuration
  • 24. Normation – CC-BY-SA normation.com 24 www.rudder.cm Overview Built-in reporting
  • 25. Normation – CC-BY-SA normation.com 25 www.rudder.cm Overview Built-in reporting
  • 26. Normation – CC-BY-SA normation.com 26 www.rudder.cm Overview Complete tracability
  • 27. Normation – CC-BY-SA normation.com 27 www.rudder.cm Design choices Design choices
  • 28. Normation – CC-BY-SA normation.com 28 www.rudder.cm Design choices: CFEngine #1: Why CFEngine?
  • 29. Normation – CC-BY-SA normation.com 29 www.rudder.cm Design choices: CFEngine CFEngine rocks Multi-platform Linux, Android, BSD, AIX, HP-UX, Solaris, Windows... Open Source GPLv3 Small footprint, scalable A few MB of RAM, just seconds to run... Continuous checking Agent based approach, no push Resilient to errors Network outages, failures, unavailable resources...
  • 30. Normation – CC-BY-SA normation.com 30 www.rudder.cm Design choices: CFEngine Continuous checking Every 5 minutes Multi-platform Linux, Unix, Windows, Android... Separate configuration from implementation Reporting Done after the checks, separate process High freqency, trust in compliance reporting Reuse implementations, less bugs, shared code... Clear separation of roles Cover as many systems as possible Avoid bottleneck Different report types
  • 31. Normation – CC-BY-SA normation.com 31 www.rudder.cm Design choices: Network architecture #2: Network architecture?
  • 32. Normation – CC-BY-SA normation.com 32 www.rudder.cm Design choices: Network architecture Rudder server Node Node Node TCP - port 5309 File metadata and files Authentication and encryption (SSL) TCP ports 80 and 514 HTTP and syslog Node Node Isolated networkRelay server Download info → Built upon CFEngine network architecture All connections go→ from nodes to server Pull-based approach→
  • 33. Normation – CC-BY-SA normation.com 33 www.rudder.cm Design choices: Workflow #3: Typical usage
  • 34. Normation – CC-BY-SA normation.com 34 www.rudder.cm Design choices: Workflow Management Define policy Changes (fixes, upgrades...) c c Community Expert Sysadmins Configure parameters Configuration agent Initial application Continuous verification REPORTING Technical abstraction (method vs parameters)
  • 35. Normation – CC-BY-SA normation.com 35 www.rudder.cm Design choices: Central validation #4: Central validation
  • 36. Normation – CC-BY-SA normation.com 36 www.rudder.cm Design choices: Central validation Validation workflow
  • 37. Normation – CC-BY-SA normation.com 37 www.rudder.cm Design choices: Central validation Validation workflow â—Ź States: â—Ź Pending validation – Can be sent to: Pending deployment, Deployed, Cancelled. â—Ź Pending deployment – The change was validated, but now require to be deployed. Can be sent to: Deployed, Cancelled. â—Ź Deployed – The change is deployed. This is a final state, it can’t be moved anymore. â—Ź Cancelled – The change was not approved. This is a final state, it can’t be moved anymore.
  • 38. Normation – CC-BY-SA normation.com 38 www.rudder.cm Demonstration Demo!
  • 39. Normation – CC-BY-SA normation.com 39 www.rudder.cm Extending & Customizing Extending & Customizing
  • 40. Normation – CC-BY-SA normation.com 40 www.rudder.cm Extension Techniques Implemented in CFEngine syntax + metadata for web configuration Nodes Search criteria on inventory data Hardware/OS/Network/ Software/Node name/ ... Directives Rules Apply Directives to a Group Groups Sysadmins c c Manager or sysadmins Expert Community
  • 41. Normation – CC-BY-SA normation.com 41 www.rudder.cm Extension Techniques Implemented in CFEngine syntax + metadata for web configuration Nodes Search criteria on inventory data Hardware/OS/Network/ Software/Node name/ ... Directives Rules Apply Directives to a Group Groups Sysadmins c c Manager or sysadmins Expert Community
  • 42. Normation – CC-BY-SA normation.com 42 www.rudder.cm Extension Techniques Implemented in CFEngine syntax + metadata for web configuration Nodes Search criteria on inventory data Hardware/OS/Network/ Software/Node name/ ... Directives Rules Apply Directives to a Group Groups Sysadmins c c Manager or sysadmins Expert Community Write any configuration you like in a Technique and share them with co-workers by exposing a selection of parameters
  • 43. Normation – CC-BY-SA normation.com 43 www.rudder.cm Result Example === 1000 words With ncf (see http://www.ncf.io)
  • 44. Normation – CC-BY-SA normation.com 44 www.rudder.cm Result Example === 1000 words With ncf + Rudder variables
  • 45. Normation – CC-BY-SA normation.com 45 www.rudder.cm Online documentation http://www.ncf.io/pages/reference.html
  • 46. Normation – CC-BY-SA normation.com 46 www.rudder.cm Current status Project is now reliable & scalable But needs more Techniques Ohloh statistics: Source: http://www.ohloh.net/p/rudder-project h
  • 47. Normation – CC-BY-SA normation.com Questions? Check it out on: http://www.rudder.cm/ Jonathan CLARKE – jcl@normation.com @jooooooon42 (that's 7 'o's)