SlideShare ist ein Scribd-Unternehmen logo
1 von 91
Downloaden Sie, um offline zu lesen
Achieving Continuous Delivery with puppet
Laurent Bernaille, D2SI
#PuppetCampParis
@D2SI@D2SI
#PuppetCampParis
Past (current?) situation
Why do we need continuous delivery ?
Applications do not answer business needs well
Long development cycle
Difficult to get clear specifications
Market can shift quickly
June
Applications do not answer business needs well
Long development cycle
Difficult to get clear specifications
Market can shift quickly
June
What the end user
say he needs in January
January
What the dev team
delivers in June
June
Applications do not answer business needs well
Long development cycle
Difficult to get clear specifications
Market can shift quickly
What the end user
say he needs in January
January
What the dev team
delivers in June
June
What the end user
needs in June
Applications do not answer business needs well
Long development cycle
Difficult to get clear specifications
Market can shift quickly
June
What the end user
say he needs in January
January
Development processes are inefficient
Bug are detected too late
Code TESTOther work Fix
Development processes are inefficient
Bug are detected too late
Integration Hell
Code TESTOther work Fix
Start integration
Development processes are inefficient
Bug are detected too late
Integration Hell
A lot of wasted time
Code TESTOther work Fix
Request
Approve
&
Prioritize
Technical
Assessment
Code &
Test
Verify &
Fix
Deploy
20 min 2 min 15 min 2 h 4 h 3 min
½ week 2 weeks 2 weeks 1week ½ week
Processing Time = 6 h 40 min
Waiting Time = 6 weeks
Adapted from Implementing Lean Software Development: From Concept to Cash, Mary & Tom Poppendieck.
Start integration
OPS view
Relationship with OPS can be “difficult”
Application deployment is a nightmare
OPS view
Relationship with OPS can be “difficult”
Performance is not only related to hardware
ÂŤ Make my website faster in AsiaÂť
Application deployment is a nightmare
OPS view
?
Relationship with OPS can be “difficult”
Performance is not only related to hardware
ÂŤ Make my website faster in AsiaÂť
Application deployment is a nightmare
ÂŤ Our application is too slow because of your serversÂť
OPS view
?
Relationship with OPS can be “difficult”
DEV view
Performance is not only related to hardware
ÂŤ Make my website faster in AsiaÂť
Application deployment is a nightmare
ÂŤ Our application is too slow because of your serversÂť
OPS view
?
Relationship with OPS can be “difficult”
DEV view
Performance is not only related to hardware
ÂŤ Make my website faster in AsiaÂť
Application deployment is a nightmare
ÂŤ Our application is too slow because of your serversÂť
Identical servers are always “slightly” different
OPS view
?
Relationship with OPS can be “difficult”
DEV view
Performance is not only related to hardware
ÂŤ Make my website faster in AsiaÂť
Application deployment is a nightmare
ÂŤ Our application is too slow because of your serversÂť
Identical servers are always “slightly” different
OPS always say “no”
Standards do not evolve
10 deploys per day, Dev & ops cooperation at Flickr
John Allspaw & Paul Hammond (Velocity 2009)
6+ months to
setup a new
environment
Infrastructure is not very agile
Server
“hoarding”
Infrastructure is not very agile
Server
“hoarding”
Resources
are heavily
shared
Most
environments
are
underutilized
6+ months to
setup a new
environment
Infrastructure is not very agile
Server
“hoarding”
Resources
are heavily
shared
Most
environments
are
underutilized
6+ months to
setup a new
environment
Production
Infra setup
Deploy Deploy Deploy Deploy
Utilization : 100%
Infrastructure is not very agile
Server
“hoarding”
Resources
are heavily
shared
Most
environments
are
underutilized
6+ months to
setup a new
environment
Production
Infra setup
Deploy Deploy Deploy Deploy
Utilization : 100%
Preproduction Utilization : 10%
Infrastructure is not very agile
Server
“hoarding”
Resources
are heavily
shared
Most
environments
are
underutilized
6+ months to
setup a new
environment
Production
Infra setup
Deploy Deploy Deploy Deploy
Utilization : 100%
Preproduction Utilization : 10%
Test Utilization : 40%
Infrastructure is not very agile
Server
“hoarding”
Resources
are heavily
shared
Most
environments
are
underutilized
6+ months to
setup a new
environment
Business
Development
Operations
• Applications do not answer business needs well
• Too long to get new features
• Integration and bug fixing is painful
• A lot of wasted time
• Deployments are very painful
• A lot of misunderstanding
• Environment setup is too slow
• No on-demand resources
Summary of the issues
WHAT?
IT should be easier
Continuous Delivery
Agile Manifesto, 2001
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Agile Development
Business
Development
Operations
A
G
I
L
E
Test
Discover
Design
Develop
Waterfall method
Developing Incrementally and Iteratively
Long cycles
High-risk
Adaptation is very difficult
6-12 month
2-4 weeks
Test
Discover
Design
Develop
Discover
Design
Develop
Test
Discover
Design
Develop
Test
Discover
Design
Develop
Test
Waterfall method
Developing Incrementally and Iteratively
Agile method
Long cycles
High-risk
Adaptation is very difficult
6-12 month
Low-risk
Many short cycles
Adaptation is much easier
VS
Maintain a single source repository
Automate the build
Make your build self-testing
Every commit should build on an integration machine
Keep the build fast
Test in a clone of the production environment
Make it easy for anyone to get the latest executable
Everyone can see what’s happening
Detect problems early and solve them quickly
Continuous Integration
C
I
Business
Development
Operations
Continuous Integration
Discover
Design
Develop
Test
Repository
Version
Control
System
Source
Code
Continuous
Integration
Feedback
Source
Code
Build
Analyze
Code
Test
Continuous
Integration
Agile
DevOps : bring the wall down
Business
Development
Operations
D
E
V
O
P
S
Measure, Analyze & Describe
Constraints (from DEV and OPS)
Best practices, methods
Automation
Measure
Share
Culture Align objectives on business needs
Innovate
Automate application delivery
Continuous Delivery
Discover
Design
Develop
Test
Repository
Version
Control
System
Source
Code
Continuous
Integration
Feedback
Source
Code
Build
Analyze
Code
Test
Deploy
Env
Measure &
analyze
Continuous
Integration
Agile
DevOps
Agile
infra
Control resources
Configure
resources
Deploy
applications
Create, Delete, start, stop
Servers (physical, virtual, in the cloud)
Storage volumes, networks
Define system states, when possible
Verify system states
Reconfigure systems when necessary
Provide a service to deploy applications
Automated, with rollbacks
Agile Infrastructure
Business
Development
Operations
Agile
infra
Control resources
Configure
resources
Deploy
applications
Create, Delete, start, stop
Servers (physical, virtual, in the cloud)
Storage volumes, networks
Define system states, when possible
Verify system states
Reconfigure systems when necessary
Provide a service to deploy applications
Automated, with rollbacks
Automation
API
API
API
Agile Infrastructure
Business
Development
Operations
Continuous Delivery
Discover
Design
Develop
Test
Repository
Version
Control
System
Source
Code
Continuous
Integration
Feedback
Source
Code
Build
Analyze
Code
Test
Deploy
Env
Measure &
analyze
Continuous
Integration
Agile
DevOps
ConfigureProvision
Agile
infrastructure
What about puppet ?
Discover
Design
Develop
Test
Repository
Version
Control
System
Source
Code
Continuous
Integration
Feedback
Source
Code
Build
Analyze
Code
Test
Deploy
Env
Measure &
analyze
Continuous
Integration
Agile
DevOps
ConfigureProvision
Agile
infrastructure
Puppet use cases
Puppet Master
• Resolvers, time servers, standard packages
• Authentication, security
• Monitoring,…
Use case 1 : core OS configuration
Hiera
Modules
Console
ENC / API
1:Create modules
Define variables
Assign classes to nodes
Server team uses puppet as a configuration tool
Puppet Master
• Resolvers, time servers, standard packages
• Authentication, security
• Monitoring,…
Use case 1 : core OS configuration
Hiera
Modules
Console
ENC / API
1:Create modules
Define variables
Assign classes to nodes
4: apply/test catalog
Puppet agentPuppet agentPuppet agent
Server team uses puppet as a configuration tool
Puppet Master
• Resolvers, time servers, standard packages
• Authentication, security
• Monitoring,…
Use case 1 : core OS configuration
Hiera
Modules
Console
ENC / API
1:Create modules
Define variables
Assign classes to nodes
4: apply/test catalog
McollectiveGet info on nodes
Run agent on subset of nodes
Puppet agentPuppet agentPuppet agent
Server team uses puppet as a configuration tool
Puppet Master
• Resolvers, time servers, standard packages
• Authentication, security
• Monitoring,…
Use case 1 : core OS configuration
Hiera
Modules
Console
ENC / API
1:Create modules
Define variables
Assign classes to nodes
4: apply/test catalog
McollectiveGet info on nodes
Run agent on subset of nodes
Puppet agentPuppet agentPuppet agent
 Most common puppet
usage.
 Proven for large scale
deployment.
 Very “Infra oriented”: not
opened to applications.
Server team uses puppet as a configuration tool
Binaries of the application
• Puppet manifests and modules describing deployments
Repository
Binaries
Manifest
Modules
1: put
Use case 2 : deploy applications
Developers supply :
Binaries of the application
• Puppet manifests and modules describing deployments
Dev
servers
Test servers
Dev
serversOther env
Repository
Binaries
Manifest
Modules
1: put 2: get
4: run
Use case 2 : deploy applications
• Chooses servers (env) where the deployment should happen
• Runs puppet and gathers reports; if run fails, forwards to DEV
Developers supply :
OPS team :
Binaries of the application
• Puppet manifests and modules describing deployments
Dev
servers
Test servers
Dev
serversOther env
Repository
Binaries
Manifest
Modules
1: put 2: get
4: run
Use case 2 : deploy applications
• Chooses servers (env) where the deployment should happen
• Runs puppet and gathers reports; if run fails, forwards to DEV
 Much more efficient than written
deployment processes.
 Much easier to understand what
fails.
Developers supply :
OPS team :
Configuration as a service
ProfilsLevels
ConfigurationReport
Tools
Using a “configuration service”
Env
Configuration
service
Deploy
API
GUI
• Associate “profiles” to nodes, define variables
• Run configuration and get reports
Give application teams the possibility to configure servers1
Using a “configuration service”
Env
Configuration
service
Deploy
API
GUI
• Associate “profiles” to nodes, define variables
• Run configuration and get reports
Give application teams the possibility to configure servers1
Different levels of configuration, different responsibilities2
Base OS configuration
Standard middlewares
Application
middlewares
Application
Can we do that with puppet?
Sure, but tricky with classic DEV / OPS model
Can we do that with puppet?
Sure, but tricky with classic DEV / OPS model
DEV cannot execute anything as root
SURE, but tricky with classic DEV / OPS model
Base OS configuration
Standard middlewares
Application
middlewares
Application2
1
Can we do that with puppet?
Some options :
Sure, but tricky with classic DEV / OPS model
• Second puppet master, or puppet apply (non root)
• Other tool
Tool separation1
DEV cannot execute anything as root
SURE, but tricky with classic DEV / OPS model
Base OS configuration
Standard middlewares
Application
middlewares
Application2
1
Can we do that with puppet?
Some options :
Sure, but tricky with classic DEV / OPS model
• Second puppet master, or puppet apply (non root)
• Other tool
Tool separation1
Ok to run as root but under full control2
• Custom “profile” facts (facts.d) and hiera
• Run with mcollective (limit to some tags)
• Read-only console access
DEV cannot execute anything as root
SURE, but tricky with classic DEV / OPS model
Base OS configuration
Standard middlewares
Application
middlewares
Application2
1
Can we do that with puppet?
Some options :
Sure, but tricky with classic DEV / OPS model
• Second puppet master, or puppet apply (non root)
• Other tool
Tool separation1
Ok to run as root but under full control2
• Custom “profile” facts (facts.d) and hiera
• Run with mcollective (limit to some tags)
• Read-only console access
Many other ways3
DEV cannot execute anything as root
SURE, but tricky with classic DEV / OPS model
Approach 1 : OPS write all modules
Version
Control
System
I need a mongodb
module CI Puppet
master
mongodb
module
What if DEV need custom modules (they will)
Approach 1 : OPS write all modules
 Impossible to scale
 Not efficient
Version
Control
System
I need a mongodb
module CI Puppet
master
mongodb
module
What if DEV need custom modules (they will)
Approach 1 : OPS write all modules
 Impossible to scale
 Not efficient
Version
Control
System
I need a mongodb
module CI Puppet
master
mongodb
module
What if DEV need custom modules (they will)
Approach 2 : Pull request
mongodb
module
Version
Control
System
CI
Puppet
master
Pull request
Version
Control
System
validated
module
Approach 1 : OPS write all modules
 Impossible to scale
 Not efficient
Version
Control
System
I need a mongodb
module CI Puppet
master
mongodb
module
 Very limited scalabity
What if DEV need custom modules (they will)
Approach 2 : Pull request
mongodb
module
Version
Control
System
CI
Puppet
master
Pull request
Version
Control
System
validated
module
Approach 1 : OPS write all modules
 Impossible to scale
 Not efficient
Version
Control
System
I need a mongodb
module CI Puppet
master
mongodb
module
 Very limited scalabity
What if DEV need custom modules (they will)
Approach 2 : Pull request
Approach 3: DEV can push to some repositories
mongodb
module
Version
Control
System
CI
Puppet
master
mongodb
module
Version
Control
System
CI
Puppet
master
Pull request
Version
Control
System
validated
module
Approach 1 : OPS write all modules
 Impossible to scale
 Not efficient
Version
Control
System
I need a mongodb
module CI Puppet
master
mongodb
module
 Very limited scalabity
 Complex permissions
 DEV are still basically root
What if DEV need custom modules (they will)
Approach 2 : Pull request
Approach 3: DEV can push to some repositories
mongodb
module
Version
Control
System
CI
Puppet
master
mongodb
module
Version
Control
System
CI
Puppet
master
Pull request
Version
Control
System
validated
module
Sure, we can tweak puppet
Sure, we can tweak puppet
Is this this the way??
Sure, we can tweak puppet
Maybe we should adapt processes and not just tools
Is this this the way??
A NEW relationship between DEV & OPS
• Provide application
• Ask for env
From separation and control to shared responsiblities
Storage / Network
Servers
• Provide application
• Ask for env
• Provide env
• Run production
From separation and control to shared responsiblities
Strict separation of roles
Storage / Network
Servers
• Provide application
• Ask for env
• Provide env
• Run production
From separation and control to shared responsiblities
Strict separation of roles
Storage / Network
Servers
• Provide application
• Ask for env
• Provide env
• Run production
• Provide programmable resources
• Provide advice
• Delegate some Prod responsability
Storage
Servers
Servers
Network
From separation and control to shared responsiblities
Strict separation of roles
Storage / Network
Servers
• Provide application
• Ask for env
• Provide env
• Run production
• Provide programmable resources
• Provide advice
• Delegate some Prod responsability
Storage
Servers
Servers
Network
• Provide application
• Consume environments
• Share responsibility
From separation and control to shared responsiblities
Strict separation of roles
Storage / Network
Servers
• Provide application
• Ask for env
• Provide env
• Run production
• Provide programmable resources
• Provide advice
• Delegate some Prod responsability
Storage
Servers
Servers
Network
• Provide application
• Consume environments
• Share responsibility
Shared responsibilities
From separation and control to shared responsiblities
“Designing Puppet: Roles / Profiles Design Pattern
Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs)
Resources
What it could look like with the profile/role pattern
“Designing Puppet: Roles / Profiles Design Pattern
Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs)
Resources
ssh ntp
dns ldap
Modules
OPS provide core OS modules
What it could look like with the profile/role pattern
“Designing Puppet: Roles / Profiles Design Pattern
Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs)
Resources
ssh ntp
dns ldap
Modules
mysql
apache
OPS provide core OS modules
OPS provide middleware modules
What it could look like with the profile/role pattern
“Designing Puppet: Roles / Profiles Design Pattern
Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs)
Resources
ssh ntp
dns ldap
Modules
mysql
apache
OS BaseProfiles
OPS provide core OS modules
OPS provide middleware modules
OPS provide Base profile
What it could look like with the profile/role pattern
“Designing Puppet: Roles / Profiles Design Pattern
Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs)
Resources
ssh ntp
dns ldap
Modules
mysql
apache
OS BaseProfiles Wordpress
OPS provide core OS modules
OPS provide middleware modules
OPS provide Base profile
DEV create profiles using modules
What it could look like with the profile/role pattern
“Designing Puppet: Roles / Profiles Design Pattern
Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs)
Resources
word
press
ssh ntp
dns ldap
Modules
mysql
apache
OS BaseProfiles Wordpress
OPS provide core OS modules
OPS provide middleware modules
OPS provide Base profile
DEV create profiles using modules
DEV create some custom modules
What it could look like with the profile/role pattern
“Designing Puppet: Roles / Profiles Design Pattern
Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs)
Resources
word
press
ssh ntp
dns ldap
Modules
mysql
apache
OS BaseProfiles Wordpress
Roles Roles
Wordpress-server OPS provide core OS modules
OPS provide middleware modules
OPS provide Base profile
DEV create profiles using modules
DEV create some custom modules
DEV & OPS define roles
What it could look like with the profile/role pattern
“Designing Puppet: Roles / Profiles Design Pattern
Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs)
Resources
word
press
ssh ntp
dns ldap
Modules
mysql
apache
OS BaseProfiles Wordpress
Roles Roles
Wordpress-server OPS provide core OS modules
OPS provide middleware modules
OPS provide Base profile
DEV create profiles using modules
DEV create some custom modules
DEV & OPS define roles
DEV & OPS define variables
Hiera
What it could look like with the profile/role pattern
“Designing Puppet: Roles / Profiles Design Pattern
Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs)
Resources
word
press
ssh ntp
dns ldap
Modules
mysql
apache
OS BaseProfiles Wordpress
Roles Roles
Wordpress-server OPS provide core OS modules
OPS provide middleware modules
OPS provide Base profile
DEV create profiles using modules
DEV create some custom modules
DEV & OPS define roles
DEV & OPS associate roles to nodes
DEV & OPS define variables
Hiera
Classifier
What it could look like with the profile/role pattern
Final words
• Automate configuration
• Declare state, keep configuration on track
• Puppet syntax is very expressive
• Variable management with hiera is very efficient
Our feedback on puppet
Puppet is an amazing tool
• Automate configuration
• Declare state, keep configuration on track
• Puppet syntax is very expressive
• Variable management with hiera is very efficient
Time
Expectations
Our feedback on puppet
Puppet is an amazing tool
• Automate configuration
• Declare state, keep configuration on track
• Puppet syntax is very expressive
• Variable management with hiera is very efficient
Time
Expectations
Puppet???
Our feedback on puppet
Puppet is an amazing tool
• Automate configuration
• Declare state, keep configuration on track
• Puppet syntax is very expressive
• Variable management with hiera is very efficient
Time
Expectations
Puppet???
OK, looks interesting
First puppet apply
Our feedback on puppet
Puppet is an amazing tool
• Automate configuration
• Declare state, keep configuration on track
• Puppet syntax is very expressive
• Variable management with hiera is very efficient
Time
Expectations
Puppet???
OK, looks interesting
First puppet apply
What the hell are:
* Modules (and classes)
* Hiera
* erb
* spaceships??
Our feedback on puppet
Puppet is an amazing tool
• Automate configuration
• Declare state, keep configuration on track
• Puppet syntax is very expressive
• Variable management with hiera is very efficient
Time
Expectations
Puppet???
OK, looks interesting
First puppet apply
What the hell are:
* Modules (and classes)
* Hiera
* erb
* spaceships??
First modules
Our feedback on puppet
Puppet is an amazing tool
• Automate configuration
• Declare state, keep configuration on track
• Puppet syntax is very expressive
• Variable management with hiera is very efficient
Time
Expectations
Puppet???
OK, looks interesting
First puppet apply
What the hell are:
* Modules (and classes)
* Hiera
* erb
* spaceships??
First modules
Wow this is big
Our feedback on puppet
Puppet is an amazing tool
• Automate configuration
• Declare state, keep configuration on track
• Puppet syntax is very expressive
• Variable management with hiera is very efficient
Time
Expectations
Puppet???
OK, looks interesting
First puppet apply
What the hell are:
* Modules (and classes)
* Hiera
* erb
* spaceships??
First modules
Wow this is big
Ok not that simple
Our feedback on puppet
Puppet is an amazing tool
• Automate configuration
• Declare state, keep configuration on track
• Puppet syntax is very expressive
• Variable management with hiera is very efficient
Time
Expectations
Puppet???
OK, looks interesting
First puppet apply
What the hell are:
* Modules (and classes)
* Hiera
* erb
* spaceships??
First modules
Wow this is big
Ok not that simple
Too big! We are lost
* Variables?
* Classification
* Module conflicts
Our feedback on puppet
Puppet is an amazing tool
• Automate configuration
• Declare state, keep configuration on track
• Puppet syntax is very expressive
• Variable management with hiera is very efficient
Time
Expectations
Puppet???
OK, looks interesting
First puppet apply
What the hell are:
* Modules (and classes)
* Hiera
* erb
* spaceships??
First modules
Wow this is big
Ok not that simple
Too big! We are lost
* Variables?
* Classification
* Module conflicts
Best practices
* Roles / Profiles
* Variable location
Our feedback on puppet
Puppet is an amazing tool
• Automate configuration
• Declare state, keep configuration on track
• Puppet syntax is very expressive
• Variable management with hiera is very efficient
Time
Expectations
Puppet???
OK, looks interesting
First puppet apply
What the hell are:
* Modules (and classes)
* Hiera
* erb
* spaceships??
First modules
Wow this is big
Ok not that simple
Too big! We are lost
* Variables?
* Classification
* Module conflicts
Best practices
* Roles / Profiles
* Variable location
Our feedback on puppet
• Setups can be complex
• Many solutions to a problem
• Use it for what it does best
Try adapting processes first
• Look for best practices
Puppet is an amazing tool
You can do (almost) anything with puppet, but
The pace of innovation in IT is accelerating
New time-to-market challenges will require continuous delivery
We will not get continuous delivery without DEVOPS
Puppet is an amazing DEVOPS tool and will help you
Conclusion
The pace of innovation in IT is accelerating
New time-to-market challenges will require continuous delivery
We will not get continuous delivery without DEVOPS
Puppet is an amazing DEVOPS tool and will help you
Conclusion
But tools cannot do everything: puppet is not a magic solution
The pace of innovation in IT is accelerating
New time-to-market challenges will require continuous delivery
We will not get continuous delivery without DEVOPS
Puppet is an amazing DEVOPS tool and will help you
Conclusion
• Finding the best way to use puppet for you will take time
• Providing a configuration service will be a challenge
• Processes will need to change
DEV and OPS roles are evolving and Organizations will need to adapt
But tools cannot do everything: puppet is not a magic solution
Thank you
Laurent Bernaille, D2SI
@lbernail
@D2SI
#PuppetCampParis

Weitere ähnliche Inhalte

Was ist angesagt?

Continuous Delivery at Gogo with Spinnaker and Foremast
Continuous Delivery at Gogo with Spinnaker and ForemastContinuous Delivery at Gogo with Spinnaker and Foremast
Continuous Delivery at Gogo with Spinnaker and ForemastN. Douglas Campbell
 
Continuous delivery with open source tools
Continuous delivery with open source toolsContinuous delivery with open source tools
Continuous delivery with open source toolsSebastian Helzle
 
Win Spinnaker with Winnaker - Open Source North Conf 2017
Win Spinnaker with Winnaker - Open Source North Conf 2017Win Spinnaker with Winnaker - Open Source North Conf 2017
Win Spinnaker with Winnaker - Open Source North Conf 2017Medya Ghazizadeh
 
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 .Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 Tikal Knowledge
 
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...CloudBees
 
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)CloudBees
 
CI/CD Pipeline to Deploy and Maintain an OpenStack IaaS Cloud
CI/CD Pipeline to Deploy and Maintain an OpenStack IaaS CloudCI/CD Pipeline to Deploy and Maintain an OpenStack IaaS Cloud
CI/CD Pipeline to Deploy and Maintain an OpenStack IaaS CloudSimon McCartney
 
JUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made EasyJUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made EasyCloudBees
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deployThibaud Gravrand
 
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersJUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersCloudBees
 
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and MaintenanceJUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and MaintenanceCloudBees
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin MĂĄlek
 
Building Jenkins Pipelines at Scale
Building Jenkins Pipelines at ScaleBuilding Jenkins Pipelines at Scale
Building Jenkins Pipelines at ScaleJulien Pivotto
 
Kenzan Spinnaker Meetup
Kenzan Spinnaker MeetupKenzan Spinnaker Meetup
Kenzan Spinnaker MeetupAmbassador Labs
 
Webinar - Continuous Integration with GitLab
Webinar - Continuous Integration with GitLabWebinar - Continuous Integration with GitLab
Webinar - Continuous Integration with GitLabOlinData
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsTomohide Kakeya
 
calmio-cicd-containers
calmio-cicd-containerscalmio-cicd-containers
calmio-cicd-containersBalaji Janakiram
 
Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Eugenio Minardi
 
From Virtual Machines to Containers
From Virtual Machines to ContainersFrom Virtual Machines to Containers
From Virtual Machines to Containerscamunda services GmbH
 

Was ist angesagt? (20)

Continuous Delivery at Gogo with Spinnaker and Foremast
Continuous Delivery at Gogo with Spinnaker and ForemastContinuous Delivery at Gogo with Spinnaker and Foremast
Continuous Delivery at Gogo with Spinnaker and Foremast
 
Continuous delivery with open source tools
Continuous delivery with open source toolsContinuous delivery with open source tools
Continuous delivery with open source tools
 
Win Spinnaker with Winnaker - Open Source North Conf 2017
Win Spinnaker with Winnaker - Open Source North Conf 2017Win Spinnaker with Winnaker - Open Source North Conf 2017
Win Spinnaker with Winnaker - Open Source North Conf 2017
 
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 .Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
 
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
 
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
 
CI/CD Pipeline to Deploy and Maintain an OpenStack IaaS Cloud
CI/CD Pipeline to Deploy and Maintain an OpenStack IaaS CloudCI/CD Pipeline to Deploy and Maintain an OpenStack IaaS Cloud
CI/CD Pipeline to Deploy and Maintain an OpenStack IaaS Cloud
 
JUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made EasyJUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made Easy
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deploy
 
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersJUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
 
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and MaintenanceJUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
Building Jenkins Pipelines at Scale
Building Jenkins Pipelines at ScaleBuilding Jenkins Pipelines at Scale
Building Jenkins Pipelines at Scale
 
Kenzan Spinnaker Meetup
Kenzan Spinnaker MeetupKenzan Spinnaker Meetup
Kenzan Spinnaker Meetup
 
JavaCro'14 - Continuous delivery of Java EE applications with Jenkins and Doc...
JavaCro'14 - Continuous delivery of Java EE applications with Jenkins and Doc...JavaCro'14 - Continuous delivery of Java EE applications with Jenkins and Doc...
JavaCro'14 - Continuous delivery of Java EE applications with Jenkins and Doc...
 
Webinar - Continuous Integration with GitLab
Webinar - Continuous Integration with GitLabWebinar - Continuous Integration with GitLab
Webinar - Continuous Integration with GitLab
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkins
 
calmio-cicd-containers
calmio-cicd-containerscalmio-cicd-containers
calmio-cicd-containers
 
Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)
 
From Virtual Machines to Containers
From Virtual Machines to ContainersFrom Virtual Machines to Containers
From Virtual Machines to Containers
 

Andere mochten auch

Amy DeMartine - 7 Habits of Rugged DevOps
Amy DeMartine - 7 Habits of Rugged DevOpsAmy DeMartine - 7 Habits of Rugged DevOps
Amy DeMartine - 7 Habits of Rugged DevOpsSeniorStoryteller
 
Why we are migrating to Chef from Puppet
Why we are migrating to Chef from PuppetWhy we are migrating to Chef from Puppet
Why we are migrating to Chef from PuppetYu Yamanaka
 
DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?Rob Reynolds
 
Learning puppet chapter 2
Learning puppet chapter 2Learning puppet chapter 2
Learning puppet chapter 2Vishal Biyani
 
Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15
Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15
Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15Puppet
 
Puppet vs. Chef - The Battle Wages On
Puppet vs. Chef - The Battle Wages OnPuppet vs. Chef - The Battle Wages On
Puppet vs. Chef - The Battle Wages OnCloudCheckr
 
Learning puppet chapter 3
Learning puppet chapter 3Learning puppet chapter 3
Learning puppet chapter 3Vishal Biyani
 
DevOps from Control to Enablement
DevOps from Control to EnablementDevOps from Control to Enablement
DevOps from Control to EnablementJoAnna Cheshire
 
DevOps Cardiff - Puppet vs Chef vs Ansible
DevOps Cardiff - Puppet vs Chef vs AnsibleDevOps Cardiff - Puppet vs Chef vs Ansible
DevOps Cardiff - Puppet vs Chef vs AnsibleMark Phillips
 
Fifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynoteFifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynoteGeoff Halprin
 
From DevOps to NoOps
From DevOps to NoOpsFrom DevOps to NoOps
From DevOps to NoOpsCapgemini
 
GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabShinu Suresh
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for DocumentationAnne Gentle
 
Puppet 3 em 2017
Puppet 3 em 2017Puppet 3 em 2017
Puppet 3 em 2017Taciano Tres
 
Introduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideIntroduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideRohit Arora
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners HubSpot
 
Introduction to Puppet Enterprise
Introduction to Puppet EnterpriseIntroduction to Puppet Enterprise
Introduction to Puppet EnterprisePuppet
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...Sonatype
 

Andere mochten auch (19)

Amy DeMartine - 7 Habits of Rugged DevOps
Amy DeMartine - 7 Habits of Rugged DevOpsAmy DeMartine - 7 Habits of Rugged DevOps
Amy DeMartine - 7 Habits of Rugged DevOps
 
Why we are migrating to Chef from Puppet
Why we are migrating to Chef from PuppetWhy we are migrating to Chef from Puppet
Why we are migrating to Chef from Puppet
 
DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?
 
Learning puppet chapter 2
Learning puppet chapter 2Learning puppet chapter 2
Learning puppet chapter 2
 
Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15
Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15
Deliver on DevOps with Puppet Application Orchestration Webinar 11/19/15
 
Puppet vs. Chef - The Battle Wages On
Puppet vs. Chef - The Battle Wages OnPuppet vs. Chef - The Battle Wages On
Puppet vs. Chef - The Battle Wages On
 
Learning puppet chapter 3
Learning puppet chapter 3Learning puppet chapter 3
Learning puppet chapter 3
 
DevOps from Control to Enablement
DevOps from Control to EnablementDevOps from Control to Enablement
DevOps from Control to Enablement
 
DevOps Cardiff - Puppet vs Chef vs Ansible
DevOps Cardiff - Puppet vs Chef vs AnsibleDevOps Cardiff - Puppet vs Chef vs Ansible
DevOps Cardiff - Puppet vs Chef vs Ansible
 
Fifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynoteFifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynote
 
From DevOps to NoOps
From DevOps to NoOpsFrom DevOps to NoOps
From DevOps to NoOps
 
GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLab
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for Documentation
 
Puppet 3 em 2017
Puppet 3 em 2017Puppet 3 em 2017
Puppet 3 em 2017
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
Introduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideIntroduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guide
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 
Introduction to Puppet Enterprise
Introduction to Puppet EnterpriseIntroduction to Puppet Enterprise
Introduction to Puppet Enterprise
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 

Ähnlich wie Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet

Cloud Academy Webinar: Recipe for DevOps Success: Capital One Style
Cloud Academy Webinar: Recipe for DevOps Success: Capital One StyleCloud Academy Webinar: Recipe for DevOps Success: Capital One Style
Cloud Academy Webinar: Recipe for DevOps Success: Capital One StyleMark Andersen
 
Mark Andersen DFW DevOps Days 2017
Mark Andersen DFW DevOps Days 2017Mark Andersen DFW DevOps Days 2017
Mark Andersen DFW DevOps Days 2017Mark Andersen
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestroKyle Hailey
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAdam Stephensen
 
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOpsKMS Technology
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliverySwapnil Jain
 
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...XebiaLabs
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
Manchester ITExpo Talk: DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk:  DevOps large and small - Cambridge SatchelManchester ITExpo Talk:  DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk: DevOps large and small - Cambridge SatchelJwooldridge
 
Continuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps SuccessContinuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps SuccessTechWell
 
Continuous everything
Continuous everythingContinuous everything
Continuous everythingTEST Huddle
 
Jonny wooldridge DevOps Large and Small
Jonny wooldridge DevOps Large and SmallJonny wooldridge DevOps Large and Small
Jonny wooldridge DevOps Large and SmallJwooldridge
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsHal Rottenberg
 
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMMatt Wright
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsNitin Bhide
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)Nitin Bhide
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentSynerzip
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip
 

Ähnlich wie Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet (20)

Cloud Academy Webinar: Recipe for DevOps Success: Capital One Style
Cloud Academy Webinar: Recipe for DevOps Success: Capital One StyleCloud Academy Webinar: Recipe for DevOps Success: Capital One Style
Cloud Academy Webinar: Recipe for DevOps Success: Capital One Style
 
Mark Andersen DFW DevOps Days 2017
Mark Andersen DFW DevOps Days 2017Mark Andersen DFW DevOps Days 2017
Mark Andersen DFW DevOps Days 2017
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestro
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
 
manage databases like codebases
manage databases like codebasesmanage databases like codebases
manage databases like codebases
 
Dev ops concept
Dev ops conceptDev ops concept
Dev ops concept
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
 
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...
XebiaLabs & codecentric Webinar: Deploy Higher Quality Applications Faster (G...
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Manchester ITExpo Talk: DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk:  DevOps large and small - Cambridge SatchelManchester ITExpo Talk:  DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk: DevOps large and small - Cambridge Satchel
 
Continuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps SuccessContinuous Testing: A Key to DevOps Success
Continuous Testing: A Key to DevOps Success
 
Continuous everything
Continuous everythingContinuous everything
Continuous everything
 
Jonny wooldridge DevOps Large and Small
Jonny wooldridge DevOps Large and SmallJonny wooldridge DevOps Large and Small
Jonny wooldridge DevOps Large and Small
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data Analytics
 
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core Concepts
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software Development
 

Mehr von Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyamlPuppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)Puppet
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscodePuppet
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twentiesPuppet
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codePuppet
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approachPuppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationPuppet
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliancePuppet
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowPuppet
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Puppet
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppetPuppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkPuppet
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping groundPuppet
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy SoftwarePuppet
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User GroupPuppet
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsPuppet
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyPuppet
 

Mehr von Puppet (20)

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 

KĂźrzlich hochgeladen

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĂşjo
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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 organizationRadu Cotescu
 
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 SolutionsEnterprise Knowledge
 
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.pptxHampshireHUG
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
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 Processorsdebabhi2
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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 WorkerThousandEyes
 
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.pdfEnterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

KĂźrzlich hochgeladen (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet

  • 1. Achieving Continuous Delivery with puppet Laurent Bernaille, D2SI #PuppetCampParis @D2SI@D2SI #PuppetCampParis
  • 2. Past (current?) situation Why do we need continuous delivery ?
  • 3. Applications do not answer business needs well Long development cycle Difficult to get clear specifications Market can shift quickly June
  • 4. Applications do not answer business needs well Long development cycle Difficult to get clear specifications Market can shift quickly June What the end user say he needs in January January
  • 5. What the dev team delivers in June June Applications do not answer business needs well Long development cycle Difficult to get clear specifications Market can shift quickly What the end user say he needs in January January
  • 6. What the dev team delivers in June June What the end user needs in June Applications do not answer business needs well Long development cycle Difficult to get clear specifications Market can shift quickly June What the end user say he needs in January January
  • 7. Development processes are inefficient Bug are detected too late Code TESTOther work Fix
  • 8. Development processes are inefficient Bug are detected too late Integration Hell Code TESTOther work Fix Start integration
  • 9. Development processes are inefficient Bug are detected too late Integration Hell A lot of wasted time Code TESTOther work Fix Request Approve & Prioritize Technical Assessment Code & Test Verify & Fix Deploy 20 min 2 min 15 min 2 h 4 h 3 min ½ week 2 weeks 2 weeks 1week ½ week Processing Time = 6 h 40 min Waiting Time = 6 weeks Adapted from Implementing Lean Software Development: From Concept to Cash, Mary & Tom Poppendieck. Start integration
  • 10. OPS view Relationship with OPS can be “difficult” Application deployment is a nightmare
  • 11. OPS view Relationship with OPS can be “difficult” Performance is not only related to hardware ÂŤ Make my website faster in AsiaÂť Application deployment is a nightmare
  • 12. OPS view ? Relationship with OPS can be “difficult” Performance is not only related to hardware ÂŤ Make my website faster in AsiaÂť Application deployment is a nightmare ÂŤ Our application is too slow because of your serversÂť
  • 13. OPS view ? Relationship with OPS can be “difficult” DEV view Performance is not only related to hardware ÂŤ Make my website faster in AsiaÂť Application deployment is a nightmare ÂŤ Our application is too slow because of your serversÂť
  • 14. OPS view ? Relationship with OPS can be “difficult” DEV view Performance is not only related to hardware ÂŤ Make my website faster in AsiaÂť Application deployment is a nightmare ÂŤ Our application is too slow because of your serversÂť Identical servers are always “slightly” different
  • 15. OPS view ? Relationship with OPS can be “difficult” DEV view Performance is not only related to hardware ÂŤ Make my website faster in AsiaÂť Application deployment is a nightmare ÂŤ Our application is too slow because of your serversÂť Identical servers are always “slightly” different OPS always say “no” Standards do not evolve 10 deploys per day, Dev & ops cooperation at Flickr John Allspaw & Paul Hammond (Velocity 2009)
  • 16. 6+ months to setup a new environment Infrastructure is not very agile Server “hoarding”
  • 17. Infrastructure is not very agile Server “hoarding” Resources are heavily shared Most environments are underutilized 6+ months to setup a new environment
  • 18. Infrastructure is not very agile Server “hoarding” Resources are heavily shared Most environments are underutilized 6+ months to setup a new environment
  • 19. Production Infra setup Deploy Deploy Deploy Deploy Utilization : 100% Infrastructure is not very agile Server “hoarding” Resources are heavily shared Most environments are underutilized 6+ months to setup a new environment
  • 20. Production Infra setup Deploy Deploy Deploy Deploy Utilization : 100% Preproduction Utilization : 10% Infrastructure is not very agile Server “hoarding” Resources are heavily shared Most environments are underutilized 6+ months to setup a new environment
  • 21. Production Infra setup Deploy Deploy Deploy Deploy Utilization : 100% Preproduction Utilization : 10% Test Utilization : 40% Infrastructure is not very agile Server “hoarding” Resources are heavily shared Most environments are underutilized 6+ months to setup a new environment
  • 22. Business Development Operations • Applications do not answer business needs well • Too long to get new features • Integration and bug fixing is painful • A lot of wasted time • Deployments are very painful • A lot of misunderstanding • Environment setup is too slow • No on-demand resources Summary of the issues WHAT?
  • 23. IT should be easier Continuous Delivery
  • 24. Agile Manifesto, 2001 Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Agile Development Business Development Operations A G I L E
  • 25. Test Discover Design Develop Waterfall method Developing Incrementally and Iteratively Long cycles High-risk Adaptation is very difficult 6-12 month
  • 26. 2-4 weeks Test Discover Design Develop Discover Design Develop Test Discover Design Develop Test Discover Design Develop Test Waterfall method Developing Incrementally and Iteratively Agile method Long cycles High-risk Adaptation is very difficult 6-12 month Low-risk Many short cycles Adaptation is much easier VS
  • 27. Maintain a single source repository Automate the build Make your build self-testing Every commit should build on an integration machine Keep the build fast Test in a clone of the production environment Make it easy for anyone to get the latest executable Everyone can see what’s happening Detect problems early and solve them quickly Continuous Integration C I Business Development Operations
  • 29. DevOps : bring the wall down Business Development Operations D E V O P S Measure, Analyze & Describe Constraints (from DEV and OPS) Best practices, methods Automation Measure Share Culture Align objectives on business needs Innovate Automate application delivery
  • 31. Agile infra Control resources Configure resources Deploy applications Create, Delete, start, stop Servers (physical, virtual, in the cloud) Storage volumes, networks Define system states, when possible Verify system states Reconfigure systems when necessary Provide a service to deploy applications Automated, with rollbacks Agile Infrastructure Business Development Operations
  • 32. Agile infra Control resources Configure resources Deploy applications Create, Delete, start, stop Servers (physical, virtual, in the cloud) Storage volumes, networks Define system states, when possible Verify system states Reconfigure systems when necessary Provide a service to deploy applications Automated, with rollbacks Automation API API API Agile Infrastructure Business Development Operations
  • 36. Puppet Master • Resolvers, time servers, standard packages • Authentication, security • Monitoring,… Use case 1 : core OS configuration Hiera Modules Console ENC / API 1:Create modules Define variables Assign classes to nodes Server team uses puppet as a configuration tool
  • 37. Puppet Master • Resolvers, time servers, standard packages • Authentication, security • Monitoring,… Use case 1 : core OS configuration Hiera Modules Console ENC / API 1:Create modules Define variables Assign classes to nodes 4: apply/test catalog Puppet agentPuppet agentPuppet agent Server team uses puppet as a configuration tool
  • 38. Puppet Master • Resolvers, time servers, standard packages • Authentication, security • Monitoring,… Use case 1 : core OS configuration Hiera Modules Console ENC / API 1:Create modules Define variables Assign classes to nodes 4: apply/test catalog McollectiveGet info on nodes Run agent on subset of nodes Puppet agentPuppet agentPuppet agent Server team uses puppet as a configuration tool
  • 39. Puppet Master • Resolvers, time servers, standard packages • Authentication, security • Monitoring,… Use case 1 : core OS configuration Hiera Modules Console ENC / API 1:Create modules Define variables Assign classes to nodes 4: apply/test catalog McollectiveGet info on nodes Run agent on subset of nodes Puppet agentPuppet agentPuppet agent  Most common puppet usage.  Proven for large scale deployment.  Very “Infra oriented”: not opened to applications. Server team uses puppet as a configuration tool
  • 40. Binaries of the application • Puppet manifests and modules describing deployments Repository Binaries Manifest Modules 1: put Use case 2 : deploy applications Developers supply :
  • 41. Binaries of the application • Puppet manifests and modules describing deployments Dev servers Test servers Dev serversOther env Repository Binaries Manifest Modules 1: put 2: get 4: run Use case 2 : deploy applications • Chooses servers (env) where the deployment should happen • Runs puppet and gathers reports; if run fails, forwards to DEV Developers supply : OPS team :
  • 42. Binaries of the application • Puppet manifests and modules describing deployments Dev servers Test servers Dev serversOther env Repository Binaries Manifest Modules 1: put 2: get 4: run Use case 2 : deploy applications • Chooses servers (env) where the deployment should happen • Runs puppet and gathers reports; if run fails, forwards to DEV  Much more efficient than written deployment processes.  Much easier to understand what fails. Developers supply : OPS team :
  • 43. Configuration as a service ProfilsLevels ConfigurationReport Tools
  • 44. Using a “configuration service” Env Configuration service Deploy API GUI • Associate “profiles” to nodes, define variables • Run configuration and get reports Give application teams the possibility to configure servers1
  • 45. Using a “configuration service” Env Configuration service Deploy API GUI • Associate “profiles” to nodes, define variables • Run configuration and get reports Give application teams the possibility to configure servers1 Different levels of configuration, different responsibilities2 Base OS configuration Standard middlewares Application middlewares Application
  • 46. Can we do that with puppet? Sure, but tricky with classic DEV / OPS model
  • 47. Can we do that with puppet? Sure, but tricky with classic DEV / OPS model DEV cannot execute anything as root SURE, but tricky with classic DEV / OPS model
  • 48. Base OS configuration Standard middlewares Application middlewares Application2 1 Can we do that with puppet? Some options : Sure, but tricky with classic DEV / OPS model • Second puppet master, or puppet apply (non root) • Other tool Tool separation1 DEV cannot execute anything as root SURE, but tricky with classic DEV / OPS model
  • 49. Base OS configuration Standard middlewares Application middlewares Application2 1 Can we do that with puppet? Some options : Sure, but tricky with classic DEV / OPS model • Second puppet master, or puppet apply (non root) • Other tool Tool separation1 Ok to run as root but under full control2 • Custom “profile” facts (facts.d) and hiera • Run with mcollective (limit to some tags) • Read-only console access DEV cannot execute anything as root SURE, but tricky with classic DEV / OPS model
  • 50. Base OS configuration Standard middlewares Application middlewares Application2 1 Can we do that with puppet? Some options : Sure, but tricky with classic DEV / OPS model • Second puppet master, or puppet apply (non root) • Other tool Tool separation1 Ok to run as root but under full control2 • Custom “profile” facts (facts.d) and hiera • Run with mcollective (limit to some tags) • Read-only console access Many other ways3 DEV cannot execute anything as root SURE, but tricky with classic DEV / OPS model
  • 51. Approach 1 : OPS write all modules Version Control System I need a mongodb module CI Puppet master mongodb module What if DEV need custom modules (they will)
  • 52. Approach 1 : OPS write all modules  Impossible to scale  Not efficient Version Control System I need a mongodb module CI Puppet master mongodb module What if DEV need custom modules (they will)
  • 53. Approach 1 : OPS write all modules  Impossible to scale  Not efficient Version Control System I need a mongodb module CI Puppet master mongodb module What if DEV need custom modules (they will) Approach 2 : Pull request mongodb module Version Control System CI Puppet master Pull request Version Control System validated module
  • 54. Approach 1 : OPS write all modules  Impossible to scale  Not efficient Version Control System I need a mongodb module CI Puppet master mongodb module  Very limited scalabity What if DEV need custom modules (they will) Approach 2 : Pull request mongodb module Version Control System CI Puppet master Pull request Version Control System validated module
  • 55. Approach 1 : OPS write all modules  Impossible to scale  Not efficient Version Control System I need a mongodb module CI Puppet master mongodb module  Very limited scalabity What if DEV need custom modules (they will) Approach 2 : Pull request Approach 3: DEV can push to some repositories mongodb module Version Control System CI Puppet master mongodb module Version Control System CI Puppet master Pull request Version Control System validated module
  • 56. Approach 1 : OPS write all modules  Impossible to scale  Not efficient Version Control System I need a mongodb module CI Puppet master mongodb module  Very limited scalabity  Complex permissions  DEV are still basically root What if DEV need custom modules (they will) Approach 2 : Pull request Approach 3: DEV can push to some repositories mongodb module Version Control System CI Puppet master mongodb module Version Control System CI Puppet master Pull request Version Control System validated module
  • 57. Sure, we can tweak puppet
  • 58. Sure, we can tweak puppet Is this this the way??
  • 59. Sure, we can tweak puppet Maybe we should adapt processes and not just tools Is this this the way??
  • 60. A NEW relationship between DEV & OPS
  • 61. • Provide application • Ask for env From separation and control to shared responsiblities
  • 62. Storage / Network Servers • Provide application • Ask for env • Provide env • Run production From separation and control to shared responsiblities
  • 63. Strict separation of roles Storage / Network Servers • Provide application • Ask for env • Provide env • Run production From separation and control to shared responsiblities
  • 64. Strict separation of roles Storage / Network Servers • Provide application • Ask for env • Provide env • Run production • Provide programmable resources • Provide advice • Delegate some Prod responsability Storage Servers Servers Network From separation and control to shared responsiblities
  • 65. Strict separation of roles Storage / Network Servers • Provide application • Ask for env • Provide env • Run production • Provide programmable resources • Provide advice • Delegate some Prod responsability Storage Servers Servers Network • Provide application • Consume environments • Share responsibility From separation and control to shared responsiblities
  • 66. Strict separation of roles Storage / Network Servers • Provide application • Ask for env • Provide env • Run production • Provide programmable resources • Provide advice • Delegate some Prod responsability Storage Servers Servers Network • Provide application • Consume environments • Share responsibility Shared responsibilities From separation and control to shared responsiblities
  • 67. “Designing Puppet: Roles / Profiles Design Pattern Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs) Resources What it could look like with the profile/role pattern
  • 68. “Designing Puppet: Roles / Profiles Design Pattern Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs) Resources ssh ntp dns ldap Modules OPS provide core OS modules What it could look like with the profile/role pattern
  • 69. “Designing Puppet: Roles / Profiles Design Pattern Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs) Resources ssh ntp dns ldap Modules mysql apache OPS provide core OS modules OPS provide middleware modules What it could look like with the profile/role pattern
  • 70. “Designing Puppet: Roles / Profiles Design Pattern Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs) Resources ssh ntp dns ldap Modules mysql apache OS BaseProfiles OPS provide core OS modules OPS provide middleware modules OPS provide Base profile What it could look like with the profile/role pattern
  • 71. “Designing Puppet: Roles / Profiles Design Pattern Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs) Resources ssh ntp dns ldap Modules mysql apache OS BaseProfiles Wordpress OPS provide core OS modules OPS provide middleware modules OPS provide Base profile DEV create profiles using modules What it could look like with the profile/role pattern
  • 72. “Designing Puppet: Roles / Profiles Design Pattern Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs) Resources word press ssh ntp dns ldap Modules mysql apache OS BaseProfiles Wordpress OPS provide core OS modules OPS provide middleware modules OPS provide Base profile DEV create profiles using modules DEV create some custom modules What it could look like with the profile/role pattern
  • 73. “Designing Puppet: Roles / Profiles Design Pattern Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs) Resources word press ssh ntp dns ldap Modules mysql apache OS BaseProfiles Wordpress Roles Roles Wordpress-server OPS provide core OS modules OPS provide middleware modules OPS provide Base profile DEV create profiles using modules DEV create some custom modules DEV & OPS define roles What it could look like with the profile/role pattern
  • 74. “Designing Puppet: Roles / Profiles Design Pattern Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs) Resources word press ssh ntp dns ldap Modules mysql apache OS BaseProfiles Wordpress Roles Roles Wordpress-server OPS provide core OS modules OPS provide middleware modules OPS provide Base profile DEV create profiles using modules DEV create some custom modules DEV & OPS define roles DEV & OPS define variables Hiera What it could look like with the profile/role pattern
  • 75. “Designing Puppet: Roles / Profiles Design Pattern Puppet Camp Stockholm, Feb 2013 (Craig Dunn Puppet Labs) Resources word press ssh ntp dns ldap Modules mysql apache OS BaseProfiles Wordpress Roles Roles Wordpress-server OPS provide core OS modules OPS provide middleware modules OPS provide Base profile DEV create profiles using modules DEV create some custom modules DEV & OPS define roles DEV & OPS associate roles to nodes DEV & OPS define variables Hiera Classifier What it could look like with the profile/role pattern
  • 77. • Automate configuration • Declare state, keep configuration on track • Puppet syntax is very expressive • Variable management with hiera is very efficient Our feedback on puppet Puppet is an amazing tool
  • 78. • Automate configuration • Declare state, keep configuration on track • Puppet syntax is very expressive • Variable management with hiera is very efficient Time Expectations Our feedback on puppet Puppet is an amazing tool
  • 79. • Automate configuration • Declare state, keep configuration on track • Puppet syntax is very expressive • Variable management with hiera is very efficient Time Expectations Puppet??? Our feedback on puppet Puppet is an amazing tool
  • 80. • Automate configuration • Declare state, keep configuration on track • Puppet syntax is very expressive • Variable management with hiera is very efficient Time Expectations Puppet??? OK, looks interesting First puppet apply Our feedback on puppet Puppet is an amazing tool
  • 81. • Automate configuration • Declare state, keep configuration on track • Puppet syntax is very expressive • Variable management with hiera is very efficient Time Expectations Puppet??? OK, looks interesting First puppet apply What the hell are: * Modules (and classes) * Hiera * erb * spaceships?? Our feedback on puppet Puppet is an amazing tool
  • 82. • Automate configuration • Declare state, keep configuration on track • Puppet syntax is very expressive • Variable management with hiera is very efficient Time Expectations Puppet??? OK, looks interesting First puppet apply What the hell are: * Modules (and classes) * Hiera * erb * spaceships?? First modules Our feedback on puppet Puppet is an amazing tool
  • 83. • Automate configuration • Declare state, keep configuration on track • Puppet syntax is very expressive • Variable management with hiera is very efficient Time Expectations Puppet??? OK, looks interesting First puppet apply What the hell are: * Modules (and classes) * Hiera * erb * spaceships?? First modules Wow this is big Our feedback on puppet Puppet is an amazing tool
  • 84. • Automate configuration • Declare state, keep configuration on track • Puppet syntax is very expressive • Variable management with hiera is very efficient Time Expectations Puppet??? OK, looks interesting First puppet apply What the hell are: * Modules (and classes) * Hiera * erb * spaceships?? First modules Wow this is big Ok not that simple Our feedback on puppet Puppet is an amazing tool
  • 85. • Automate configuration • Declare state, keep configuration on track • Puppet syntax is very expressive • Variable management with hiera is very efficient Time Expectations Puppet??? OK, looks interesting First puppet apply What the hell are: * Modules (and classes) * Hiera * erb * spaceships?? First modules Wow this is big Ok not that simple Too big! We are lost * Variables? * Classification * Module conflicts Our feedback on puppet Puppet is an amazing tool
  • 86. • Automate configuration • Declare state, keep configuration on track • Puppet syntax is very expressive • Variable management with hiera is very efficient Time Expectations Puppet??? OK, looks interesting First puppet apply What the hell are: * Modules (and classes) * Hiera * erb * spaceships?? First modules Wow this is big Ok not that simple Too big! We are lost * Variables? * Classification * Module conflicts Best practices * Roles / Profiles * Variable location Our feedback on puppet Puppet is an amazing tool
  • 87. • Automate configuration • Declare state, keep configuration on track • Puppet syntax is very expressive • Variable management with hiera is very efficient Time Expectations Puppet??? OK, looks interesting First puppet apply What the hell are: * Modules (and classes) * Hiera * erb * spaceships?? First modules Wow this is big Ok not that simple Too big! We are lost * Variables? * Classification * Module conflicts Best practices * Roles / Profiles * Variable location Our feedback on puppet • Setups can be complex • Many solutions to a problem • Use it for what it does best Try adapting processes first • Look for best practices Puppet is an amazing tool You can do (almost) anything with puppet, but
  • 88. The pace of innovation in IT is accelerating New time-to-market challenges will require continuous delivery We will not get continuous delivery without DEVOPS Puppet is an amazing DEVOPS tool and will help you Conclusion
  • 89. The pace of innovation in IT is accelerating New time-to-market challenges will require continuous delivery We will not get continuous delivery without DEVOPS Puppet is an amazing DEVOPS tool and will help you Conclusion But tools cannot do everything: puppet is not a magic solution
  • 90. The pace of innovation in IT is accelerating New time-to-market challenges will require continuous delivery We will not get continuous delivery without DEVOPS Puppet is an amazing DEVOPS tool and will help you Conclusion • Finding the best way to use puppet for you will take time • Providing a configuration service will be a challenge • Processes will need to change DEV and OPS roles are evolving and Organizations will need to adapt But tools cannot do everything: puppet is not a magic solution
  • 91. Thank you Laurent Bernaille, D2SI @lbernail @D2SI #PuppetCampParis