Transcript
Page 1: How to choose tools for DevOps

How to choose tools for DevOps

Matthew Skelton, Skelton Thatcher Consulting

Unicom DevOps Summit, 26 June 2014, London, UK

#unidevops

Page 2: How to choose tools for DevOps

Collaboration

Learning

Singleton tools

Conway’s Law

Page 3: How to choose tools for DevOps

Matthew Skelton•15 years building & operating software systems

•Cybernetics + Neuroscience• control engineering• psychology• ‘network’ interactions

@matthewpskelton

Page 4: How to choose tools for DevOps

Help orgs to adopt and sustain good engineering practices

Interim CTO/Head of X, tech strategy, architecture, workshops, delivery

Page 5: How to choose tools for DevOps

DevOpsOngoing, highly effective

collaboration between Development and Operations*

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

Commercial, Marketing, etc.

Page 6: How to choose tools for DevOps

Not DevOps“Automation”

“Build & Release”

“Infrastructure Development”

“System Administration”

Page 7: How to choose tools for DevOps
Page 8: How to choose tools for DevOps

Collaboration

Page 9: How to choose tools for DevOps

1. Version Control

Page 10: How to choose tools for DevOps
Page 11: How to choose tools for DevOps
Page 12: How to choose tools for DevOps
Page 13: How to choose tools for DevOps
Page 14: How to choose tools for DevOps
Page 15: How to choose tools for DevOps
Page 16: How to choose tools for DevOps

2. Deployment Pipeline

Page 17: How to choose tools for DevOps
Page 18: How to choose tools for DevOps
Page 19: How to choose tools for DevOps
Page 20: How to choose tools for DevOps

Challenges were:•Limited Git skills in Service team

•Manual deployments

•‘Snowflake’ servers

•No CI

•Risks: security, automation, etc

Page 21: How to choose tools for DevOps

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

Page 22: How to choose tools for DevOps

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 23: How to choose tools for DevOps

Results•Security: happy

•Service team: relieved (& happy)

•Developers: won over (& happy)

•Business: surprised (& happy)

Page 24: How to choose tools for DevOps

3. Log Aggregation

Page 25: How to choose tools for DevOps

LogStash•ElasticSearch+ LogStash+ Kibana•ELK

•In Production, Pre-Prod, Test

•On developer machines!!!

Page 26: How to choose tools for DevOps

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

Page 27: How to choose tools for DevOps

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 28: How to choose tools for DevOps

Learning

Page 29: How to choose tools for DevOps
Page 30: How to choose tools for DevOps
Page 31: How to choose tools for DevOps

Learning & tool choice

Bring people with you

Appreciate current skills

Prefer achievable gains now

Avoid fear of too-scary tools

Page 32: How to choose tools for DevOps

Singleton tools

Page 33: How to choose tools for DevOps
Page 34: How to choose tools for DevOps

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

Page 35: How to choose tools for DevOps

Singleton toolBreaks feedback (learning) loop

from Production

Makes CI/CD more difficult

Underestimates value of collaboration and learning

Page 36: How to choose tools for DevOps

Conway’s Law

Page 37: How to choose tools for DevOps

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 38: How to choose tools for DevOps

?

Page 39: How to choose tools for DevOps

DevOps Topologies

Page 40: How to choose tools for DevOps

DevOps Topologies

Page 41: How to choose tools for DevOps

DevOps Topologies

Page 42: How to choose tools for DevOps

DevOps Topologies

Page 43: How to choose tools for DevOps

Conway & Tool Choice

See the organisation as a system

Separate tools for separate teams

Shared tools for collaborative teams

http://bit.ly/DevOpsTopologies

Page 44: How to choose tools for DevOps

Conway’s Law•Allan Kelly - @allankellynet

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

Page 45: How to choose tools for DevOps
Page 46: How to choose tools for DevOps

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 47: How to choose tools for DevOps

Further readingHighOps Operability eBook

bit.ly/OperabilityEbookBuild Quality In

buildqualityin.com

Page 48: How to choose tools for DevOps

Thank youmatthewskelton.net / @matthewpskelton

skeltonthatcher.com

HT: @Squire_Matt, @alan_parkinson


Top Related