Moving to a DevOps mode - easy, hard or just plain terrifying? - Daniel Bryant and Steve Poole
1. MOVING TO A
DEVOPS MODE:
EASY, HARD OR JUST PLAIN TERRIFYING?
@spoole167 #DevOps
@danielbryantuk
2. Your Guides for Today’s Journey into DevOps…
Daniel Bryant
Principal Consultant, OpenCredo
ü Full-Stack Developer
ü Open Source Advocate
ü Agile, Continuous Delivery and DevOps
ü Finding problems, then solutions
Steve Poole
IBM Developer
ü Making Java Real Since Version 0.9
ü Open Source Advocate
ü DevOps Practitioner (whatever that means!)
ü Driving Change
@spoole167 #DevOps
@danielbryantuk
3. Our Goals…
• DevOps is about extending ‘agility’ across your IT organisation
• Implementing this is not going to be easy…
• … some things will be hard, some things terrifying
• However, there are real benefits
@spoole167 #DevOps
@danielbryantuk
4. In the
beginning
##DDeVvXOFpRs1
4{session hashtag}
@spoole1@67Y o@urdTawniitetelbrHryaanndtulek
5. Design, Code
Unit test
Fix bugs
Functional Test
System test
Stage
Configure
Fix bugs
Helpline
Monitor, backup
upgrade, support, repair
security, compliance
Uses
reality chasm
@spoole167 #DevOps
@danielbryantuk
6. Reinforced team separation
Long feedback cycles
Long time-to-market
Tended to increase
‘Release Panic’
BIG
Reality
DEV
Chasm
OPS
@spoole167 #DevOps
@danielbryantuk
7. Time
# of bugs
Start to panic
here
Really panic
here
DEV
Value here
Client
£
OPS
QA
@spoole167 #DevOps
@danielbryantuk
8. Time
# of bugs
Start to panic
here
Really panic
here
DEV
Value here
Client
OPS
QA
No
@spoole167 #DevOps
@danielbryantuk
9. Feedback here
Time
# of bugs
Value here
Client
OPS
QA
DEV
£
@spoole167 #DevOps
@danielbryantuk
10. £
Time
# of bugs
And here
Client
OPS
QA
DEV
I want value
here
@spoole167 #DevOps
@danielbryantuk
11. £
Time
# of bugs
Client
OPS
Move Left
QA
DEV
@spoole167 #DevOps
@danielbryantuk
12. Break
down the
silos…
##DDeVvXOFpRs1
4{session hashtag}
@spoole1@67Y o@urdTawniitetelbrHryaanndtulek
13. ü Culture
ü Common goals
ü Shared responsibility
ü Education
ü Standard technology
@spoole167 #DevOps
@danielbryantuk
14. Netflix are not Unicorns!
Neither are Amazon, etsy, Spotify…
…and anyway…
@spoole167 #DevOps
@danielbryantuk
16. • Culture drives behaviour, drives culture…
• “Communication, simplicity, feedback, courage”
• Everyone is responsible for delivery
• Continuous experimentation and learning
• Not easy to change culture
• The hardest part of DevOps…
• …but you will learn new things
@spoole167 #DevOps
@danielbryantuk
17. • Greenfield
• Flickr’s story (slidesha.re/sHpYV)
• “Why other people don’t get it”
• Sandro Mancuso (slidesha.re/1bcStpe)
• Enterprise
• “The Phoenix Project” (Gene Kim et al)
@spoole167 #DevOps
@danielbryantuk
18. • Create an effective team…
• “Habits of highly effective technical teams”
• Martijn Verburg (bit.ly/1aF9SnK)
• “Patterns of Effective Teams”
• Dan North (vimeo.com/68226771)
• Buy some doughnuts…
• Andrzej Grzesik (bit.ly/1o6TY01)
@spoole167 #DevOps
@danielbryantuk
19. …so how does this work for individual teams?
@spoole167 #DevOps
@danielbryantuk
20. Interlude…
CD and
DevOps
##DDeVvXOFpRs1
4{session hashtag}
@spoole1@67Y o@urdTawniitetelbrHryaanndtulek
21. • Create a build and deployment pipeline
• Adopting Continuous Delivery
• Jez Humble (http://bit.ly/1oEReUM)
• Implementing Continuous Delivery
• Rachel Laycock (http://bit.ly/1l1qMPf)
@spoole167 #DevOps
@danielbryantuk
22. Build
Build
Orchestration
Continuous Integration
JUnit
SCM
Unit
Test
@spoole167 #DevOps
@danielbryantuk
26. Startups through to big businesses are demanding the value that
DevOps & Cloud Technologies can offer
1. Production deployment pipeline up and running in days
2. Updates published in hours
DevOps helps transition an organization into this new world…
Helps to remove the ‘reality chasm’
@spoole167 #DevOps
@danielbryantuk
27. The cost?
1. Standardized pipelines
2. Dev and Ops teams working together
3. Greatly expanding your horizons and your technical skills
4. Leaving your comfort zone
@spoole167 #DevOps
@danielbryantuk
28. Make
your
move…
##DDeVvXOFpRs1
4{session hashtag}
@spoole1@67Y o@urdTawniitetelbrHryaanndtulek
30. • Continuous Integration
• Unit / Integration Tests
• Automate all the things
• Stop throwing stuff over the wall…
• …or we’ll throw you over it too!
@spoole167 #DevOps
@danielbryantuk
31. • Design patterns
• Asynchronous communication
• Timeouts / retries
• Bulkheads / circuit-breakers
• Metrics are your friend
• Technical and business data
• Logging (centralised)
@spoole167 #DevOps
@danielbryantuk
32. • Learn Linux fundamentals
• Diagnostic skills
• top, iotop, iostat, netstat, vmstat
• Java utils: jps, jstat, jmap, jhat
• “DevOps Troubleshooting” by K. Rankin
@spoole167 #DevOps
@danielbryantuk
34. • Automate all the things…
• Tests can be specifications
• Specifications can be tests…
• Make it easy for everyone to execute
• Make it fast (and conditional)
• Contribute to the build pipeline
• If you want people to care, then fail the build!
@spoole167 #DevOps
@danielbryantuk
35. • Unit and Intra-component integration testing
• Utilise embedded datastore/middleware
• Service Virtualisation (www.mbtest.org)
• Inter-component integration testing
• The hardest part of SOA…
• Consider ‘synthetic txns’ (active monitoring)
• Performance
• JMeter + plugins
• Gatling
@spoole167 #DevOps
@danielbryantuk
44. Are you personally ready?
• Do you use Agile techniques?
• Can you spell “Continuous Integration”?
• Are the advantages of DevOps clear?
• Could you communicate them to your Dev & Ops teams?
@spoole167 #DevOps
@danielbryantuk
46. Businesses need to be able to react faster…
…DevOps and the Cloud are key enablers
DevOps is as much a game changer as Agile was…
…this is a Developer, QA and Ops “renaissance”
Don’t be afraid to learn and experiment…
…you’ll benefit even if the tech doesn’t survive
Agile moved you closer to the customer…
…DevOps moves you closer to the IT team
@spoole167 #DevOps
@danielbryantuk
47. You should be terrified
The transition will be hard
But it’s easy to get started
@spoole167 #DevOps
@danielbryantuk
48. Thanks
Q & A
##DDeVvXOFpRs1
4{session hashtag}
@spoole1@67Y o@urdTawniitetelbrHryaanndtulek