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.

Dev ops and microservices better together DDD North 2019

(OR DevOps and Microservices Better Together)
If you are trying to drive towards continuous delivery you will need to consider your architecture.
I will talk about how moving to SOA/Microservices architecture can get you to increase your delivery velocity and how DevOps and Microservices style architectures support each other to help you move to the holy grail of continuous delivery.

  • Login to see the comments

Dev ops and microservices better together DDD North 2019

  1. 1. #DDDNorth @farmar DevOps and Microservices Better Together Sean Farmar Particular Software 1
  2. 2. #DDDNorth @farmar The “Good Old Days” 2 Clint Eastwood in Sergio Leone's 'The Good, the Bad and the Ugly' Produzioni Europee Associate
  3. 3. #DDDNorth @farmar Moving On 3
  4. 4. #DDDNorth @farmar The Waterfall Thing 4 • Waterfall • Big batch sizes • Very long feedback loops • Business only reviewed in UAT or PROD
  5. 5. #DDDNorth @farmar Handovers 5 • Business requirements to tech • Tech specs to the development • Code to Ops – deploy to Test and UAT and finally to production • Hand over to the maintenance team...
  6. 6. #DDDNorth @farmar Nightmare 6 ID 78949414 © Vchalup | Dreamstime.com
  7. 7. #DDDNorth @farmar Nirvana 7 • Faster • More Flexible • Provide more business value up front
  8. 8. #DDDNorth @farmar Nirvana 8 • Shorter feedback loops • small cross functional teams • CI/CD • Get stuff into production - FAST
  9. 9. #DDDNorth @farmar Nirvana 9 Photo 118517906 © Markusbeck - Dreamstime.com
  10. 10. #DDDNorth @farmar DevOps Toyota’s Lean Manufacturing methodology Agile Lean and Kanban 10
  11. 11. #DDDNorth @farmar DevOps - Brief History 1980’s: • The lean movement started in manufacturing taking Toyota’s Production System 11
  12. 12. #DDDNorth @farmar DevOps - Brief History Mid 1990’s: • This started to be applied in service industries and healthcare 12
  13. 13. #DDDNorth @farmar DevOps - Brief History 2001: • The Agile Manifesto was created to move away from Waterfall and Rational Unified Process • “Deliver working software frequently” 13
  14. 14. #DDDNorth @farmar DevOps - Brief History 2008: • Agile Infrastructure and cloud computing • Applying Agile principles to infrastructure as opposed to application code 14
  15. 15. #DDDNorth @farmar DevOps - Brief History 2009: • Velocity Conference 2009 John Allspaw and Paul Hammond gave the “10 Deploys per Day: Dev and Ops Cooperation at Flickr.” 15
  16. 16. #DDDNorth @farmar DevOps - Brief History 2015: The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations Authors: Gene Kim, Jez Humble, Patrick Debois 16
  17. 17. #DDDNorth @farmar DevOps So, Why DevOps? 17
  18. 18. #DDDNorth @farmar DevOps Reliably (tested, secure) deploy small units of work to production 18
  19. 19. #DDDNorth @farmar DevOps Many (cross functional) teams work in parallel autonomously, each owning a (business) function (Boundaries) 19
  20. 20. #DDDNorth @farmar DevOps Provision environment quickly (minutes) 20
  21. 21. #DDDNorth @farmar DevOps Resilient and secure systems 21
  22. 22. #DDDNorth @farmar DevOps Decrease lead time of features and bug fixes to production 22
  23. 23. #DDDNorth @farmar DevOps The main blockers of CI/CD - DevOps Monolith Architecture Deliver value in big batch size Quality and Compliance Team Structure 23
  24. 24. #DDDNorth @farmar DevOps DevOps FOR THE WIN 24
  25. 25. #DDDNorth @farmar DevOps ALL The THINGS 25
  26. 26. #DDDNorth @farmar DevOps So, Sounds good, we do agile get a Kambahn Board and off we go…. But, immediately we run into issues: 26
  27. 27. #DDDNorth @farmar27 ID 86973924 © Choo Yin Soon | Dreamstime.com
  28. 28. #DDDNorth @farmar DevOps We are all working on the same HEAD, even on the same class file… 28
  29. 29. #DDDNorth @farmar DevOps “The Database” is all relational with referential integrity killing us…. 29
  30. 30. #DDDNorth @farmar DevOps "Big Bang” deployments 30
  31. 31. #DDDNorth @farmar DevOps Every change has “Side Effects” on the whole system (How’s your unit test coverage?  ) 31
  32. 32. #DDDNorth @farmar DevOps - Architectures I love all that DevOps stuff! But I have all these issues 32
  33. 33. #DDDNorth @farmar DevOps - Architectures Code coupling 33
  34. 34. #DDDNorth @farmar DevOps - Architectures Runtime coupling (Temporal) 34
  35. 35. #DDDNorth @farmar DevOps - Architectures Data coupling (referential integrity) Data ownership 35
  36. 36. #DDDNorth @farmar DevOps - Architectures Deployment coupling 36
  37. 37. #DDDNorth @farmar DevOps - Architectures Business Logic Cohesion (Lack of) 37
  38. 38. #DDDNorth @farmar Microservices One common architecture theme in successful DevOps transformations: Breaking down the monolith 38
  39. 39. #DDDNorth @farmar Microservices Code coupling: Repositories by components Packages Tight coupling inside components boundaries 39
  40. 40. #DDDNorth @farmar Microservices Runtime coupling (Temporal): No Synchronous communication (for write operations) Messaging/Queues Events 40
  41. 41. #DDDNorth @farmar Microservices Data coupling: Referential integrity GUIDs as florigen keys (generated by the originator) Use fields not entities (Bounded Context) 41
  42. 42. #DDDNorth @farmar Microservices Data ownership: Only one owner of any piece of data Single Publisher 42
  43. 43. #DDDNorth @farmar Microservices Deployment coupling: Single Pipelines per repository/sub module 43
  44. 44. #DDDNorth @farmar Microservices Business Logic Cohesion (Lack of) 44
  45. 45. #DDDNorth @farmar Microservices Solve all aspects of coupling Deploy single components Split code/Repositories Vertical Slicing 45
  46. 46. #DDDNorth @farmar Back To The Future 47 Clint Eastwood in Sergio Leone's 'The Good, the Bad and the Ugly' Produzioni Europee Associate
  47. 47. #DDDNorth @farmar Thank You! 48 Sean Farmar @farmar Particular.net
  48. 48. #DDDNorth @farmar Questions? Q&A 49

×