lscc 2014 "crafting devops: applying software craftsmanship to devops"

16
“Crafting DevOps” Applying software craftsmanship to DevOps… Daniel Bryant [email protected] @danielbryantuk

Upload: daniel-bryant

Post on 15-Jan-2015

1.651 views

Category:

Documents


3 download

DESCRIPTION

My thoughts on applying software craftsmanship principles to the world on DevOps. Presented at the London Software Craftsmanship Community, July 18th 2014

TRANSCRIPT

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

“Crafting DevOps” Applying software craftsmanship to DevOps…

Daniel Bryant

[email protected]@danielbryantuk

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

Software Craftsmanship

More than just clean code…

…but how does this apply to (Dev)Ops

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

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

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

Continuous Delivery

• Continuous Integration++

• Many of us having been doing this for years…

• “DevOps” - just a label (or a philosophy)?

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

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)

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

1. Application (*service) Craftsmanship

Page 7: LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"
Page 8: LSCC 2014 "Crafting DevOps: Applying Software Craftsmanship to DevOps"

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

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

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”

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

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

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

10/04/2023 @danielbryantuk

Infrastructure Integration Testing

• serverspec.org

• Test server state via ssh access

• Awesome, but not quick

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

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!

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

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!