event-driven architecture in the cloud · event-driven architecture in the cloud 14 microservices...

Post on 09-Aug-2020

7 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1Event-Driven Architecture in the Cloud@ChadGreen

Event-Driven Architecture in the CloudDevUp

Chad GreenOctober 16, 2019

2Event-Driven Architecture in the Cloud@ChadGreen

Silver Sponsors

Platinum Sponsors

Celebration Sponsor Lanyards Sponsor

Notebook Sponsor Registration Sponsor

3Event-Driven Architecture in the Cloud@ChadGreen

u)

2

#

chadgreen@chadgreen.com

Chad GreenDirector of Software DevelopmentScholarRx

chadwickegreenChadGreenChadGreen.com

4Event-Driven Architecture in the Cloud@ChadGreen

Event-Driven Architecture in the CloudPreamble

5Event-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.

- Wikipedia -

6Event-Driven Architecture in the Cloud@ChadGreen

MonolithEnterprise Architecture

DatabaseUI

Order Processing

Payment Processing

Inventory Management

Notification

Fulfillment

7Event-Driven Architecture in the Cloud@ChadGreen

MicroservicesEnterprise Architecture

UI

API

Gateway

OrderProcessing 0

InventoryManagement 0

Fulfilment0

Payment Processing0

Notifications0

8Event-Driven Architecture in the Cloud@ChadGreen

Process FlowMicroservices

UI API Gateway Order Processing Payment Processing Inventory Management Notification Fulfilment

Place Order Place Order Charge Credit Card

Return Conf Num

Update Inventory

ReturnConfirmation

Send OrderConfirmation

Confirm

Create Shipping Label

Confirm

Return Confirmation

Return Confirmation

9Event-Driven Architecture in the Cloud@ChadGreen

Event-Driven Architecture

A software architecture pattern promoting the production, detection,

consumption of, and reaction to events.

- Wikipedia -

10Event-Driven Architecture in the Cloud@ChadGreen

Event-Driven Architecture

11Event-Driven Architecture in the Cloud@ChadGreen

Event-Driven Architecture

12Event-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.

- Gartner -

EDA is more loosely coupled than the client/server paradigm because the component that sends the notification doesn’t know the identity of the

receiving components at the time of compiling.

13Event-Driven Architecture in the Cloud@ChadGreen

Event-Driven Architecture

Event Producer Event Ingestion Event Consumer

Event Consumer

Event Consumer

14Event-Driven Architecture in the Cloud@ChadGreen

MicroservicesEnterprise Architecture

UI API Gateway Order Processing Payment Processing Inventory Management Notification Fulfilment

Place Order Place Order Charge Credit Card

Return Conf Num

Update Inventory

ReturnConfirmation

Send OrderConfirmation

Confirm

Create Shipping Label

Confirm

Return Confirmation

Return Confirmation

15Event-Driven Architecture in the Cloud@ChadGreen

Process FlowEvent-Driven Architecture

UI

API Gateway

Place Order

Order Processing

Place Order

Payment Processing

Charge Credit Card

Event Hub

Inventory Management

Notifications

Fulfilment

Notify Subscribers

Update Inventory

Send Order Confirmation

Create Shipping Label

16Event-Driven Architecture in the Cloud@ChadGreen

Not Queue Based ProcessingEvent-Driven Architecture

UI

API Gateway

Place Order

Order Processing

Place Order

Payment Processing

Charge Credit Card

Update Inventory Queue

Inventory Management

Notifications

Fulfilment

Update Inventory

Send Order Confirmation

Create Shipping Label

Order Confirm Queue

Fulfilment Queue

Send Message to Queue

Send Message to Queue

17Event-Driven Architecture in the Cloud@ChadGreen

Event Producer Event Ingestion Event Consumer

Event Consumer

Event Consumer

Event Consumption ModelsEvent-Driven Architecture

Pub/Sub Event Streaming

18Event-Driven Architecture in the Cloud@ChadGreen

Consumer Processing VariationsEvent-Driven Architecture

Event Consumer

Event Consumer

Event Consumer

Simple Event Processing

Complex Event Processing

Event Stream Processing

19Event-Driven Architecture in the Cloud@ChadGreen

Event Producer Event Ingestion Event Consumer

Event Consumer

Event Consumer

External Event SourcesEvent-Driven Architecture

A

20Event-Driven Architecture in the Cloud@ChadGreen

Event Producer Event Ingestion Event Consumer

Event Consumer

Event Consumer

Multiple Consumer InstancesEvent-Driven Architecture

Event ConsumerEvent Consumer

Event Consumer

Event ConsumerEvent ConsumerEvent Consumer

Event ConsumerEvent Consumer

Event Consumer

21Event-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 architectureEvent-Driven Architecture

22Event-Driven Architecture in the Cloud@ChadGreen

Decoupling Encapsulation Responsive

Scalable/Distributed Independence

BenefitsEvent-Driven Architecture

23Event-Driven Architecture in the Cloud@ChadGreen

Steep Learning Curve Complexity

Loss of Transactionality Lineage

DrawbacksEvent-Driven Architecture

24Event-Driven Architecture in the Cloud@ChadGreen

Guaranteed Delivery Sequencing

ChallengesEvent-Driven Architecture

25Event-Driven Architecture in the Cloud@ChadGreen

Event-Driven Architecture in the CloudImplementation Options

26Event-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 HubsAzure Service Bus IoT Hubs

27Event-Driven Architecture in the Cloud@ChadGreen

Azure Event HubsSimple, 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 managed, real-time data ingestion service that is

simple, trusted, and scalable.

Azure Service Bus IoT Hubs

28Event-Driven Architecture in the Cloud@ChadGreen

Why choose Event Hubs?Azure Event Hubs

Simple Secure

Scalable Open

29Event-Driven Architecture in the Cloud@ChadGreen

Key Architecture ComponentsAzure Event Hubs

Event Producers

30Event-Driven Architecture in the Cloud@ChadGreen

Key Architecture ComponentsAzure Event Hubs

Partitions

31Event-Driven Architecture in the Cloud@ChadGreen

Key Architecture ComponentsAzure Event Hubs

Consumer Groups

32Event-Driven Architecture in the Cloud@ChadGreen

Key Architecture ComponentsAzure Event Hubs

Throughput Units

33Event-Driven Architecture in the Cloud@ChadGreen

Key Architecture ComponentsAzure Event Hubs

Event Receivers

34Event-Driven Architecture in the Cloud@ChadGreen

Event-Driven Architecture in the CloudDemonstration

35Event-Driven Architecture in the Cloud@ChadGreen

ScenarioDemonstration

UI

API Gateway

Place Order

Order Processing

Place Order

Payment Processing

Charge Credit Card

Event Hub

Inventory Management

Notifications

Fulfilment

Notify Subscribers

Update Inventory

Send Order Confirmation

Create Shipping Label

36Event-Driven Architecture in the Cloud@ChadGreen

ScenarioDemonstration

UI

API Gateway

Place Order

Order Processing

Place Order

Payment Processing

Charge Credit Card

Event Hub

Inventory Management

Notifications

Fulfilment

Notify Subscribers

Update Inventory

Send Order Confirmation

Create Shipping Label

37Event-Driven Architecture in the Cloud@ChadGreen

Event-Driven Architecture in the CloudSummary

38Event-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 sends the notification doesn’t know the identity

of the receiving components at the time of compiling.

- Gartner -

39Event-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

40Event-Driven Architecture in the Cloud@ChadGreen

Event Producer Event Ingestion Event Consumer

Event Consumer

Event Consumer

Event-Driven ArchitectureSummary

41Event-Driven Architecture in the Cloud@ChadGreen

Fully managed, real-time data ingestion service that is

simple, trusted, and scalable.

Azure Event HubsSummary

Simple Secure Scalable Open

42Event-Driven Architecture in the Cloud@ChadGreen

u)

2

#

chadgreen@chadgreen.com

Chad GreenDirector of Software DevelopmentScholarRx

chadwickegreenChadGreenChadGreen.com

top related