DevOps – is it for you? Heard about the wonderful ways it could benefit your organisation, but put off by the scary stories? Can you really make the transition to DevOps, and is it worth it? Listen and learn from two DevOps practitioners about their hands-on experiences in making the change. Covering a range of real life examples, this talk will explain the real business benefits to be had from using DevOps techniques, as well as the technical and personal aspects involved.
Whether it’s a small team within a startup or one of hundreds within a large organisation, this talk has practical advice on how to approach the challenge, what critical changes need to be considered, and what tools and processes are best suited for the situation. The adoption of DevOps is a game changing event for the industry. Learn why and learn how you can benefit from it too.
2. @spoole167 @danielbryantuk
#DevOps
Your Guides for Today’s Journey into DevOps…
Daniel Bryant
Principal Consultant, OpenCredo
ü Full-Stack Developer
ü Open Source Advocate
ü Agile, Continuous Delivery and DevOps
ü Aspiring Software Craftsman
Steve Poole
IBM Developer
ü Making Java Real Since Version 0.9
ü Open Source Advocate
ü DevOps Practitioner (whatever that means!)
ü Driving Change
3. @spoole167 @danielbryantuk
#DevOps
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
5. @spoole167 @danielbryantuk
#DevOps
Once upon a time the universe was static
Design, Code
Unit test
Functional Test
System test
Stage
Configure
Fix bugs
Fix bugs
Helpline
Monitor, backup
upgrade, support, repair
security, compliance
Uses
reality chasm
6. @spoole167 @danielbryantuk
#DevOps
This was called “Waterfall”
Reinforced team separation
Long feedback cycles
Long time-to-market
Tended to increase
‘Release Panic’
BIG
Reality
Chasm
DEV
OPS
16. @spoole167 @danielbryantuk
#DevOps
Culture is Vital
• 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
17. @spoole167 @danielbryantuk
#DevOps
Changing Culture
• 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)
18. @spoole167 @danielbryantuk
#DevOps
Changing Culture
• 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 (http://www.youtube.com/watch?v=OFr0PoIIdvk)
25. @spoole167 @danielbryantuk
#DevOps
Base it on virtualization technologies
Continuous Deployment Pipeline
External Cloud
On premises cloud
Cloud
Deployment
Orchestrator
JUnit
26. @spoole167 @danielbryantuk
#DevOps
The imperative of DevOps
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’
27. @spoole167 @danielbryantuk
#DevOps
The imperative of DevOps
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
30. @spoole167 @danielbryantuk
#DevOps
Contribute to the pipeline
• Continuous Integration
• Unit / Integration Tests
• Automate all the things
• Stop throwing stuff over the wall…
• …or we’ll throw you over it too!
31. @spoole167 @danielbryantuk
#DevOps
Moving closer to Ops
• Design patterns
• Asynchronous communication
• Timeouts / retries
• Bulkheads / circuit-breakers
• Metrics are your friend
• Technical and business data
• Logging (centralised)
32. @spoole167 @danielbryantuk
#DevOps
Thinking/Acting like a sysadmin
• Learn Linux fundamentals
• Diagnostic skills
• top, iotop, iostat, netstat, vmstat
• Java utils: jps, jstat, jmap, jhat
• “DevOps Troubleshooting” by K. Rankin
• Maybe grow a beard…
34. @spoole167 @danielbryantuk
#DevOps
Automating QA
• 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!
37. @spoole167 @danielbryantuk
#DevOps
Ops should be operational…
• Learn about coding (pair program!)
• Python, Ruby, Groovy
• Get closer to Dev & QA
• Provide constant feedback
• Embrace chaos for testing
• Simian army…
41. @spoole167 @danielbryantuk
#DevOps
Say No To Snowflakes!
• “Infrastructure as Code”
• Version control everything
• Automate all provisioning
• Chef, Puppet, SaltStack, Python, AWS CLI
• Play with Vagrant (www.vagrantup.com)
• Docker and Packer are also interesting
44. @spoole167 @danielbryantuk
#DevOps
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?
46. @spoole167 @danielbryantuk
#DevOps
Summary
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