SlideShare a Scribd company logo
1 of 28
Download to read offline
Configuration Changes
Don’t Have to be Scary
Testing with Containers
Andy Henroid <andy.henroid@puppet.com>
Who Am I?
2
3
This Talk
Containers for Testing? Yes!
Complications
Demos!
Other [Questionable] Ideas
4
…I know, right?
Skeptics welcome
0
10
20
30
40
50
60
Docker Run VM Boot Docker Build+Run
Time(seconds)
debian:8 centos:7
5
Containers: Fast & Efficient
0
10
20
30
40
50
60
Docker Run VM Boot Docker Build+Run
Time(seconds)
debian:8 centos:7
6
What Does “Fast & Efficient” Actually Mean?
Back of the Envelope
40𝑠/𝑉𝑀	𝑏𝑜𝑜𝑡 + 10𝑠/𝑡𝑒𝑠𝑡
1.1𝑠/𝐷𝑜𝑐𝑘𝑒𝑟	𝑟𝑢𝑛 + 10𝑠/𝑡𝑒𝑠𝑡
=	4.5 tests in containers
for every test run in a VM
0
200
400
600
800
1000
1200
1400
1600
1800
Docker Image VM Image Docker
Compressed
Size(MB)
debian:8 ubuntu:16.04 centos:7 fedora:24
7
Containers: Compact & Abundant Images
And 60%
smaller yet over
the network
8
Ask yourself,
Do I really need
all of this?
9
Or pick your favorite
open-source tool:
+
10
Docker Tooling: Not Bad
+
Puppet Agents Puppet Master
12
Abstraction is Powerful
vs
13
Containers Have Limits
14
Containers are not VMs…
15
Not VMs… But We Can Pretend They Are
16
Containers: Ephemeral & “Safe” Sandboxes?
Containers have security
implications
• Shared OS kernel & resources
And more security exposure
with privileged containers,
additional capabilities
[For Testing] Are you
willing to sacrifice some
degree of security for
performance?
From Jérôme Petazzoni’s talk
“Is it safe to run applications in containers?”
Run containers inside VM(s)
Enable SELinux
Remove or separate secrets &
credentials
Plenty of prior art for securing
containers in production
17
From “Is it safe to run applications in containers?”
If you answered, “No. Security over Performance.”
18
Other Concerns: Image Size, Mutability
0
100
200
300
400
500
600
700
800
Docker Image Docker + Puppet
Size(MB)
debian:8 ubuntu:16.04 centos:7 fedora:24
3.2x!
Puppet Agent Puppet Master
20
The Hard Part: Modeling Your Environment
Good news: Your CM code
does most of the work
Prior art for fine tuning, e.g.
see Reliant’s PuppetConf talk
here
21
Scaling Up
Your test matrix: Go big!
More platforms
More configurations
In parallel
4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0 4.8.0
centos:5 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
centos:6 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
centos:7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
debian:7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
debian:8 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
fedora:22 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
fedora:23 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
fedora:24 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
ubuntu:12.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
ubuntu:14.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
ubuntu:16.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0 4.8.0
centos:5 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
centos:6 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
centos:7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
debian:7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
debian:8 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
fedora:22 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
fedora:23 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
fedora:24 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
ubuntu:12.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
ubuntu:14.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
ubuntu:16.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
Puppet
4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0 4.8.0
centos:5 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
centos:6 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
centos:7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
debian:7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
debian:8 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
fedora:22 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
fedora:23 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
fedora:24 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
ubuntu:12.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
ubuntu:14.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
ubuntu:16.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
22
Now on to more
controversial
topics…
“Who needs Config Management? We use containers!”
23
Have You Heard This One?
Given a container:
How was it built?
How do you run it?
What is inside right now?
When do you rebuild?
24
Docker Tooling: Not Bad… Could It Be Better?
What packages are in the base image?
What version of Puppet
& dependencies?
Is this the one and only way to run this container?
Puppet lives in separate
mounted container
Inventoried container
can be Immutable
Inventory is JSON
• Query with standard tools
• Use for container health
checks, extend container
metadata, etc.
26
Unpacking It All
Configuration Management + Containers: Better Together
Testing: A very good place to start
Many free and open-source tools
Base container images
Build, run, inspect containers
DSL integration and much more…
You can do it too…on your laptop!
Thank you! Questions?
The shortest path
to better software.

More Related Content

Viewers also liked

PuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, Puppet
PuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, PuppetPuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, Puppet
PuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, PuppetPuppet
 
Puppet at GitHub
Puppet at GitHubPuppet at GitHub
Puppet at GitHubPuppet
 
PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...
PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...
PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...Puppet
 
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014Rob Reynolds
 
Introducion to Puppet Enterprise
Introducion to Puppet EnterpriseIntroducion to Puppet Enterprise
Introducion to Puppet EnterprisePuppet
 
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...Puppet
 
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...Puppet
 
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...Puppet
 
Pro Puppet
Pro PuppetPro Puppet
Pro Puppetdsadas
 
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, PuppetPuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, PuppetPuppet
 
PuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, Puppet
PuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, PuppetPuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, Puppet
PuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, PuppetPuppet
 
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...Puppet
 
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet
 
PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...
PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...
PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...Puppet
 
Introduction to Puppet Enterprise
Introduction to Puppet EnterpriseIntroduction to Puppet Enterprise
Introduction to Puppet EnterprisePuppet
 

Viewers also liked (16)

PuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, Puppet
PuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, PuppetPuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, Puppet
PuppetConf 2016: Testing and Delivering Puppet – Michael Stahnke, Puppet
 
Puppet at GitHub
Puppet at GitHubPuppet at GitHub
Puppet at GitHub
 
PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...
PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...
PuppetConf 2016: Collaboration and Empowerment: Driving Change in Infrastruct...
 
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
 
Introducion to Puppet Enterprise
Introducion to Puppet EnterpriseIntroducion to Puppet Enterprise
Introducion to Puppet Enterprise
 
Canadian Cyber Cecurity
Canadian Cyber CecurityCanadian Cyber Cecurity
Canadian Cyber Cecurity
 
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
 
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
 
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...
PuppetConf 2016: The Long, Twisty Road to Automation: Implementing Puppet at ...
 
Pro Puppet
Pro PuppetPro Puppet
Pro Puppet
 
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, PuppetPuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
 
PuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, Puppet
PuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, PuppetPuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, Puppet
PuppetConf. 2016: Puppet Best Practices: Roles & Profiles – Gary Larizza, Puppet
 
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
 
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
 
PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...
PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...
PuppetConf 2016: Puppet and vRealize Automation: The Next Generation – Ganesh...
 
Introduction to Puppet Enterprise
Introduction to Puppet EnterpriseIntroduction to Puppet Enterprise
Introduction to Puppet Enterprise
 

Similar to Configuration Changes Don't Have to be Scary: Testing with containers

Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017Chris Tankersley
 
Vagrant + Veewee : Barcampboston April 10-2011
Vagrant + Veewee : Barcampboston April 10-2011Vagrant + Veewee : Barcampboston April 10-2011
Vagrant + Veewee : Barcampboston April 10-2011Draco2002
 
AD11 Starting with Domino on Docker.pdf
AD11 Starting with Domino on Docker.pdfAD11 Starting with Domino on Docker.pdf
AD11 Starting with Domino on Docker.pdfMartijn de Jong
 
Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Ricardo Amaro
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned RightScale
 
Docker: automation for the rest of us
Docker: automation for the rest of usDocker: automation for the rest of us
Docker: automation for the rest of usJérôme Petazzoni
 
Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practiceChris Simmonds
 
Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017Chris Tankersley
 
New things about Cordova 4.0
New things about Cordova 4.0New things about Cordova 4.0
New things about Cordova 4.0Monaca
 
Chapter10 -- netware-based networking
Chapter10  -- netware-based networkingChapter10  -- netware-based networking
Chapter10 -- netware-based networkingRaja Waseem Akhtar
 
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...Balena
 
514412 windows-7-installation-guide-tutorial.html-780931481
514412 windows-7-installation-guide-tutorial.html-780931481514412 windows-7-installation-guide-tutorial.html-780931481
514412 windows-7-installation-guide-tutorial.html-780931481Vishva Nath
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux KernelDocker, Inc.
 
Containers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkRed Hat Developers
 
Red hat enterprise_linux-5-installation_guide-en-us
Red hat enterprise_linux-5-installation_guide-en-usRed hat enterprise_linux-5-installation_guide-en-us
Red hat enterprise_linux-5-installation_guide-en-usHari Krishna
 

Similar to Configuration Changes Don't Have to be Scary: Testing with containers (20)

Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017
 
Vagrant + Veewee : Barcampboston April 10-2011
Vagrant + Veewee : Barcampboston April 10-2011Vagrant + Veewee : Barcampboston April 10-2011
Vagrant + Veewee : Barcampboston April 10-2011
 
AD11 Starting with Domino on Docker.pdf
AD11 Starting with Domino on Docker.pdfAD11 Starting with Domino on Docker.pdf
AD11 Starting with Domino on Docker.pdf
 
Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
 
Tiad - Docker: Automation for the rest of us
Tiad - Docker: Automation for the rest of usTiad - Docker: Automation for the rest of us
Tiad - Docker: Automation for the rest of us
 
Docker: automation for the rest of us
Docker: automation for the rest of usDocker: automation for the rest of us
Docker: automation for the rest of us
 
Test like a_boss
Test like a_bossTest like a_boss
Test like a_boss
 
Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practice
 
Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017
 
Introduction To Docker
Introduction To DockerIntroduction To Docker
Introduction To Docker
 
Read me
Read meRead me
Read me
 
Dockercon EU 2015
Dockercon EU 2015Dockercon EU 2015
Dockercon EU 2015
 
New things about Cordova 4.0
New things about Cordova 4.0New things about Cordova 4.0
New things about Cordova 4.0
 
Chapter10 -- netware-based networking
Chapter10  -- netware-based networkingChapter10  -- netware-based networking
Chapter10 -- netware-based networking
 
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
 
514412 windows-7-installation-guide-tutorial.html-780931481
514412 windows-7-installation-guide-tutorial.html-780931481514412 windows-7-installation-guide-tutorial.html-780931481
514412 windows-7-installation-guide-tutorial.html-780931481
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
 
Containers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech Talk
 
Red hat enterprise_linux-5-installation_guide-en-us
Red hat enterprise_linux-5-installation_guide-en-usRed hat enterprise_linux-5-installation_guide-en-us
Red hat enterprise_linux-5-installation_guide-en-us
 

Recently uploaded

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 

Recently uploaded (20)

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 

Configuration Changes Don't Have to be Scary: Testing with containers

  • 1. Configuration Changes Don’t Have to be Scary Testing with Containers Andy Henroid <andy.henroid@puppet.com>
  • 3. 3 This Talk Containers for Testing? Yes! Complications Demos! Other [Questionable] Ideas
  • 5. 0 10 20 30 40 50 60 Docker Run VM Boot Docker Build+Run Time(seconds) debian:8 centos:7 5 Containers: Fast & Efficient
  • 6. 0 10 20 30 40 50 60 Docker Run VM Boot Docker Build+Run Time(seconds) debian:8 centos:7 6 What Does “Fast & Efficient” Actually Mean? Back of the Envelope 40𝑠/𝑉𝑀 𝑏𝑜𝑜𝑡 + 10𝑠/𝑡𝑒𝑠𝑡 1.1𝑠/𝐷𝑜𝑐𝑘𝑒𝑟 𝑟𝑢𝑛 + 10𝑠/𝑡𝑒𝑠𝑡 = 4.5 tests in containers for every test run in a VM
  • 7. 0 200 400 600 800 1000 1200 1400 1600 1800 Docker Image VM Image Docker Compressed Size(MB) debian:8 ubuntu:16.04 centos:7 fedora:24 7 Containers: Compact & Abundant Images And 60% smaller yet over the network
  • 8. 8 Ask yourself, Do I really need all of this?
  • 9. 9 Or pick your favorite open-source tool: +
  • 15. 15 Not VMs… But We Can Pretend They Are
  • 16. 16 Containers: Ephemeral & “Safe” Sandboxes? Containers have security implications • Shared OS kernel & resources And more security exposure with privileged containers, additional capabilities [For Testing] Are you willing to sacrifice some degree of security for performance? From Jérôme Petazzoni’s talk “Is it safe to run applications in containers?”
  • 17. Run containers inside VM(s) Enable SELinux Remove or separate secrets & credentials Plenty of prior art for securing containers in production 17 From “Is it safe to run applications in containers?” If you answered, “No. Security over Performance.”
  • 18. 18 Other Concerns: Image Size, Mutability 0 100 200 300 400 500 600 700 800 Docker Image Docker + Puppet Size(MB) debian:8 ubuntu:16.04 centos:7 fedora:24 3.2x!
  • 20. 20 The Hard Part: Modeling Your Environment Good news: Your CM code does most of the work Prior art for fine tuning, e.g. see Reliant’s PuppetConf talk here
  • 21. 21 Scaling Up Your test matrix: Go big! More platforms More configurations In parallel 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0 4.8.0 centos:5 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ centos:6 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ centos:7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ debian:7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ debian:8 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ fedora:22 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ fedora:23 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ fedora:24 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ubuntu:12.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ubuntu:14.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ubuntu:16.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0 4.8.0 centos:5 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ centos:6 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ centos:7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ debian:7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ debian:8 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ fedora:22 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ fedora:23 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ fedora:24 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ubuntu:12.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ubuntu:14.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ubuntu:16.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ Puppet 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0 4.8.0 centos:5 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ centos:6 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ centos:7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ debian:7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ debian:8 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ fedora:22 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ fedora:23 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ fedora:24 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ubuntu:12.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ubuntu:14.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ubuntu:16.04 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
  • 22. 22 Now on to more controversial topics…
  • 23. “Who needs Config Management? We use containers!” 23 Have You Heard This One?
  • 24. Given a container: How was it built? How do you run it? What is inside right now? When do you rebuild? 24 Docker Tooling: Not Bad… Could It Be Better? What packages are in the base image? What version of Puppet & dependencies? Is this the one and only way to run this container?
  • 25. Puppet lives in separate mounted container Inventoried container can be Immutable Inventory is JSON • Query with standard tools • Use for container health checks, extend container metadata, etc.
  • 26. 26 Unpacking It All Configuration Management + Containers: Better Together Testing: A very good place to start Many free and open-source tools Base container images Build, run, inspect containers DSL integration and much more… You can do it too…on your laptop!
  • 28. The shortest path to better software.