how to choose tools for devops and continuous delivery - unicom devops summit nov 2014 london

59
How to choose tools for DevOps and Continuous Delivery Matthew Skelton, Skelton Thatcher Consulting UNICOM DevOps Summit, 20 November 2014, London #unicomdevops

Upload: skelton-thatcher-consulting-ltd

Post on 02-Jul-2015

244 views

Category:

Software


4 download

DESCRIPTION

With an ever-increasing array of tools and technologies claiming to 'enable DevOps', how do we know which tools to try or to choose? In-house, open source, or commercial? Ruby or shell? Dedicated or plugins? It transpires that highly collaborative practices such as DevOps and Continuous Delivery require new ways of assessing tools and technologies in order to avoid creating new silos. Matthew Skelton shares his recent experience of helping many different organisations to evaluate and select tools to facilitate DevOps; the recommendations may surprise you.

TRANSCRIPT

Page 1: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

How to choose tools for DevOps and

Continuous Delivery

Matthew Skelton, Skelton Thatcher Consulting

UNICOM DevOps Summit, 20 November 2014, London#unicomdevops

Page 2: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Collaboration

Learning

Singleton tools

Conway’s Law

Page 3: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Matthew Skelton

•Building & operating software systems since 1998

•Cybernetics + Neuroscience + Music• control engineering

• psychology

• ‘network’ and group interactions

@matthewpskelton

Page 4: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

We help you to transform your technology and teams

for ‘the cloud’

Page 5: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Recent clients

•Legal

•Donations

•Tourism

•Betting & gambling

•Travel booking

•Financial data & reporting

•Healthcare

Page 6: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Common themes•Online since ~1999

•Successful in their sector

•Large, central core database(s)

•Non-aligned goals

•Need to adopt DevOps and Continuous Delivery

Page 7: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Common needs

•Technology selection ticklists

•Team interactions

•Collaboration opportunities

•Tools as catalysts

Page 8: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 9: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Continuous Delivery

•A scientific approach to changing software systems (Dave Farley)

•Regular, rapid, repeatable, reliable changes

Page 10: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Continuous Delivery

•Quality

•Safety

•Reliability

•Psychology

•Effectiveness

Page 11: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 12: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

DevOps“Highly effective, daily collaboration between software developers and IT

operations people to produce relevant, working systems” *

*also QA/Testing, IT Service Desk, Programme Management,

Commercial, Marketing, etc.

Page 13: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Not DevOps

“Automation”

“Build & Release”

“Infrastructure Development”

“System Administration”

Page 14: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 15: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Collaboration

Page 16: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

1. Version Control

Page 17: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 18: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 19: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 20: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 21: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 22: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 23: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

2. Deployment Pipeline

Page 24: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

A large online retailer

•Travel sector

•Since ~1999

•UK market

•‘Non-core’ applications

Page 25: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Challenges were:

•Limited Git skills in Service team

•Manual deployments

•‘Snowflake’ servers

•No CI

•Risks: security, automation, etc

Page 26: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

http://bit.ly/thetrainline-weekly-deploy

Page 27: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

What we did•Built a walking skeleton pipeline

•Modelled security roles and stages

• Included manual steps (at first)

•Walked people through steps

•Finally: opened firewall so everyone could see the UI

Page 28: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Results

•Security: happy

•Service team: relieved (& happy)

•Developers: won over (& happy)

•Business: surprised (& happy)

Page 29: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

3. Log Aggregation

Page 30: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

LogStash

•ElasticSearch+ LogStash+ Kibana•ELK

•In Production, Pre-Prod, Test

•On developer machines!!!

Page 31: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

http://rashidkpc.github.io/Kibana/images/screenshots/searchss.png

Page 32: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 33: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Collaboration & tool choice

Value collaboration as a key criterion

Orthogonal to main purpose (?)

“How does [the use of] this tool help people to collaborate?”

Page 34: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Learning

Page 35: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 36: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 37: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 38: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 39: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Learning & tool choice

Bring people with you

Appreciate current skills

Prefer achievable gains now

Avoid fear of too-scary tools

Page 40: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Singleton tools(or the ‘Prize Bull’ approach)

Page 41: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 42: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Singleton tools

•Special database server

•Costly log aggregation

•Costly monitoring

•Server configuration

Page 43: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

http://www.walpapershddownload.com/highland-cattle-wallpapers/

Page 44: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

“Better features”?

Optimise globally across the teams that need to collaborate

Page 45: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Singleton tool

Breaks feedback (learning) loop from Production

Makes CI/CD more difficult

Underestimates value of collaboration and learning

Page 46: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Conway’s Law

Page 47: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Mel Conway, 1968

“organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations”

http://www.melconway.com/Home/Conways_Law.html

Page 48: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Ruth Malan, 2008

“if the architecture of the system and the architecture of the organization are at odds, the architecture of the organization wins”

http://traceinthesand.com/blog/2008/02/13/conways-law/

Page 49: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 50: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

DevOps Topologies

Page 51: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

DevOps Topologies

Page 52: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

DevOps Topologies

Page 53: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

DevOps Topologies

Page 54: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Conway & Tool Choice

See the organisation as a system

Separate tools for separate teams

Shared tools for collaborative teams

http://bit.ly/DevOpsTopologies

Page 55: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Conway’s Law•Allan Kelly - @allankellynet

•https://vimeo.com/channels/londoncd

Page 56: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London
Page 57: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

How to choose tools for DevOps

Value collaboration aspects

Avoid a learning mountain: evolve tooling

Avoid Production-only tools

Consider Conway’s Law

(this list is incomplete!)

Page 58: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Further readingBuild Quality In

buildqualityin.com70% of royalties donated to Code Club

Discount for #unicomdevops: http://leanpub.com/buildqualityin/c/Unicom2014

Contributors from Unicom events:- James Betteley- Chris O’Dell- Niek Bartholomeus- John Clapham

Page 59: How to choose tools for DevOps and Continuous Delivery - Unicom DevOps Summit Nov 2014 London

Thank youmatthewskelton.net / @matthewpskelton

skeltonthatcher.com

HT: @Squire_Matt, @alan_parkinson