Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

muCon 2015 "The Business Behind Microservices: Organisational, Architectural, Operational Challenges"

6,409 views

Published on

The technology changes required when implementing a microservice-based application are only one part of the equation. The business and organisation will also most likely have to fundamentally change. In an ideal world, this shouldn’t be a problem - what with the rise of agile, lean and DevOps - but this is not always the situation Daniel encounters in his consulting travels. He would like to share with you some stories of successful (and not so successful) strategies and tactics he has used over the past four years when introducing service-oriented architecture into organisations.

Join Daniel for a whistle-stop tour of the business and people challenges that he has experienced first hand when implementing a greenfield microservice project, and also breaking down a monolith. You will discover ‘divided companies’ vs ‘connected companies’, determine the actual impact of conway's law, briefly touch on the lean startup/enterprise mindset, dive into change management without the management double-speak, and look at the lightweight processes needed to ensure the technical success of a microservices implementation.

Published in: Technology

muCon 2015 "The Business Behind Microservices: Organisational, Architectural, Operational Challenges"

  1. 1. The Business Behind Microservices: OrganisationAL, architectural and Operational Challenges Daniel Bryant @danielbryantuk daniel.bryant@opencredo.com www.opencredo.com
  2. 2. Business and People == “Fluffiness”? 12/11/15 @danielbryantuk
  3. 3. “Micro-fluffiness?” 12/11/15 @danielbryantuk
  4. 4. A Proposal… if done right, the “(micro)service” approach can profoundly impact the way we deliver valuable so<ware (But we said the same thing about agile, SOA, DevOps…) 12/11/15 @danielbryantuk
  5. 5. 1. Lets start with a Story... OpENCREDO Went Skiing 12/11/15 @danielbryantuk
  6. 6. 1. Lets start with a Story... OpENCREDO Went Skiing 12/11/15 @danielbryantuk
  7. 7. We are uncovering beDer ways of developing so<ware by doing it and helping others do it. Through this work we have come to value: products over projects small inter-discipline teams over large homogeneous cabals mul1ple cohesive services over a comprehensive applicaLon goal-driven technical leadership over command and control automated con1nuous deployment over manual big bangs individuals and interac1ons over processes and tools … ge6ng real sh*t done over creaLng manifestos that will ulLmately be misinterpreted 12/11/15 @danielbryantuk
  8. 8. We are uncovering beDer ways of developing so<ware by doing it and helping others do it. Through this work we have come to value: products over projects small inter-discipline teams over large homogeneous cabals mul1ple cohesive services over a comprehensive applicaLon goal-driven technical leadership over command and control automated con1nuous deployment over manual big bangs individuals and interac1ons over processes and tools OrganisaLon, architecture, (dev)operaLons 12/11/15 @danielbryantuk
  9. 9. Who Am I? •  London Java Community Associate •  Adopt OpenJDK and JSR •  InfoQ Editor, DZone MVB, Voxxed 12/11/15 @danielbryantuk •  Chief ScienLst at OpenCredo ü  Digital/technical transformaLons ü  Java, Golang, CI/CD, DevOps ü  Microservices, cloud, containers ü  Maintainer of muservicesweekly.com
  10. 10. 2. Organisation: Conway was telling the truth... 12/11/15 @danielbryantuk
  11. 11. Conway’s Law 12/11/15 @danielbryantuk
  12. 12. Cross-funcLonal Teams •  SpoLfy (bit.ly/1C46ZKo) –  Culture •  Amazon (bit.ly/1F3Dgkm) –  CommunicaLon •  Gilt (gi.lt/1rgyWvO) –  Strategic alignment 12/11/15 @danielbryantuk
  13. 13. Porfolio Planning •  Budget for capacity (#NoProjects) •  Predictable soiware development? –  Chase verifiable value instead (KPIs) •  Business cases secure funding… –  Switch to “value-driven” projects –  “What problems can we solve by X?” 12/11/15 @danielbryantuk
  14. 14. A Word of CauLon •  Divided Companies –  TradiLonal ‘enterprise’ organisaLon –  Command and control, specialised, division of labour –  Predictable in stable environments –  Six sigma, ESBs, and classical SOA •  Connected Companies –  Startups and forward-thinkers –  Autonomous, fractal, service-focused –  AdapLve in uncertain environments –  Agile/lean, REST, and microservices 12/11/15 @danielbryantuk
  15. 15. Bi-Modal / Tri-Modal IT 12/11/15 @danielbryantuk blog.gardeviance.org/2015/06/why- agile-lean-and-six-sigma-must-die.html Simon Wardley blogs extensively in this space…
  16. 16. OrganisaLonal Values small inter-discipline teams over large homogeneous cabals products over projects user impact over customer requirements crea1ng verifiable incremental value over adding features incremental transforma1on over big-bang “re-org” 12/11/15 @danielbryantuk
  17. 17. 3. Architecture: think Micro, Think Macro, Think LEADERSHIP 12/11/15 @danielbryantuk
  18. 18. Architectural/Design Skills “If you can't build a [well-structured] monolith, what makes you think microservices are the answer?” Simon Brown (bit.ly/1n7D0vp) 12/11/15 @danielbryantuk
  19. 19. 12/11/15 @danielbryantuk
  20. 20. Architectural/Design Skills 12/11/15 @danielbryantuk stackexchange.com www.etsy.com
  21. 21. gilt.com (Are Awesome) 12/11/15 @danielbryantuk www.slideshare.net/trenaman/javaone-2015-scaling-micro-services-at-gilt
  22. 22. Architecture, Minus the Ivory Towers •  Technical leadership (bit.ly/1EUwpLl) •  CommunicaLon (bit.ly/1Ia3u8o) •  Empathy •  ‘Just enough’ up front design 12/11/15 @danielbryantuk
  23. 23. MigraLng Architecture •  Find seams •  Measure toxicity of code •  Standardise what marers (glue/infra) •  Parerns (bit.ly/1GRch2v) –  Big bang –  Change via copy/extracLon –  Strangle 12/11/15 @danielbryantuk
  24. 24. Replacement/Message (Data) Flows 12/11/15 @danielbryantuk James Lewis bit.ly/1Qy4g2d Sam Newman bit.ly/1WijsUX
  25. 25. Word of CauLon: EvaluaLon “I will postpone using this shiny new framework un6l my peers have validated the proposed benefits with rigorous scien6fic experiments” - Said by no programmer …ever 12/11/15 @danielbryantuk
  26. 26. Architectural Values mul1ple cohesive services over a comprehensive applicaLon bounded contexts over a single domain model autonomous goal-driven leadership over anarchy or command and control implemen1ng signals and performance indicators over measuring vanity metrics 12/11/15 @danielbryantuk
  27. 27. 4. Operations: Automate everything (except the people) 12/11/15 @danielbryantuk
  28. 28. Microservices… Macro OperaLons •  Microservice Prerequisites (bit.ly/1wIjY58) –  Rapid provisioning –  Basic monitoring –  Rapid applicaLon deployment •  In a nutshell… –  Technical part of DevOps –  CI/CD 12/11/15 @danielbryantuk
  29. 29. 12/11/15 @danielbryantuk www.opencredo.com/2015/10/31/javaone-building-a- microservice-development-ecosystem-video
  30. 30. In the Beginning… 12/11/15 @danielbryantuk
  31. 31. AutomaLng Jobs Away? 12/11/15 @danielbryantuk
  32. 32. …and in the Middle (and the ‘End’) 12/11/15 @danielbryantuk
  33. 33. …and in the Middle (and the ‘End’) 12/11/15 @danielbryantuk www.infoq.com/news/2015/06/too-big-to-fail
  34. 34. Failing to Prepare, is Preparing to… •  PracLce –  Chaos, Gamedays, DiRT sessions •  Accountability –  R.A.S.C.I. •  Engage system 2 thinking 12/11/15 @danielbryantuk
  35. 35. Helpful Processes •  BDD user journeys across system (via APIs) –  …and individual services –  Don’t forget ‘iliLes’ (ZAP, Jmeter) •  Brendan Gregg’s USE methodology –  check uLlizaLon, saturaLon, and errors. •  Symptom-based Monitoring (Ticketmaster) 12/11/15 @danielbryantuk
  36. 36. OperaLonal Values designing for failure over implemenLng extensive redundancy independent automated con1nuous deployment over coordinated manual big bang releases programmable infrastructure over manually-configured snowflakes Individuals and interac1ons over processes and tools symptom-driven monitoring over fault-report alerLng 12/11/15 @danielbryantuk
  37. 37. 5. Change management without Management double-speak 12/11/15 @danielbryantuk
  38. 38. Change Management is EssenLal •  Fair process (three ‘E’s) –  Engagement –  ExplanaLon –  ExpectaLon •  Leading change –  TransformaLon is a process –  Communicate, plan, evaluate, learn –  Empowerment and empathy 12/11/15 @danielbryantuk
  39. 39. Have a Lirle Empathy… 12/11/15 @danielbryantuk
  40. 40. Some BedLme Reading… 12/11/15 @danielbryantuk
  41. 41. In summary… 12/11/15 @danielbryantuk
  42. 42. OrganisaLon, Architecture, OperaLons products over projects small inter-discipline teams over large homogeneous cabals mul1ple cohesive services over a comprehensive applicaLon goal-driven technical leadership over command and control automated con1nuous deployment over manual big bangs individuals and interac1ons over processes and tools 12/11/15 @danielbryantuk
  43. 43. Think HolisLcally if done right, the “(micro)service” approach can profoundly impact the way we deliver valuable so<ware (Let’s learn from agile, SOA, DevOps…) 12/11/15 @danielbryantuk
  44. 44. A Big Thanks To… 12/11/15 @danielbryantuk
  45. 45. THANKS... QUESTIONS? @danielbryantuk daniel.bryant@opencredo.com ‘Microservices Weekly’ (muservicesweekly.com) www.opencredo.com/blog www.parleys.com/author/daniel-bryant www.infoq.com/author/Daniel-Bryant 12/11/15 @danielbryantuk

×