lscc 2014 "crafting devops: applying software craftsmanship to devops"
DESCRIPTION
My thoughts on applying software craftsmanship principles to the world on DevOps. Presented at the London Software Craftsmanship Community, July 18th 2014TRANSCRIPT
“Crafting DevOps” Applying software craftsmanship to DevOps…
Daniel Bryant
[email protected]@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 Manifestohttp://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
10/04/2023 @danielbryantuk
Antifragility
• The opposite of fragile– Must be robust first– Fault-tolerant design patterns
• Netflix are best-in-class– bit.ly/1gs5n3q
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”
10/04/2023 @danielbryantuk
3. Crafting “Infrastructure as Code”
• Continuous Integration for Infrastructure– DevOps Weekly (Gareth Rushgrove)– www.ustream.tv/recorded/46670676
• Infrastructure test pyramid
Crafting Puppet
• TDD your infrastructure– puppetlabs.com/blog/test-driven-development-wi
th-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/
10/04/2023 @danielbryantuk
Infrastructure Integration Testing
• serverspec.org
• Test server state via ssh access
• Awesome, but not quick
Summary
Software Craftsmanship principles are not only relevant to the application code
It’s turtles all the way down…
…including the deployment and infrastructure coderequired for the continuous delivery of valuable software
Well crafted DevOps can help here!
10/04/2023 @danielbryantuk
Thanks For Listening
• Questions / comments?– [email protected]– @danielbryantuk
• This was a beta lightning talk– Let me know if you want to hear more!
10/04/2023 @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