Slide 1

Slide 1 text

1 EVENT-DRIVEN ARCHITECTURE

Slide 2

Slide 2 text

1. The quest for scalability 2 A tale of a company...

Slide 3

Slide 3 text

“ 3 Scalability is the property of a system to handle a growing amount of work by adding resources to the system.

Slide 4

Slide 4 text

4 Scalability Development ● New features ● Continuous Deployment ● New team members ● New technologies Software ● Usage ● Concurrency ● Stored data ● Availability

Slide 5

Slide 5 text

Scalability cube 5

Slide 6

Slide 6 text

Monolithic Application 6

Slide 7

Slide 7 text

Monolithic Application 7

Slide 8

Slide 8 text

SOA Approach 8

Slide 9

Slide 9 text

Virtualized SOA Approach 9

Slide 10

Slide 10 text

Orchestrated & Virtualized SOA Approach 10

Slide 11

Slide 11 text

2. Microservices 11 The silver bullet...

Slide 12

Slide 12 text

Microservices Approach 12

Slide 13

Slide 13 text

Microservices & API Gateway Approach 13

Slide 14

Slide 14 text

Microservices & API Gateway Approach 14

Slide 15

Slide 15 text

EVENT SOURCING 15

Slide 16

Slide 16 text

“ 16 Event Sourcing ensures that all changes to application state are stored as a sequence of events. Not just can we query these events, we can also use the event log to reconstruct past states, and as a foundation to automatically adjust the state to cope with retroactive changes. - Martin Fowler

Slide 17

Slide 17 text

Log- Structured Approach 17

Slide 18

Slide 18 text

“ 18

Slide 19

Slide 19 text

“ 19

Slide 20

Slide 20 text

Event-Driven Architecture 20 ▪ 100% accurate audit logging ▪ Easy temporal queries ▪ Asynchronous communication ▪ Data Consistency ▪ Data recovery ▪ Horizontal scaling ▪ Loosely coupled services ▪ Act as Message Broker ▪ Idempotence

Slide 21

Slide 21 text

Event-Driven Architecture 21

Slide 22

Slide 22 text

Microservices & Event Sourcing Approach 22

Slide 23

Slide 23 text

Event Sourcing & Data streams Approach 23

Slide 24

Slide 24 text

Integrate Legacy Applications 24

Slide 25

Slide 25 text

A better Microservices Approach 25

Slide 26

Slide 26 text

Questions? 26

Slide 27

Slide 27 text

References 27 ● https://guidoschmutz.wordpress.com/ ● http://microservices.io ● https://kafka.apache.org/ ● https://martinfowler.com/eaaDev/EventSourcing.html https://www.confluent.io/blog/data-dichotomy-rethinking-the-way-we -treat-data-and-services/ ● https://engineering.linkedin.com/distributed-systems/log-what-every-s oftware-engineer-should-know-about-real-time-datas-unifying ● https://medium.com/@hugo.oliveira.rocha/what-they-dont-tell-you-abo ut-event-sourcing-6afc23c69e9a

Slide 28

Slide 28 text

Thank you very much for your time 28