Event-Driven Architecture in the Cloud Little Rock Tech Fest - - PowerPoint PPT Presentation

event driven architecture in the cloud
SMART_READER_LITE
LIVE PREVIEW

Event-Driven Architecture in the Cloud Little Rock Tech Fest - - PowerPoint PPT Presentation

Event-Driven Architecture in the Cloud Little Rock Tech Fest October 10, 2019 Chad Green @ChadGreen Event-Driven Architecture in the Cloud 1 @ChadGreen Event-Driven Architecture in the Cloud 2 Chad Green Director of Software Development


slide-1
SLIDE 1

1

Event-Driven Architecture in the Cloud @ChadGreen

Event-Driven Architecture in the Cloud

Little Rock Tech Fest

Chad Green

October 10, 2019

slide-2
SLIDE 2

2

Event-Driven Architecture in the Cloud @ChadGreen

slide-3
SLIDE 3

3

Event-Driven Architecture in the Cloud @ChadGreen

u ) 2 #

chadgreen@chadgreen.com

Chad Green

Director of Software Development ScholarRx

chadwickegreen ChadGreen ChadGreen.com

slide-4
SLIDE 4

4

Event-Driven Architecture in the Cloud @ChadGreen

Event-Driven Architecture in the Cloud

Preamble

slide-5
SLIDE 5

5

Event-Driven Architecture in the Cloud @ChadGreen

Enterprise Architecture

Enterprise architecture applies architecture principles and practices to guide organizations through the business, information, process, and technology changes necessary to execute their strategies.

  • Wikip

iped edia ia -

slide-6
SLIDE 6

6

Event-Driven Architecture in the Cloud @ChadGreen

Monolith

Enterprise Architecture

Database Database UI UI Or Orde der Proce

  • cessing

ing Paym ayment P nt Proce

  • cessin

sing Inve nventor ntory M y Manag anageme ment nt Notif

  • tificat

ication ion Fulf ulfillm illment nt

slide-7
SLIDE 7

7

Event-Driven Architecture in the Cloud @ChadGreen

Microservices

Enterprise Architecture

UI UI

A P I G a t e w a y

Or Order Proce cessing ing Invento tory ry Ma Mana nagement nt Fulf Fulfilm ilment nt Pa Payment Pr Processing 0 Notif ific icatio ions ns

slide-8
SLIDE 8

8

Event-Driven Architecture in the Cloud @ChadGreen

Process Flow

Microservices

UI API Gat ateway ay Order Proc

  • cessi

ssing Payme ment nt Processing ng Invento tory ry Manag anagement Noti tificati tion Fulfil ilmen ent

Place O Orde der Place O Orde der Ch Charge Cr Credit it Ca Card Return urn C Conf N Num um Updat ate I Inv nvent ntor

  • ry

Return urn Confir irmatio ion Send O d Order Confir irmatio ion Confir irm Create S Shippin ping g La Labe bel Confir irm Return urn Confir irmatio ion Return urn Confir irmatio ion

slide-9
SLIDE 9

9

Event-Driven Architecture in the Cloud @ChadGreen

Microservices

Enterprise Architecture

UI UI

A P I G a t e w a y

Or Order Proce cessing ing Invento tory ry Ma Mana nagement nt Fulf Fulfilm ilment nt Pa Payment Pr Processing 0 Notif ific icatio ions ns

slide-10
SLIDE 10

10

Event-Driven Architecture in the Cloud @ChadGreen

Event-Driven Architecture

A software architecture pattern promoting the production, detection, consumption of, and reaction to events.

  • Wikip

iped edia ia -

slide-11
SLIDE 11

11

Event-Driven Architecture in the Cloud @ChadGreen

Event-Driven Architecture

slide-12
SLIDE 12

12

Event-Driven Architecture in the Cloud @ChadGreen

Event-Driven Architecture

slide-13
SLIDE 13

13

Event-Driven Architecture in the Cloud @ChadGreen

Event-Driven Architecture

Event-driven architecture (EDA) is a design paradigm in which a software component executes in response to receiving one or more event notifications.

  • Ga

Gart rtner -

EDA is more loosely coupled than the client/server paradigm because the component that sen ends the e notification does esn’t kn know the e iden entity of the e rece ceiving ng co compo mponent nts at the time of compiling.

slide-14
SLIDE 14

14

Event-Driven Architecture in the Cloud @ChadGreen

Event-Driven Architecture

Event nt Produce ucer Eve vent In Inges gestion

  • n

Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er

slide-15
SLIDE 15

15

Event-Driven Architecture in the Cloud @ChadGreen

Microservices

Enterprise Architecture

UI API Gat ateway ay Order Proc

  • cessi

ssing Payme ment nt Processing ng Invento tory ry Manag anagement Noti tificati tion Fulfil ilmen ent

Place O Orde der Place O Orde der Ch Charge Cr Credit it Ca Card Return urn C Conf N Num um Updat ate I Inv nvent ntor

  • ry

Return urn Confir irmatio ion Send O d Order Confir irmatio ion Confir irm Create S Shippin ping g La Labe bel Confir irm Return urn Confir irmatio ion Return urn Confir irmatio ion

slide-16
SLIDE 16

16

Event-Driven Architecture in the Cloud @ChadGreen

Process Flow

Event-Driven Architecture

UI UI

API G API Gateway

Place O Orde der

Order er P Processi essing

Place O Orde der

Paymen ent P Processi essing

Ch Charge Cr Credit it Ca Card

Eve vent Hu Hub Inven ventory M

  • ry Managem

emen ent Notific ication ions Fulf lfilm ilmen ent

Notif ify S Subs bscrib ibers Updat ate I Inv nvent ntor

  • ry

Send d Orde der C r Confirma irmatio ion Create S Shippin ping L g Label

slide-17
SLIDE 17

17

Event-Driven Architecture in the Cloud @ChadGreen

Not Queue Based Processing

Event-Driven Architecture

UI UI

API G API Gateway

Place O Orde der

Order er P Processi essing

Place O Orde der

Paymen ent P Processi essing

Ch Charge Cr Credit it Ca Card

Update I e Inven ventory Q

  • ry Queue

Inven ventory M

  • ry Managem

emen ent Notific ication ions Fulf lfilm ilmen ent

Updat ate I Inv nvent ntor

  • ry

Send d Orde der C r Confirma irmatio ion Create S Shippin ping L g Label

Order er C Confirm irm Q Queu eue Fulf lfilm ilmen ent Q Queue

Send nd M Messa ssage t to Q Que ueue ue Send nd M Messa ssage t to Q Que ueue ue

slide-18
SLIDE 18

18

Event-Driven Architecture in the Cloud @ChadGreen

Event nt Produce ucer Eve vent In Inges gestion

  • n

Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er

Event Consumption Models

Event-Driven Architecture

Pub/S ub/Sub ub Eve Event nt Str treamin aming

slide-19
SLIDE 19

19

Event-Driven Architecture in the Cloud @ChadGreen

Consumer Processing Variations

Event-Driven Architecture

Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er Sim imple le Event nt Proce cessing ing Co Complex Ev Event Proce cessing ing Even ent Str trea eam Proce cessing ing

slide-20
SLIDE 20

20

Event-Driven Architecture in the Cloud @ChadGreen

Event nt Produce ucer Eve vent In Inges gestion

  • n

Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er

External Event Sources

Event-Driven Architecture

A

slide-21
SLIDE 21

21

Event-Driven Architecture in the Cloud @ChadGreen

Event nt Produce ucer Eve vent In Inges gestion

  • n

Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er

Multiple Consumer Instances

Event-Driven Architecture

Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er

slide-22
SLIDE 22

22

Event-Driven Architecture in the Cloud @ChadGreen

Multiple Subsystems

Multiple subsystems must process the same events.

Real-Time Processing

Real-time processing with minimum time lag. Complex Event Processing Complex event processing, such as pattern matching or aggregation over time windows. High Volume/Velocity Data High volume and high velocity of data, such as IoT.

When to use this architecture

Event-Driven Architecture

slide-23
SLIDE 23

23

Event-Driven Architecture in the Cloud @ChadGreen

Decoupling Encapsulation Responsive Scalable/Distributed Independence

Benefits

Event-Driven Architecture

slide-24
SLIDE 24

24

Event-Driven Architecture in the Cloud @ChadGreen

Steep Learning Curve Complexity

Loss of Transactionality Lineage

Drawbacks

Event-Driven Architecture

slide-25
SLIDE 25

25

Event-Driven Architecture in the Cloud @ChadGreen

Guaranteed Delivery Sequencing

Challenges

Event-Driven Architecture

slide-26
SLIDE 26

26

Event-Driven Architecture in the Cloud @ChadGreen

Event-Driven Architecture in the Cloud

Implementation Options

slide-27
SLIDE 27

27

Event-Driven Architecture in the Cloud @ChadGreen

Implementation Options

PieSync TIBCO Spotfire Amazon Kinesis Amazon Elasticsearch Service Google Cloud Pub/Sub StreamSets PubNub Data Stream The PI System The PI System Confluent HVR Antiunity Replicate SQLstream IBM Streaming Analytics Astronomer Striim Azure Event Hubs

slide-28
SLIDE 28

28

Event-Driven Architecture in the Cloud @ChadGreen

Azure Event Hubs

Simple, secure, and scalable real-time data ingestion

PieSync TIBCO Spotfire Amazon Kinesis Amazon Elasticsearch Service Google Cloud Pub/Sub StreamSets PubNub Data Stream The PI System The PI System Confluent HVR Antiunity Replicate SQLstream IBM Streaming Analytics Astronomer Striim Azure Event Hubs

Implementation Options

Fully ully manage anaged, r d, real al-ti time me data data ing ingest stion ion se service vice that that is is sim simple ple, tr , truste usted, d, and and scalable scalable.

slide-29
SLIDE 29

29

Event-Driven Architecture in the Cloud @ChadGreen

Why choose Event Hubs?

Azure Event Hubs

Si Simp mple Sec Secure Scalab alable le Open en

slide-30
SLIDE 30

30

Event-Driven Architecture in the Cloud @ChadGreen

Key Architecture Components

Azure Event Hubs

Eve Event nt Produce

  • ducers
slide-31
SLIDE 31

31

Event-Driven Architecture in the Cloud @ChadGreen

Key Architecture Components

Azure Event Hubs

Par artitions titions

slide-32
SLIDE 32

32

Event-Driven Architecture in the Cloud @ChadGreen

Key Architecture Components

Azure Event Hubs

Consume

  • nsumer Groups
  • ups
slide-33
SLIDE 33

33

Event-Driven Architecture in the Cloud @ChadGreen

Key Architecture Components

Azure Event Hubs

Thr Throug

  • ughput

hput Units nits

slide-34
SLIDE 34

34

Event-Driven Architecture in the Cloud @ChadGreen

Key Architecture Components

Azure Event Hubs

Eve Event nt Rece ceive ivers

slide-35
SLIDE 35

35

Event-Driven Architecture in the Cloud @ChadGreen

Event-Driven Architecture in the Cloud

Demonstration

slide-36
SLIDE 36

36

Event-Driven Architecture in the Cloud @ChadGreen

Scenario

Demonstration

UI UI

API G API Gateway

Place O Orde der

Order er P Processi essing

Place O Orde der

Paymen ent P Processi essing

Ch Charge Cr Credit it Ca Card

Eve vent Hu Hub Inven ventory M

  • ry Managem

emen ent Notific ication ions Fulf lfilm ilmen ent

Notif ify S Subs bscrib ibers Updat ate I Inv nvent ntor

  • ry

Send d Orde der C r Confirma irmatio ion Create S Shippin ping L g Label

slide-37
SLIDE 37

37

Event-Driven Architecture in the Cloud @ChadGreen

Scenario

Demonstration

UI UI

API G API Gateway

Place O Orde der

Order er P Processi essing

Place O Orde der

Paymen ent P Processi essing

Ch Charge Cr Credit it Ca Card

Eve vent Hu Hub Inven ventory M

  • ry Managem

emen ent Notific ication ions Fulf lfilm ilmen ent

Notif ify S Subs bscrib ibers Updat ate I Inv nvent ntor

  • ry

Send d Orde der C r Confirma irmatio ion Create S Shippin ping L g Label

slide-38
SLIDE 38

38

Event-Driven Architecture in the Cloud @ChadGreen

Event-Driven Architecture in the Cloud

Summary

slide-39
SLIDE 39

39

Event-Driven Architecture in the Cloud @ChadGreen

Event-Driven Architecture

Event-driven architecture (EDA) is a design paradigm in which a software component executes in response to receiving one or more event

  • notifications. EDA is more loosely coupled than the client/server paradigm

because the component that sen ends the e notification does esn’t kn know the e iden entity

  • f the

f the r rece ceiving ng co compo mponent nts at the time of compiling.

  • Ga

Gart rtner -

slide-40
SLIDE 40

40

Event-Driven Architecture in the Cloud @ChadGreen

Strengths

  • Decoupling
  • Encapsulation
  • Responsive
  • Scalable /

Distributed

  • Independence

Weaknesses

  • Steep Learning

Curve

  • Complexity
  • Loss of

Transactionality

  • Lineage

Opportunities

  • Multiple

Subsystems

  • Real-Time

Processing

  • Complex Event

Processing

  • High Volume /

Velocity Data

Threats

  • No Guaranteed

Delivery

  • Potential

Sequencing Issues

slide-41
SLIDE 41

41

Event-Driven Architecture in the Cloud @ChadGreen

Event nt Produce ucer Eve vent In Inges gestion

  • n

Even ent Co Consumer er Even ent Co Consumer er Even ent Co Consumer er

Event-Driven Architecture

Summary

slide-42
SLIDE 42

42

Event-Driven Architecture in the Cloud @ChadGreen

Fully ully manage anaged, r d, real al-ti time me data data ing ingest stion ion se service vice that that is is sim simple ple, tr , truste usted, d, and and scalable scalable.

Azure Event Hubs

Summary

Simple Secure Scalable Open

slide-43
SLIDE 43

43

Event-Driven Architecture in the Cloud @ChadGreen

u ) 2 #

chadgreen@chadgreen.com

Chad Green

Director of Software Development ScholarRx

chadwickegreen ChadGreen ChadGreen.com