moving to a devops mode – easy, hard or just plain terrifying?

Post on 13-Sep-2014

663 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides from my and Daniel Bryant's (@danielbryantuk) talk at Devoxx UK2014 http://www.devoxx.co.uk/2014/03/moving-to-a-devops-mode-easy-hard-or-just-plain-terrifying/ 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

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

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

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

Daniel Bryant Steve Poole@danielbryantuk @spoole167Daniel Bryant Steve Poole@danielbryantuk @spoole167

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Your Guides for Today’s Journey into 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

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Our Goals…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

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

In th

e

begi

nni

ng

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Once upon a time the universe was staticOnce upon a time the universe was static

Design, Code Unit test

Functional TestSystem test

Stage Configure

Fix bugsFix bugsHelpline

Monitor, backupupgrade, support,

repairsecurity, compliance

Usesreality chasm

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

This was called “Waterfall” This was called “Waterfall”

Reinforced team separation

Long feedback cycles Long time-to-market

Tended to increase ‘Release Panic’

BIGRealityChasmDEVDEV OPSOPS

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Waterfall - more a roller-coaster ride…Waterfall - more a roller-coaster ride…

Time

# o

f bu

gs

Start to panichere

DEVDEVOPSOPS

QAQA

ClientClient£

Value here

Really panichere

Reality Chasm

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

If you fell into the reality chasm…If you fell into the reality chasm…

Time

# o

f bu

gs

Start to panichere Really

panichere

DEVDEVOPSOPS

QAQA

ClientClient

NoValue here

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Agile helps reduce the chasm Agile helps reduce the chasm

Time

# o

f bu

gs

Feedback here

OPSOPS

ClientClient

DEVDEV

Feedback here

Feedback here

QAQA£

Value here

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

But now clients say…But now clients say…

Time

# o

f bu

gs

OPSOPS

ClientClient

DEVDEV

QAQA

£

I want valuehere

And here

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

The new challenge – we can’t afford the gapThe new challenge – we can’t afford the gap

Time

# o

f bu

gs

OPSOPS

ClientClient

DEVDEV

QAQA

Move LeftMove Left

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

Break

down

the

silo

s…

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

How to bring Dev, QA & Ops together?How to bring Dev, QA & Ops together?

Culture

Common goals

Shared responsibility

Education

Standard technology

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Netflix are not Unicorns!Netflix are not Unicorns!

Neither are Amazon, etsy, Spotify…

and besides…

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Change your mindset…Change your mindset…

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Culture is VitalCulture 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

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Changing CultureChanging 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)

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Changing CultureChanging 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)

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

We’ve all got issues…We’ve all got issues…

Great, so how does this work for individual teams?

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

Inte

rlud

e

…CD a

nd

DevOps

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Continuous Delivery and DevOps go hand-in-hand…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)

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Start with automated build & unit testStart with automated build & unit test

Continuous IntegrationContinuous Integration

JUnitJUnit

SCM BuildBuild Orchestration

UnitTest

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Add staging for automated QAAdd staging for automated QA

Continuous IntegrationContinuous Integration

JUnitJUnit

Continuous DeliveryContinuous Delivery

Repository

Performance & QA

Deployment tools

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Add “automatic(ish) deployment to production™” Add “automatic(ish) deployment to production™”

Continuous IntegrationContinuous Integration

JUnitJUnit

Continuous DeliveryContinuous Delivery

Continuous DeploymentContinuous Deployment

Hosting

Deployment tools

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Base it on virtualization technologiesBase it on virtualization technologies

Continuous Deployment PipelineContinuous Deployment Pipeline

External CloudExternal CloudOn premises cloudOn premises cloud

Clo

ud

Dep

loym

ent

Orc

hest

rato

r

Clo

ud

Dep

loym

ent

Orc

hest

rato

rJUnitJUnit

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

The imperative of DevOpsThe 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’

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

The imperative of DevOpsThe 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

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

Mak

e

your

mov

e…

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Developers…Developers…

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Contribute to the pipelineContribute 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!

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Moving closer to OpsMoving closer to Ops

• Design patterns

• Asynchronous communication

• Timeouts / retries

• Bulkheads / circuit-breakers

• Metrics are your friend

• Technical and business data

• Logging (centralised)

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Thinking/Acting like a sysadminThinking/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…

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

QA…QA…

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Automating QAAutomating 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!

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Automating QAAutomating QA

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

• Performance• JMeter + plugins • Gatling

• Website• Geb (Groovy + Selenium)

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Operations…Operations…

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Ops should be operational…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…

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Monitoring is mandatoryMonitoring is mandatory

• Infrastructure monitoring

• Nagios

• Zabbix

• Splunk

• AppDynamics

• Several trail-blazers

• Etsy (www.codeascraft.com)

• Netflix (techblog.netflix.com)

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Graphing…Graphing…

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Graphing…Graphing…

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Say No To Snowflakes!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

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

Why

not

?

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Who here ‘does’ Agile?Who here ‘does’ Agile?

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Are you personally ready?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?

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

Sum

mar

y

@spoole167 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

SummarySummary

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 @danielbryantuk @spoole167 @danielbryantuk #DevOps#DevOps

Moving to a DevOps Mode…Moving to a DevOps Mode…

You should be terrified

The transition will be hard

But it’s easy to get started

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

Than

ks

Q &

A

top related