Michael Goetz - Solutions Engineering Manager @ Chef

SAFE, SECURE, FAST
Michael Goetz - Solutions Engineering Manager @ Chef
@michaelpgoetz
mpgoetz@chef.io
If you don’t like change, you’re going to like irrelevance
even less. - General Eric Shinseki
Move fast and break things. - Mark Zuckerberg (2010)
Move fast with stable infra. - Mark Zuckerberg (2014)
Response to 0-day exploit
New regulations mandating more compliance oversight
Adapting to shifting business objectives
Fear makes the wolf bigger than he is - German proverb
Uncertainty of what's to come
Losing the confidence of your peers or leadership
Failure leading to catastrophe
CONTINUOUS CHANGE
Safety
Security
Speed
ARTISANAL MACHINES OF METAL
AND SWEAT
Can rarely be reproduced
Have names like Gandalf, Zeus, Prometheus
Take up woodworking if you want artisan crafts
PRISTINE VIRTUAL MACHINES
Entire machine, including OS
A simple update becomes an imaging nightmare
Vary states of images in production
ISOLATED CONTAINERS
Application & dependencies running outside kernel
Dozen server images become dozens of containers
Applications may need to be rewritten to work with
container model
CONFIGURATION MANAGEMENT
Building from scratch can be slow
Controlling rollouts become critical
BUILDING BLOCKS OF
PRODUCTION SYSTEMS
Operating system that rarely changes
Supporting services that change semi-frequently
Rapidly changing application code
A SOLID FOUNDATION
Identify core components unlikely to change
Minimum viable image
Config managment software
Container tools
SUPPORTING SERVICES
Isolated applications
Limit integrations (data, network, state)
Configurations in source control
Containers can help
SET UP PRODUCTION LINES
Create change
Validate change
Update image
Roll out image
CREATING CHANGE
service 'ssh' do
action [:enable, :start]
end
VALIDATING CHANGE
control_group 'Blog Post Examples' do
control 'SSH' do
it 'should be listening on port 22' do
expect(port(22)).to be_listening
end
end
end
UPDATING & ROLLING OUT IMAGES
Packer
Asgard
Chef Provisioning
BRINGING IT ALL TOGETHER
THANK YOU!
Michael Goetz - Solutions Engineering Manager @ Chef
@michaelpgoetz
mpgoetz@chef.io