devoxxuk 2014 "moving to a devops mode: easy, hard, or just plain terrifying?"

48
@spoole167 @danielbryantuk #DevOps MOVING TO A DEVOPS MODE: EASY, HARD OR JUST PLAIN TERRIFYING? Daniel Bryant Steve Poole @danielbryantuk @spoole167

Post on 14-Sep-2014

924 views

Category:

Technology


0 download

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.

TRANSCRIPT

Page 1: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

MOVING TO A DEVOPS MODE: EASY, HARD OR JUST PLAIN TERRIFYING?

Daniel Bryant Steve Poole @danielbryantuk @spoole167

Page 2: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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

Page 3: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps

Page 5: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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

Page 6: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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

Page 7: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Waterfall - more a roller-coaster ride…

Time

# o

f bug

s Start to panic

here

DEV OPS

QA Client

£ Value here

Really panic here

Reality Chasm

Page 8: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

If you fell into the reality chasm…

Time

# o

f bug

s Start to panic

here

Really panic here

DEV OPS

QA Client

No Value here

Page 9: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Agile helps reduce the chasm

Time

# o

f bug

s Feedback here

OPS

Client

DEV

Feedback here Feedback here

QA £

Value here

Page 10: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

But now clients say…

Time

# o

f bug

s

OPS

Client

DEV

QA

£

I want value here

And here

Page 11: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

The new challenge – we can’t afford the gap

Time

# o

f bug

s

OPS

Client

DEV

QA

Move Left

Page 12: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps

Page 13: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

How to bring Dev, QA & Ops together?

ü Culture

ü Common goals

ü Shared responsibility

ü Education

ü Standard technology

Page 14: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Netflix are not Unicorns!

Neither are Amazon, etsy, Spotify…

and besides…

Page 15: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Change your mindset…

Page 16: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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

Page 17: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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)

Page 18: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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)

Page 19: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

We’ve all got issues…

Great, so how does this work for individual teams?

Page 20: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps

Page 21: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Continuous Delivery and DevOps go hand-in-hand…

•  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: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Start with automated build & unit test

Continuous Integration

JUnit

SCM Build

Build Orchestration

Unit Test

Page 23: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Add staging for automated QA

Continuous Integration

JUnit

Continuous Delivery

Repository

Performance & QA

Deployment tools

Page 24: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Add “automatic(ish) deployment to production™”

Continuous Integration

JUnit

Continuous Delivery

Continuous Deployment

Hosting

Deployment tools

Page 25: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Base it on virtualization technologies

Continuous Deployment Pipeline

External Cloud

On premises cloud

Clo

ud

Dep

loym

ent

Orc

hest

rato

r JUnit

Page 26: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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’

Page 27: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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

Page 28: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps

Page 29: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Developers…

Page 30: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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!

Page 31: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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)

Page 32: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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…

Page 33: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

QA…

Page 34: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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!

Page 35: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Automating QA

•  Unit and Intra-component integration testing •  Spock is awesome •  Utilise embedded datastore/middleware

•  Performance •  JMeter + plugins •  Gatling

•  Website •  Geb (Groovy + Selenium)

Page 36: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Operations…

Page 37: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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…

Page 38: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Monitoring is mandatory

•  Infrastructure monitoring •  Nagios

•  Zabbix

•  Splunk •  AppDynamics

•  Several trail-blazers •  Etsy (www.codeascraft.com)

•  Netflix (techblog.netflix.com)

Page 39: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Graphing…

Page 40: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Graphing…

Page 41: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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

Page 42: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps

Page 43: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Who here ‘does’ Agile?

Page 44: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps

Page 46: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@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

Page 47: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@spoole167 @danielbryantuk #DevOps

Moving to a DevOps Mode…

You should be terrified

The transition will be hard

But it’s easy to get started

Page 48: DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"

@YourTwitterHandle #DVXFR14{session hashtag} @spoole167 @danielbryantuk #DevOps