Event Sourcing & CQRS offers a compelling and often controversial alternative for persisting data in microservice systems environments. This alternate approach is new for most of us, and it is justified to have a healthy level of skepticism towards any shiny new and often over-hyped solution. However, what is interesting is that this is so new that even the champions and evangelists often overlook the real benefits provided by this new way of capturing and storing data. In this talk, we will look at 7 of the top reasons for using Event Sourcing & CQRS. These reasons covered go beyond the often referenced benefits, such as event stores are natural audit logs, or offering the ability to go back in history to replay past events. The primary goal of this talk is to flip your view from limited to no use of ES & CQRS to an alternate perspective of what you give up when you elect to not use it as the go-to persistence strategy.
(This is a short 15 minute version of a 45-50 minute talk that. See YouTube for longer versions of this talk.)
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
7 Reasons why your microservices should use Event Sourcing & CQRS
1. 7 Reasons why your microservices should use
Event Sourcing & CQRS
Hugh McKee (@mckeeh3), Developer Advocate
2. 0. What is Event Sourcing & CQRS
1. Smooth transition from DDD & Event Storming to implementation
2. Reduce service coupling
3. Break the read versus write performance bottleneck
4. Elevate the concurrency barrier
5. Simplify and harden messaging
6. Eliminate service coupling
7. Graduate from the IT Nursery
7 Reasons why your microservices should use ES & CQRS
3. 0. What is Event Sourcing & CQRS
1. Smooth transition from DDD & Event Storming to implementation
2. Reduce service coupling
3. Break the read versus write performance bottleneck
4. Elevate the concurrency barrier
5. Simplify and harden messaging
6. Eliminate service coupling
7. Graduate from the IT Nursery
7 Reasons why your microservices should use ES & CQRS
0Reason
4.
5.
6.
7. 0. What is Event Sourcing & CQRS
1. Smooth transition from DDD & Event Storming to implementation
2. Reduce service coupling
3. Break the read versus write performance bottleneck
4. Elevate the concurrency barrier
5. Simplify and harden messaging
6. Eliminate service coupling
7. Graduate from the IT Nursery
7 Reasons why your microservices should use ES & CQRS
1Reason
12. 0. What is Event Sourcing & CQRS
1. Smooth transition from DDD & Event Storming to implementation
2. Reduce service coupling
3. Break the read versus write performance bottleneck
4. Elevate the concurrency barrier
5. Simplify and harden messaging
6. Eliminate service coupling
7. Graduate from the IT Nursery
7 Reasons why your microservices should use ES & CQRS
2Reason
16. 0. What is Event Sourcing & CQRS
1. Smooth transition from DDD & Event Storming to implementation
2. Reduce service coupling
3. Break the read versus write performance bottleneck
4. Elevate the concurrency barrier
5. Simplify and harden messaging
6. Eliminate service coupling
7. Graduate from the IT Nursery
7 Reasons why your microservices should use ES & CQRS
3Reason
17. Break the read versus write performance bottleneck
Optimize
Reads?
Writes
23. Break the read versus write performance bottleneck
Eventually consistent
24. 0. What is Event Sourcing & CQRS
1. Smooth transition from DDD & Event Storming to implementation
2. Reduce service coupling
3. Break the read versus write performance bottleneck
4. Elevate the concurrency barrier
5. Simplify and harden messaging
6. Eliminate service coupling
7. Graduate from the IT Nursery
7 Reasons why your microservices should use ES & CQRS
4Reason
27. 0. What is Event Sourcing & CQRS
1. Smooth transition from DDD & Event Storming to implementation
2. Reduce service coupling
3. Break the read versus write performance bottleneck
4. Elevate the concurrency barrier
5. Simplify and harden messaging
6. Eliminate service coupling
7. Graduate from the IT Nursery
7 Reasons why your microservices should use ES & CQRS
5Reason
28. • at-most-once
• at-least-once
• exactly-once
Semantics of delivery
(maybe-once)
(once-or-more)
(essentially-once)
Simplify and harden messaging
32. 0. What is Event Sourcing & CQRS
1. Smooth transition from DDD & Event Storming to implementation
2. Reduce service coupling
3. Break the read versus write performance bottleneck
4. Elevate the concurrency barrier
5. Simplify and harden messaging
6. Eliminate service coupling
7. Graduate from the IT Nursery
7 Reasons why your microservices should use ES & CQRS
6Reason
41. 7 Reasons why your microservices should use ES & CQRS
7
0. What is Event Sourcing & CQRS
1. Smooth transition from DDD & Event Storming to implementation
2. Reduce service coupling
3. Break the read versus write performance bottleneck
4. Elevate the concurrency barrier
5. Simplify and harden messaging
6. Eliminate service coupling
7. Graduate from the IT Nursery
Reason
42. Graduate from the IT Nursery
Reduce
Governance
Reduce
Ceremony
and
Ritual
Increase
Velocity
43. Graduate from the IT Nursery
Reduce
Governance
Reduce
Ceremony
and
Ritual
Increase
Velocity
44. Graduate from the IT Nursery
Reduce
Governance
Reduce
Ceremony
and
Ritual
Increase
Velocity
Organized Chaos
45. Graduate from the IT Nursery
Reduce
Governance
Reduce
Ceremony
and
Ritual
Increase
Velocity
Organized Revolution
46. Graduate from the IT Nursery
Reduce
Governance
Reduce
Ceremony
and
Ritual
Increase
Velocity
People are very open-minded about new things
- as long as they're exactly like the old ones.
-Charles F. Kettering
47. 7 Reasons why your microservices should use ES & CQRS
0. What is Event Sourcing & CQRS
1. Smooth transition from DDD & Event Storming to implementation
2. Reduce service coupling
3. Break the read versus write performance bottleneck
4. Elevate the concurrency barrier
5. Simplify and harden messaging
6. Eliminate service coupling
7. Graduate from the IT Nursery
48. Hugh McKee (@mckeeh3), Developer Advocate
7 Reasons why your microservices should use
Event Sourcing & CQRS
Slides - https://bit.ly/2QuMu7C