DDD & Microservices from the Front Lines: Building Evolvable Software with Events, Aggregates and Friends

Embed Size (px)

Citation preview

  1. 1. DDD & Microservices fromDDD & Microservices from the Front Lines: Buildingthe Front Lines: Building Evolvable Software withEvolvable Software with Events, Aggregates andEvents, Aggregates and FriendsFriends
  2. 2. MicroserviceMicroservice ArchitectureArchitecture ExplainedExplained
  3. 3. David Dawson CEO Simplicity Itself London Microservices User Group Founder & Lead [email protected] @davidthecoder
  4. 4. What is Architecture?
  5. 5. Architecture vs Design
  6. 6. Limitless Options For Design
  7. 7. Only a few Architectures
  8. 8. What is Architecture?
  9. 9. Architecture Is Philosophy
  10. 10. What is your Philosophy?
  11. 11. Microservices Philosophy?
  12. 12. The path toThe path to MicroservicesMicroservices
  13. 13. The path toThe path to MicroservicesMicroservices
  14. 14. ThisThis SucksSucks
  15. 15. What are Microservices?
  16. 16. Isolation
  17. 17. Aspiration
  18. 18. What will make Microservices Awesome?
  19. 19. Mid 2014 .
  20. 20. Mid 2014 .
  21. 21. Mid 2014 .
  22. 22. The brave new world of DDD Microservices
  23. 23. What do we care about?
  24. 24. Events
  25. 25. Events The One True Ubiquitous Language
  26. 26. Events The Stream is the Only Truth that Matters
  27. 27. Messaging Is Cool
  28. 28. Event Sourced Microservices
  29. 29. Event Sourced Microservices Upgrades!
  30. 30. Event Sourced Microservices Replay!
  31. 31. Bounded Contexts
  32. 32. Bounded Contexts 1 Service!
  33. 33. Bounded Contexts Many Services!
  34. 34. Entity
  35. 35. Entity Many Representations
  36. 36. Hand Waving Consultant
  37. 37. Real World ExampleTM
  38. 38. Audient.lyTM
  39. 39. Audient.ly Social analysis Anomoly Detection Introspect an Enterprise
  40. 40. Audient.ly
  41. 41. Groups 'Source' Pipeline Event Store WordCloud Map View Gender Detection Sentiment Analysis Etc... Users Event Store Gateway Users
  42. 42. Microservice microservice Microservice Event Store Microservice Microservice Microservicemicroservice Microservice Microservice Event Store Gateway Microservice
  43. 43. Event Store Event Store Gateway
  44. 44. Aggregate Root Event Store Event Store Gateway
  45. 45. Source Aggregate Root Event Store ServiceService Service Event Store Gateway
  46. 46. View Source Aggregate Root Event Store View View ServiceService Service Event Store Gateway
  47. 47. View Source Aggregate Root Event Store View View ServiceService Service Aggregate Root Event Store Gateway Aggregate Root
  48. 48. View Source Aggregate Root Event Store View View ServiceService Service Aggregate Root Event Store Gateway Aggregate Root
  49. 49. Gateway?
  50. 50. View Aggregate Root Event Store View View ServiceService Service Aggregate Root Event Store Gateway Aggregate Root
  51. 51. Gateway
  52. 52. Gateway
  53. 53. Gateway Adapt world views
  54. 54. Gateway Adapt world views Events Messaging HTTP REST
  55. 55. What else?
  56. 56. View Aggregate Root Event Store View View ServiceService Service Aggregate Root Event Store Gateway Aggregate Root
  57. 57. Aggregate Root ServiceService Service
  58. 58. 'Chatter' Sentiment Analysis Gender Detection Etc...
  59. 59. Microservice MicroserviceMicroservice MIcroservice
  60. 60. What else?
  61. 61. View Aggregate Roots Event Store View View ServiceService Service Aggregate Root Event Store Gateway Aggregate Root
  62. 62. View View View Gateway
  63. 63. View View View GatewayEventually Consistent
  64. 64. View View View GatewayEventually Consistent No Database!
  65. 65. View View View GatewayEventually Consistent No Database! Totally Isolated
  66. 66. Event Sourcing!
  67. 67. View View View Gateway
  68. 68. Product Gateway
  69. 69. Product Gateway
  70. 70. Router Gateway Product Product Product
  71. 71. Router Gateway Product Product Product Event Store
  72. 72. Upgrade?
  73. 73. Router Gateway Product Product Product Event Store
  74. 74. Router Gateway Product Product Product Event Store Product
  75. 75. Router Gateway Product Product Product Event Store Product REPLAY
  76. 76. Router Gateway Product Product Product Event Store Product REPLAY
  77. 77. Scaling?
  78. 78. Event Streams
  79. 79. Router Gateway Product Product Product
  80. 80. Router Gateway Product
  81. 81. Router Gateway Product
  82. 82. Router Gateway Product 1 .. 200
  83. 83. Welcome to the New World!
  84. 84. Looks like the Old World!
  85. 85. Microservices Architecture?
  86. 86. Microservices Philosophy
  87. 87. Aspirational
  88. 88. Microservices User eXperience Sucks
  89. 89. We're going to change the way you think
  90. 90. [email protected] http://www.simplicityitself.com Want to know More?
  91. 91. David Dawson @davidthecoder Questions?
  92. 92. David Dawson @davidthecoder Thanks!