“Crafting DevOps”
Applying software craftsmanship to DevOps…
Daniel Bryant
daniel.bryant@opencredo.com
@danielbryantuk
Software Craftsmanship
More than just clean code…
…but how does this apply to (Dev)Ops
Continuous Delivery
“Our highest priority is to satisfy the customer through
early and continuous delivery of valuable software.”
Principle 1; 12 Principles behind the Agile Manifesto
http://agilemanifesto.org/principles.html
Continuous Delivery
• Continuous Integration++
• Many of us having been doing this for years…
• “DevOps” - just a label (or a philosophy)?
Lets break it down…
1. Operational influence on application code
– Fault tolerance, “Antifragility”
2. The build pipeline
– Fast feedback (and quality controls)
3. “Infrastructure as Code”
– Software Defined Everything (SDN, SDDC)
1. Application (*service) Craftsmanship
Antifragility
• The opposite of fragile
– Must be robust first
– Fault-tolerant design patterns
• Netflix are best-in-class
– bit.ly/1gs5n3q
17/07/2014 @danielbryantuk
2. Crafting a build pipeline
• Build tools
– Jenkins, Bamboo etc.
• “Ops as a Service” deployment orchestration
– Rundeck (rundeck.org)
• Supports good development
– “Communication, simplicity, feedback, courage”
3. Crafting “Infrastructure as Code”
• Continuous Integration for Infrastructure
– DevOps Weekly (Gareth Rushgrove)
– www.ustream.tv/recorded/46670676
• Infrastructure test pyramid
17/07/2014 @danielbryantuk
Crafting Puppet
• TDD your infrastructure
– puppetlabs.com/blog/test-driven-development-
with-puppet
• Rspec Puppet
– rspec-puppet.com/tutorial/
• Puppet Acceptance
– github.com/puppetlabs/puppet-acceptance
Crafting Chef
• TDD your infrastructure
– leopard.in.ua/2013/12/01/chef-and-tdd/
• ChefSpec
– github.com/sethvargo/chefspec
• FoodCritic
– acrmp.github.io/foodcritic/
Infrastructure Integration Testing
• serverspec.org
• Test server state via ssh access
• Awesome, but not quick
17/07/2014 @danielbryantuk
Summary
Software Craftsmanship principles are
not only relevant to the application code
It’s turtles all the way down…
…including the deployment and infrastructure code
required for the continuous delivery of valuable software
Well crafted DevOps can help here!
Thanks For Listening
• Questions / comments?
– daniel.bryant@opencredo.com
– @danielbryantuk
• This was a beta lightning talk
– Let me know if you want to hear more!
17/07/2014 @danielbryantuk
Image credits
[2]
http://wordplay.blogs.nytimes.com/2011/10/10/numberplay-
turtles-all-the-way-down/
[6,7]
http://12factor.net/
[10]puppetlabs.com/blog/test-driven-development-with-
puppet
17/07/2014 @danielbryantuk

LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"