Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

41
Continuously deploying infrastructure with Puppet Sam Kottler @samkottler https://github.com/skottler [email protected]

description

Continuous Delivery of Puppet-Based Infrastructure - Sam Kottler, Digital Ocean Puppet

Transcript of Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Page 1: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Continuously deploying

infrastructure with Puppet

Sam Kottler @samkottler

https://github.com/skottler [email protected]

Page 2: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014
Page 3: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Why do all (suddenly) seem to Care about

this thing?

Page 4: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Deliverability

Page 5: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

“Changeability”

Page 6: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Immutability for stateless services

!(more on that later)

Page 7: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

The “what” is just a subset of the “How”

Page 8: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Images

Page 9: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Packages

Page 10: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

appliances

Page 11: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Environments

Page 12: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Configuration is the heart of the

build process

Page 13: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Immutability

Page 14: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Stateless systems often do hold some

form of state

Page 15: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

There are still (lots of) unsolved problems around

orchestration

Page 16: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

The result is sometimes Binary

Page 17: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Single Node convergence

Page 18: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Production is generally Composed of many different

roles

Page 19: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

The pinnacle of infrastructure

integration is multi-node orchestration

Page 20: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014
Page 21: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014
Page 22: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

But what about isolation?

Page 23: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Deliverables

Page 24: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Humans are bad at repetitive tasks

Page 25: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Does it work?

Page 26: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

rspec-puppet

Page 27: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Beaker

Page 28: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

puppet agent -t

Page 29: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

How do we get it live?

Page 30: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Capistrano

Page 31: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

r10k

Page 32: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Kafo

Page 33: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

…In production

Does it Work?

Page 34: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Run puppet via monitoring systems

Page 35: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

is it Proper?

Page 36: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

puppet-lint

Page 37: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Recap!

Page 38: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Integrate!

Page 39: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Validate!

Page 40: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

deliver it!

Page 41: Continuous Delivery of Puppet-Based Infrastructure - PuppetConf 2014

Thanks!Sam Kottler @samkottler

[email protected] https://github.com/skottler