O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Continuous Delivery:
Tools, Collaboration, and Conway's Law
Matthew Skelton, Skelton Thatcher Consulting
QCon London 2015,...
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese an...
Presented at QCon London
www.qconlondon.com
Purpose of QCon
- to empower software development by facilitating the spread o...
Collaboration
Tool Automation
Learning
Singleton tools
Conway’s Law
Matthew Skelton
• Building & operating
software systems since 1998
• Cybernetics + Neuroscience + Music
•  control engine...
Recent clients
Legal
Payments
Tourism
Betting
Travel booking
Financial services
Healthcare data
Common themes
•Online since ~1999
•Successful in their sector
•Large, central core database(s)
•Non-aligned team goals
•Op...
Common needs
•Technology selection ticklists
•Team interactions
•Collaboration opportunities
•Tools as catalysts
‘Delivery’ implies
‘fire and forget’
We must continue to care
after deployment
Continuous Delivery
Continuous Evolution of software systems
Small changes
High quality
Operationally excellent
Engaged te...
Delivery ≠ Deployment
Empower product & commercial
people to make features available
at the right time
Pull, not Push
Cont...
Regular, rapid, repeatable,
reliable changes
Automate most of the things
Continuous Delivery
Quality
Safety
Reliability
Psychology
Effectiveness
Continuous Delivery
DevOps
“Highly effective, daily collaboration
between software developers and IT
operations people to produce
relevant, wo...
Not DevOps
“Automation”
“Build & Release”
“Infrastructure Development”
“System Administration”
“Containers”
Collaboration
1. Version Control
2. Deployment Pipeline
A large online retailer
•Travel sector
•Since ~1999
•UK market
•‘Non-core’ applications
Challenges were:
•Limited Git skills in Service team
•Manual deployments
•‘Snowflake’ servers
•No CI
•Risks: security, aut...
What we did
•Built a walking skeleton pipeline
•Modelled security roles and stages
•Included manual steps (at first)
•Walk...
Results
•Security: happy
•Service team: relieved (& happy)
•Developers: won over (& happy)
•Business: surprised (& happy)
3. Log Aggregation
Log aggregation & search
ElasticSearch+ LogStash+ Kibana /
NewRelic / LogEntries / Stackify
(In Production, Pre-Prod, Test...
Event type IDs
How many discrete states exist
in your application?
Event type IDs
Event type IDs
enum
Human-readable sets:
unique values, sparse, immutable
C#, Java, Python, node
(Ruby, PHP, …)
Technical
Domain
public enum EventID
{
// Badly-initialised logging data
NotSet = 0,
// An unrecognised event has occurred...
ItemAddedToBasket = 60001
ItemAddedToBasket = 60001
Monolith to microservices:
debugger does not have the full view
Distributed systems
Even with remote debugger, it’s
boring to attach and detach
(but… Glimpse)
Remote debugging?
http://rashidkpc.github.io/Kibana/images/screenshots/searchss.png
Log aggregation &
search
Good logging is good communication
ELK and other log aggregation tools
can build Dev + QA + Ops
c...
4. Detect Database Drift
Red Gate DLM Dashboard
Red Gate DLM Dashboard
Collaboration & tool
choice
Value collaboration as a key criterion
Orthogonal to main tool purpose (?)
“How does this tool...
Automation
Tooling & APIs
•Prefer SaaS to begin with
•API for:
•Important state changes & actions
•Import/Export
•Trigger
•Alerting
•…
Tooling Automation
•Avoid manual configuration of tools
•Install via packages
•RPM, APT, Gems, Chocolatey
•Configure using...
Tool Automation
Point-n-click is no longer acceptable
Choose tools that expose APIs
Aim for composition of new capabilitie...
Learning
Learning & tool choice
Bring people with you
Appreciate current skills
Prefer achievable gains now
Avoid fear of too-scary...
Singleton tools
(or the ‘Prize Bull’ approach)
Singleton tools
Special database server
Costly log aggregation
Costly monitoring
Server configuration tooling
…only in Pro...
http://www.walpapershddownload.com/highland-cattle-wallpapers/
“Better features”?
Optimise globally across
the teams that need to
collaborate
Singleton tool
Breaks feedback (learning) loop
from Production
Makes CI/CD more difficult
Underestimates value of
collabor...
Conway’s Law
Mel Conway, 1968
“organizations which design
systems ... are constrained to
produce designs which are copies
of the commun...
Ruth Malan, 2008
“if the architecture of the system
and the architecture of the
organization are at odds, the
architecture...
?
Team Topologies
topology: the study of places
Team Topologies:
study of the placement of teams
(responsibilities, communic...
Conway & Tool Choice
See the whole organisation as a
system that we’re building
Separate tools for separate teams
Shared t...
How to choose tools for
Continuous Delivery and
DevOps
Value collaboration aspects
Insist on APIs and scripted deployments...
Further reading
Build Quality In
buildqualityin.com
Continuous Delivery and DevOps
experience reports from 20 authors
70% ...
Further reading
DZone 2015 Guide to
Continuous Delivery
http://bit.ly/DZoneCDreport
Conway’s Law & Continuous Delivery
• Allan Kelly - @allankellynet
• London Continuous Delivery
meetup group – January 2014...
We help you to transform your
technology and teams
for the cloud
Thank you
matthewskelton.net / @matthewpskelton
HT: @Squire_Matt, @alan_parkinson
http://skeltonthatcher.com/
enquiries@sk...
Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/cd-tools-
conway-law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Continuous Delivery: Tools, Collaboration, and Conway's Law
Próximos SlideShares
Carregando em…5
×

Continuous Delivery: Tools, Collaboration, and Conway's Law

553 visualizações

Publicada em

Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1cI3x0P.

Matthew Skelton shares his recent experience of helping many different organisations to evaluate and select tools to facilitate DevOps and Continuous Delivery, including version control, log aggregation, deployment pipelines, monitoring and metrics, and infrastructure automation tools. Filmed at qconlondon.com.

Matthew Skelton has been building, deploying, and operating commercial software systems since 1998. Co-founder and Principal Consultant at Skelton Thatcher Consulting Ltd (http://skeltonthatcher.com/), he specialises in helping organisations to adopt and sustain good practices for building and operating software systems.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Continuous Delivery: Tools, Collaboration, and Conway's Law

  1. 1. Continuous Delivery: Tools, Collaboration, and Conway's Law Matthew Skelton, Skelton Thatcher Consulting QCon London 2015, Weds 4th March #qconlondon
  2. 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /cd-tools-conway-law
  3. 3. Presented at QCon London www.qconlondon.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  4. 4. Collaboration Tool Automation Learning Singleton tools Conway’s Law
  5. 5. Matthew Skelton • Building & operating software systems since 1998 • Cybernetics + Neuroscience + Music •  control engineering •  psychology •  ‘network’ and group interactions @matthewpskelton
  6. 6. Recent clients Legal Payments Tourism Betting Travel booking Financial services Healthcare data
  7. 7. Common themes •Online since ~1999 •Successful in their sector •Large, central core database(s) •Non-aligned team goals •Ops historically undervalued •Need to adopt DevOps and Continuous Delivery
  8. 8. Common needs •Technology selection ticklists •Team interactions •Collaboration opportunities •Tools as catalysts
  9. 9. ‘Delivery’ implies ‘fire and forget’ We must continue to care after deployment
  10. 10. Continuous Delivery Continuous Evolution of software systems Small changes High quality Operationally excellent Engaged teams Focus on value Use flow
  11. 11. Delivery ≠ Deployment Empower product & commercial people to make features available at the right time Pull, not Push Continuous Delivery
  12. 12. Regular, rapid, repeatable, reliable changes Automate most of the things Continuous Delivery
  13. 13. Quality Safety Reliability Psychology Effectiveness Continuous Delivery
  14. 14. 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.
  15. 15. Not DevOps “Automation” “Build & Release” “Infrastructure Development” “System Administration” “Containers”
  16. 16. Collaboration
  17. 17. 1. Version Control
  18. 18. 2. Deployment Pipeline
  19. 19. A large online retailer •Travel sector •Since ~1999 •UK market •‘Non-core’ applications
  20. 20. Challenges were: •Limited Git skills in Service team •Manual deployments •‘Snowflake’ servers •No CI •Risks: security, automation, etc
  21. 21. 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
  22. 22. Results •Security: happy •Service team: relieved (& happy) •Developers: won over (& happy) •Business: surprised (& happy)
  23. 23. 3. Log Aggregation
  24. 24. Log aggregation & search ElasticSearch+ LogStash+ Kibana / NewRelic / LogEntries / Stackify (In Production, Pre-Prod, Test) On developer machines!!!
  25. 25. Event type IDs How many discrete states exist in your application?
  26. 26. Event type IDs
  27. 27. Event type IDs enum Human-readable sets: unique values, sparse, immutable C#, Java, Python, node (Ruby, PHP, …)
  28. 28. Technical Domain public enum EventID { // Badly-initialised logging data NotSet = 0, // An unrecognised event has occurred UnexpectedError = 10000, ApplicationStarted = 20000, ApplicationShutdownNoticeReceived = 20001, PageGenerationStarted = 30000, PageGenerationCompleted = 30001, MessageQueued = 40000, MessagePeeked = 40001, ItemAddedToBasket = 60001, ItemRemovedFromBasket = 60002, CreditCardDetailsSubmitted = 70001, // ... }
  29. 29. ItemAddedToBasket = 60001
  30. 30. ItemAddedToBasket = 60001
  31. 31. Monolith to microservices: debugger does not have the full view Distributed systems
  32. 32. Even with remote debugger, it’s boring to attach and detach (but… Glimpse) Remote debugging?
  33. 33. http://rashidkpc.github.io/Kibana/images/screenshots/searchss.png
  34. 34. Log aggregation & search Good logging is good communication ELK and other log aggregation tools can build Dev + QA + Ops collaboration
  35. 35. 4. Detect Database Drift
  36. 36. Red Gate DLM Dashboard
  37. 37. Red Gate DLM Dashboard
  38. 38. Collaboration & tool choice Value collaboration as a key criterion Orthogonal to main tool purpose (?) “How does this tool help people to collaborate?”
  39. 39. Automation
  40. 40. Tooling & APIs •Prefer SaaS to begin with •API for: •Important state changes & actions •Import/Export •Trigger •Alerting •…
  41. 41. Tooling Automation •Avoid manual configuration of tools •Install via packages •RPM, APT, Gems, Chocolatey •Configure using Chef/Puppet/Ansible/DSC/etc. •Insist on APIs
  42. 42. Tool Automation Point-n-click is no longer acceptable Choose tools that expose APIs Aim for composition of new capabilities Build and deployment are first-class concerns
  43. 43. Learning
  44. 44. Learning & tool choice Bring people with you Appreciate current skills Prefer achievable gains now Avoid fear of too-scary tools
  45. 45. Singleton tools (or the ‘Prize Bull’ approach)
  46. 46. Singleton tools Special database server Costly log aggregation Costly monitoring Server configuration tooling …only in Production
  47. 47. http://www.walpapershddownload.com/highland-cattle-wallpapers/
  48. 48. “Better features”? Optimise globally across the teams that need to collaborate
  49. 49. Singleton tool Breaks feedback (learning) loop from Production Makes CI/CD more difficult Underestimates value of collaboration and learning
  50. 50. Conway’s Law
  51. 51. 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
  52. 52. 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/
  53. 53. ?
  54. 54. Team Topologies topology: the study of places Team Topologies: study of the placement of teams (responsibilities, communication, shape)
  55. 55. Conway & Tool Choice See the whole organisation as a system that we’re building Separate tools for separate teams Shared tools for collaborative teams http://bit.ly/DevOpsTopologies
  56. 56. How to choose tools for Continuous Delivery and DevOps Value collaboration aspects Insist on APIs and scripted deployments Avoid a learning mountain: evolve tooling Avoid Production-only tools Consider Conway’s Law (this list is incomplete!)
  57. 57. Further reading Build Quality In buildqualityin.com Continuous Delivery and DevOps experience reports from 20 authors 70% of royalties donated to Code Club Discount for #qconlondon: http://leanpub.com/buildqualityin/c/qconlondon2015 Six contributors from QCon London 2015 speakers: - Dave Farley - Rachel Laycock - Amy Phillips - Anna Shipman - Matthew Skelton - Philip Wills - + 14 more
  58. 58. Further reading DZone 2015 Guide to Continuous Delivery http://bit.ly/DZoneCDreport
  59. 59. Conway’s Law & Continuous Delivery • Allan Kelly - @allankellynet • London Continuous Delivery meetup group – January 2014 • https://vimeo.com/channels/londoncd
  60. 60. We help you to transform your technology and teams for the cloud
  61. 61. Thank you matthewskelton.net / @matthewpskelton HT: @Squire_Matt, @alan_parkinson http://skeltonthatcher.com/ enquiries@skeltonthatcher.com @SkeltonThatcher +44 (0)20 8242 4103 Slides are Copyright © 2015 Skelton Thatcher Consulting Ltd. All rights reserved.
  62. 62. Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations/cd-tools- conway-law

×