jax london 2014 "moving to devops mode: easy, hard or just plain terrifying?"
DESCRIPTION
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. This talk was presented with Steve Poole (@spoole167) at JAX London, October 2014TRANSCRIPT
![Page 1: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/1.jpg)
@spoole167 @danielbryantuk #DevOps
MOVING TO A DEVOPS MODE:
EASY, HARD OR JUST PLAIN TERRIFYING?
![Page 2: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/2.jpg)
@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 ü 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
![Page 3: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/3.jpg)
@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
![Page 4: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/4.jpg)
@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps
In the beginning
![Page 5: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/5.jpg)
@spoole167 @danielbryantuk #DevOps
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
![Page 6: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/6.jpg)
@spoole167 @danielbryantuk #DevOps
Reinforced team separation Long feedback cycles Long time-to-market
Tended to increase ‘Release Panic’
BIG Reality Chasm DEV OPS
![Page 7: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/7.jpg)
@spoole167 @danielbryantuk #DevOps Time
# o
f bug
s
Start to panic here
Really panic here
DEV OPS
QA Client
£ Value here
![Page 8: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/8.jpg)
@spoole167 @danielbryantuk #DevOps Time
# o
f bug
s
Start to panic here
Really panic here
DEV OPS
QA Client
No Value here
![Page 9: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/9.jpg)
@spoole167 @danielbryantuk #DevOps Time
# o
f bug
s
Feedback here
OPS
Client
DEV
Feedback here Feedback here
QA £
Value here
![Page 10: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/10.jpg)
@spoole167 @danielbryantuk #DevOps Time
# o
f bug
s
OPS
Client
DEV
QA
£
I want value here
And here
![Page 11: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/11.jpg)
@spoole167 @danielbryantuk #DevOps Time
# o
f bug
s
OPS
Client
DEV
QA
£ Move Left
![Page 12: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/12.jpg)
@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps
Break down the silos…
![Page 13: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/13.jpg)
@spoole167 @danielbryantuk #DevOps
ü Culture
ü Common goals
ü Shared responsibility
ü Education
ü Standard technology
![Page 14: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/14.jpg)
@spoole167 @danielbryantuk #DevOps
Netflix are not Unicorns!
Neither are Amazon, etsy, Spotify…
…and anyway…
![Page 15: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/15.jpg)
@spoole167 @danielbryantuk #DevOps
![Page 16: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/16.jpg)
@spoole167 @danielbryantuk #DevOps
• 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
![Page 17: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/17.jpg)
@spoole167 @danielbryantuk #DevOps
• 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)
![Page 18: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/18.jpg)
@spoole167 @danielbryantuk #DevOps
• 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)
![Page 19: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/19.jpg)
@spoole167 @danielbryantuk #DevOps
…so how does this work for individual teams?
![Page 20: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/20.jpg)
@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps
Interlude… CD and DevOps
![Page 21: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/21.jpg)
@spoole167 @danielbryantuk #DevOps
• Create a build and deployment pipeline
• Adopting Continuous Delivery • Jez Humble (http://bit.ly/1oEReUM)
• Implementing Continuous Delivery • Rachel Laycock (http://bit.ly/1l1qMPf)
![Page 22: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/22.jpg)
@spoole167 @danielbryantuk #DevOps
Continuous Integration
JUnit
SCM Build
Build Orchestration
Unit Test
![Page 23: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/23.jpg)
@spoole167 @danielbryantuk #DevOps
Continuous Integration
JUnit
Continuous Delivery
Repository
Performance & QA
Deployment tools
![Page 24: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/24.jpg)
@spoole167 @danielbryantuk #DevOps
Continuous Integration
JUnit
Continuous Delivery
Continuous Deployment
Hosting
Deployment tools
![Page 25: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/25.jpg)
@spoole167 @danielbryantuk #DevOps
Continuous Deployment Pipeline
External Cloud
On premises cloud
Clo
ud
Dep
loym
ent
Orc
hest
rato
r JUnit
![Page 26: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/26.jpg)
@spoole167 @danielbryantuk #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’
![Page 27: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/27.jpg)
@spoole167 @danielbryantuk #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
![Page 28: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/28.jpg)
@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps
Make your move…
![Page 29: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/29.jpg)
@spoole167 @danielbryantuk #DevOps
![Page 30: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/30.jpg)
@spoole167 @danielbryantuk #DevOps
• Continuous Integration • Unit / Integration Tests
• Automate all the things
• Stop throwing stuff over the wall… • …or we’ll throw you over it too!
![Page 31: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/31.jpg)
@spoole167 @danielbryantuk #DevOps
• Design patterns • Asynchronous communication
• Timeouts / retries
• Bulkheads / circuit-breakers
• Metrics are your friend • Technical and business data
• Logging (centralised)
![Page 32: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/32.jpg)
@spoole167 @danielbryantuk #DevOps
• Learn Linux fundamentals
• Diagnostic skills • top, iotop, iostat, netstat, vmstat
• Java utils: jps, jstat, jmap, jhat
• “DevOps Troubleshooting” by K. Rankin
![Page 33: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/33.jpg)
@spoole167 @danielbryantuk #DevOps
![Page 34: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/34.jpg)
@spoole167 @danielbryantuk #DevOps
• 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!
![Page 35: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/35.jpg)
@spoole167 @danielbryantuk #DevOps
• 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
![Page 36: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/36.jpg)
@spoole167 @danielbryantuk #DevOps
![Page 37: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/37.jpg)
@spoole167 @danielbryantuk #DevOps
• Learn about coding (pair program!) • Python, Ruby, Groovy
• Get closer to Dev & QA • Provide constant feedback
• Embrace chaos for testing • Simian army…
![Page 38: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/38.jpg)
@spoole167 @danielbryantuk #DevOps
• Infrastructure monitoring • Nagios / Zabbix
• AppDynamics / Zipkin
• Several trail-blazers • Etsy (www.codeascraft.com) • Netflix (techblog.netflix.com)
![Page 39: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/39.jpg)
@spoole167 @danielbryantuk #DevOps
![Page 40: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/40.jpg)
@spoole167 @danielbryantuk #DevOps
![Page 41: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/41.jpg)
@spoole167 @danielbryantuk #DevOps
• “Infrastructure as Code”
• Automate all provisioning • Chef, Puppet, SaltStack, Ansible • Packer, Veewee, Aminator
• Play with Vagrant (www.vagrantup.com)
• The future? • LXC, Docker • Mesos, Kubernetes, CoreOS Fleet
![Page 42: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/42.jpg)
@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps
Why not?
![Page 43: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/43.jpg)
@spoole167 @danielbryantuk #DevOps
![Page 44: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/44.jpg)
@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?
![Page 45: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/45.jpg)
@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps
Summary
![Page 46: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/46.jpg)
@spoole167 @danielbryantuk #DevOps
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
![Page 47: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/47.jpg)
@spoole167 @danielbryantuk #DevOps
You should be terrified
The transition will be hard
But it’s easy to get started
![Page 48: JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"](https://reader034.vdocuments.us/reader034/viewer/2022051817/547ed1dbb37959442b8b560b/html5/thumbnails/48.jpg)
@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps
Thanks Q & A