SlideShare a Scribd company logo
1 of 41
Download to read offline
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Jerome Van Der Linden (@jeromevdl)
Message-Driven Architecture with AWS
Worldwide Software Architecture Summit
26th
of January 2021
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Who am I ?
Jérôme Van Der Linden
Solutions Architect @ AWS (Geneva, Switzerland)
Former consultant, developer, tech lead, agile &
devops coach, architect @ OCTO Technology
Husband and Dad of 3
@jeromevdl
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Agenda
Monolith to Microservices
Microservices to Reactive Microservices
Message-Driven Architecture on AWS
Wrap-up
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Monoliths to Microservices
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Monoliths
Do not throw the baby out with the bath water…
- Simple to develop and refactor
- Simple to test (integration, end-to-end)
- Single deployment process
- Single application to monitor
- Consistency
https://martinfowler.com/bliki/MonolithFirst.html
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Monoliths
… but definitely some limits!
- Strong coupling: less flexibility / agility
- High impact of change
- Redeploy everything
- Risks of blast radius
- Reliability
- One failure can bring down the whole application
- Rigid scaling
- Often stateful
- Limited to the database scalability
- Development lifecycle is typically slow
- Continuous deployment is difficult
- Barrier to adopting new technologies
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Microservices
Microservices to the rescue…
- Reduced coupling
- Smaller impact of changes
- Independent deployments
- Better reliability
- Independent scaling
- Smaller unit of development:
- Humanely understandable
- More suitable for adopting new technologies
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Microservices
… but it is not that magic!
- Reduced coupling
- Smaller impact of changes
- Independent deployments
- Better reliability
- Independent scaling
- Smaller unit of development:
- Humanely understandable
- More suitable for adopting new technologies
Are you sure?
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Microservices to Reac8ve
Microservices
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Microservices communica=on
Order
Service
Invoice
Service
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Synchronous communica=on
Order
Service
Invoice
Service
🙂 201
created
201
created
😀
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
🙂
Synchronous communica=on
Order
Service
Invoice
Service
500
internal
server
error
503
service
unavailable
☹
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Synchronous communica=on
What’s the problem ?
- No isolation between services è still coupled
- Risk of timeout or cascading failures è still unreliable
- What if the signature of invoice API change ? è still dependent
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Reac=ve Principles
Responsive
Resilient
Elastic
Message-Driven
https://www.reactivemanifesto.org/
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Message-Driven (Asynchronous) Communica=on
Order
Service
Invoice
Service
🙂 202
accepted
😀
order
created
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Message-Driven (Asynchronous) Communica=on
Order
Service
Invoice
Service
🙂 202
accepted
😀
order
created
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Message-Driven (Asynchronous) Communica=on
Isolation between services:
- Less risk of timeout è more responsive
- No more cascading failure è more resilient è more responsive
- What if the signature of invoice API change ? è No problem 😀 !
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Message-Driven Architecture on AWS
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
(Serverless) Messaging services on AWS
Amazon SNS Amazon
EventBridge
Amazon SQS
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Amazon Simple Queue Service (SQS)
Producer SQS Queue
Decouple
producers from
consumers.
Messages polled
by consumers
Amazon SQS
Fully managed
Message Queuing
service
Consumers
AWS Lambda
Container
Instance / VM
Standard
• At-least once delivery
• Best-effort ordering
Messages are stored
up to 14 days.
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Amazon Simple Queue Service (SQS)
Producer Consumers
AWS Lambda
Amazon SQS
Fully managed
Message Queuing
service
SQS Queue
Decouple
producers from
consumers
Messages polled
by consumers
Container
Instance / VM
FIFO
• Exactly once delivery
• Keep ordering
1
2
3
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Amazon Simple Queue Service (SQS)
Producer Consumers
AWS Lambda
Amazon SQS
Fully managed
Message Queuing
service
SQS Queue
Decouple
producers from
consumers
Long Polling
Container
Instance / VM
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Amazon Simple Queue Service (SQS)
Producer Consumers
AWS Lambda
Amazon SQS
Fully managed
Message Queuing
service
SQS Queue
Decouple
producers from
consumers
Messages polled
by consumers
Container
Instance / VM
Dead-letter Queue
If a message can’t be processed successfully
it can be held in a queue
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Common paIern with SQS: Storage-first
Amazon API Gateway Amazon SQS Queue
Dead letter Queue
AWS Lambda
Client
…
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Amazon Simple No=fica=on Service (SNS)
Amazon SNS
Fully managed
publish & subscribe
messaging service
SNS Topic
Decouple message
publisher from
subscribers with topics
Publisher
Messages pushed to
subscribers
Subscribers
AWS Lambda
Amazon SQS
HTTP/S
Email / SMS
Amazon Kinesis
Data Firehose
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Amazon Simple No=fica=on Service (SNS)
Amazon SNS
Fully managed
publish & subscribe
messaging service
SNS Topic
Decouple message
publisher from
subscribers with topics
Publisher
FIFO
Subscribers
AWS Lambda
Amazon SQS
FIFO
HTTP/S
Email / SMS
Amazon Kinesis
Data Firehose
1
2
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Amazon Simple No=fica=on Service (SNS)
Fan Out
Publisher Amazon SNS
Fully managed
publish & subscribe
messaging service
SNS Topic
Decouple message
publisher from
subscribers with topics
Subscribers
AWS Lambda
Amazon SQS
HTTP/S
Email / SMS
Amazon Kinesis
Data Firehose
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Amazon Simple No=fica=on Service (SNS)
Publisher Amazon SNS
Fully managed
publish & subscribe
messaging service
SNS Topic
Decouple message
publisher from
subscribers with topics
Message
Filtering
Filter messages
according to
subscription
filter policies
Subscribers
AWS Lambda
Amazon SQS
HTTP/S
Email / SMS
Amazon Kinesis
Data Firehose
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Amazon Simple No=fica=on Service (SNS)
Publisher Amazon SNS
Fully managed
publish & subscribe
messaging service
SNS Topic
Decouple message
publisher from
subscribers with topics
Message
Filtering
Filter messages
according to
subscription
filter policies
Dead-letter Queue
If a subscriber is unavailable,
messages can be held in a queue
Subscribers
AWS Lambda
Amazon SQS
HTTP/S
Email / SMS
Amazon Kinesis
Data Firehose
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Common paIern with SNS & SQS: Topic-Queue Chaining
Amazon SQS
Queue A
Backend A
Publisher Amazon SNS
Topic
Amazon SQS
Queue B
Backend B
Amazon SQS
Queue C
Backend C
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Amazon EventBridge
Amazon
EventBridge
Fully managed
event bus to
connect applications
Event Sources
AWS Services
Custom events
SaaS events Events pushed
to targets
Rules
Rules filter
and send events
to target
Event Bus
Default event bus
Custom event bus
SaaS event bus
Decouple event
sources and targets
Targets (20+)
AWS Lambda
Amazon SQS
Amazon SNS
AWS Step
Functions
Amazon Kinesis
AWS Batch
Amazon API
Gateway
Amazon EC2
Instance
Amazon ECS
Task
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Amazon EventBridge
Event Sources
Amazon
EventBridge
Fully managed
event bus to
connect applications
Event Bus
Targets (20+)
AWS Lambda
Amazon SQS
AWS Services
Custom events
SaaS events
Default event bus
Custom event bus
SaaS event bus
Rules
Amazon SNS
AWS Step
Functions
Amazon Kinesis
AWS Batch
Amazon API
Gateway
Amazon EC2
Instance
Amazon ECS
Task
Dead-letter
Queue
If a target is unavailable,
events can be held in a queue
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Amazon EventBridge
Event Sources
Amazon
EventBridge
Fully managed
event bus to
connect applications
Event Bus
Targets (20+)
AWS Lambda
Amazon SQS
AWS Services
Custom events
SaaS events
Default event bus
Custom event bus
SaaS event bus
Rules
Amazon SNS
AWS Step
Functions
Amazon Kinesis
AWS Batch
Amazon API
Gateway
Amazon EC2
Instance
Amazon ECS
Task
Event Archive
Store all events
and enables replays
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Amazon EventBridge
Event Sources
Amazon
EventBridge
Fully managed
event bus to
connect applications
Event Bus
Targets (20+)
AWS Lambda
AWS Services
Custom events
SaaS events
Default event bus
Custom event bus
SaaS event bus
Rules
AWS Step
Functions
AWS Batch
Amazon API
Gateway
Amazon EC2
Instance
Amazon ECS
Task
Schema Registry
Collection of event
structures (schema)
…
Code Binding
Schema
Discovery
Schema
Publication
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Common paIern with EventBridge: Microservices Choreography
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Wrap-up
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Services Comparison
Amazon SQS Amazon SNS
Amazon
EventBridge
Type Queue (Pull) Publish / Subscribe (Push) Publish / Subscribe (Push)
Persistence
Yes
(Up to 14 days, default: 4 days)
No
(retry up to 23 days + DLQ)
No
(retry up to 24h + DLQ + Archives)
Ordering FIFO FIFO No
Delivery Standard: at least once
FIFO: exactly once
Standard: at least once
FIFO: exactly once
At least once
Filtering Yes Yes
No
Consumers Millions 5 per rule
/
Target services Lambda (+ compute & SDK) 2 (+ HTTP/SMS/Email/Push) 20+
Throughput *
Price *
Standard: Almost unlimited
FIFO: 3 000 TPS (soft)
Standard: 30 000 TPS (soft)
FIFO: 300 TPS (soft)
10 000 TPS (soft)
$ per million API requests
Standard ≤ 0.4 / FIFO ≤ 0.5
$ per million API requests: 0.5 $ per million events: 1
* depends on the region (us-east-1)
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Conclusion
Message-Driven architectures drive resilience and elas3city è responsiveness
Asynchronous Events
Improve responsiveness
and reduce dependencies
Event Stores
Buffer messages until services
are available to process
Event Routers
Abstract producers and
consumers from each other
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Resources
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
• Building event-driven applications with Amazon EventBridge
• https://virtual.awsevents.com/media/1_w2mhd582
• Scalable serverless event-driven architectures with SNS, SQS & Lambda
• https://virtual.awsevents.com/media/1_o5hp8egy
• Decoupling serverless workloads with Amazon EventBridge
• https://virtual.awsevents.com/media/1_upe6mtew
• Choosing the right event-routing service for serverless: EventBridge, SNS, or SQS
• https://lumigo.io/blog/choosing-the-right-event-routing-on-aws-eventbridge-sns-or-sqs
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
Thank you
@jeromevdl

More Related Content

What's hot

Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Boaz Ziniman
 
Developing Serverless Application on AWS
Developing Serverless Application on AWSDeveloping Serverless Application on AWS
Developing Serverless Application on AWSAmazon Web Services
 
Deep Dive into AWS SAM: re:Invent 2018 Recap at the AWS Loft - San Francisco
Deep Dive into AWS SAM: re:Invent 2018 Recap at the AWS Loft - San FranciscoDeep Dive into AWS SAM: re:Invent 2018 Recap at the AWS Loft - San Francisco
Deep Dive into AWS SAM: re:Invent 2018 Recap at the AWS Loft - San FranciscoAmazon Web Services
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingAmazon Web Services
 
AWS ECS Workshop A Journey to Modern Applications
AWS ECS Workshop A Journey to Modern ApplicationsAWS ECS Workshop A Journey to Modern Applications
AWS ECS Workshop A Journey to Modern ApplicationsAmazon Web Services
 
Construindo Aplicações Deep Learning com TensorFlow e Amazon SageMaker - MCL...
Construindo Aplicações Deep Learning com TensorFlow e Amazon SageMaker -  MCL...Construindo Aplicações Deep Learning com TensorFlow e Amazon SageMaker -  MCL...
Construindo Aplicações Deep Learning com TensorFlow e Amazon SageMaker - MCL...Amazon Web Services
 
Introduction to AWS Step Functions
Introduction to AWS Step FunctionsIntroduction to AWS Step Functions
Introduction to AWS Step FunctionsAmazon Web Services
 
20210608 - Desarrollo de aplicaciones en la nube
20210608 - Desarrollo de aplicaciones en la nube20210608 - Desarrollo de aplicaciones en la nube
20210608 - Desarrollo de aplicaciones en la nubeMarcia Villalba
 
Accelerate SQL Server Migration to the AWS Cloud
Accelerate SQL Server Migration to the AWS Cloud Accelerate SQL Server Migration to the AWS Cloud
Accelerate SQL Server Migration to the AWS Cloud Datavail
 
Building APIs with Amazon API Gateway
Building APIs with Amazon API GatewayBuilding APIs with Amazon API Gateway
Building APIs with Amazon API GatewayAmazon Web Services
 
Deep Dive on Serverless Application Development NY Loft
Deep Dive on Serverless Application Development NY LoftDeep Dive on Serverless Application Development NY Loft
Deep Dive on Serverless Application Development NY LoftAmazon Web Services
 
Building APIs with Amazon API Gateway: re:Invent 2018 Recap at the AWS Loft -...
Building APIs with Amazon API Gateway: re:Invent 2018 Recap at the AWS Loft -...Building APIs with Amazon API Gateway: re:Invent 2018 Recap at the AWS Loft -...
Building APIs with Amazon API Gateway: re:Invent 2018 Recap at the AWS Loft -...Amazon Web Services
 
AWS Solution Architect Associate Test prep with authentic Amazon AWS Solution...
AWS Solution Architect Associate Test prep with authentic Amazon AWS Solution...AWS Solution Architect Associate Test prep with authentic Amazon AWS Solution...
AWS Solution Architect Associate Test prep with authentic Amazon AWS Solution...Sidneylarkin
 
Track 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptx
Track 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptxTrack 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptx
Track 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptxAmazon Web Services
 
Introduction to Microsoft Workloads on AWS - AWS Online Tech Talks
Introduction to Microsoft Workloads on AWS - AWS Online Tech TalksIntroduction to Microsoft Workloads on AWS - AWS Online Tech Talks
Introduction to Microsoft Workloads on AWS - AWS Online Tech TalksAmazon Web Services
 
Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用
Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用
Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用Amazon Web Services
 
SRV209 Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...
SRV209  Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...SRV209  Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...
SRV209 Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...Amazon Web Services
 
Deep Dive on Serverless Application Development
Deep Dive on Serverless Application DevelopmentDeep Dive on Serverless Application Development
Deep Dive on Serverless Application DevelopmentAmazon Web Services
 

What's hot (20)

Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28
 
Developing Serverless Application on AWS
Developing Serverless Application on AWSDeveloping Serverless Application on AWS
Developing Serverless Application on AWS
 
Deep Dive into AWS SAM: re:Invent 2018 Recap at the AWS Loft - San Francisco
Deep Dive into AWS SAM: re:Invent 2018 Recap at the AWS Loft - San FranciscoDeep Dive into AWS SAM: re:Invent 2018 Recap at the AWS Loft - San Francisco
Deep Dive into AWS SAM: re:Invent 2018 Recap at the AWS Loft - San Francisco
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless Computing
 
AWS ECS Workshop A Journey to Modern Applications
AWS ECS Workshop A Journey to Modern ApplicationsAWS ECS Workshop A Journey to Modern Applications
AWS ECS Workshop A Journey to Modern Applications
 
Construindo Aplicações Deep Learning com TensorFlow e Amazon SageMaker - MCL...
Construindo Aplicações Deep Learning com TensorFlow e Amazon SageMaker -  MCL...Construindo Aplicações Deep Learning com TensorFlow e Amazon SageMaker -  MCL...
Construindo Aplicações Deep Learning com TensorFlow e Amazon SageMaker - MCL...
 
Introduction to AWS Step Functions
Introduction to AWS Step FunctionsIntroduction to AWS Step Functions
Introduction to AWS Step Functions
 
20210608 - Desarrollo de aplicaciones en la nube
20210608 - Desarrollo de aplicaciones en la nube20210608 - Desarrollo de aplicaciones en la nube
20210608 - Desarrollo de aplicaciones en la nube
 
Accelerate SQL Server Migration to the AWS Cloud
Accelerate SQL Server Migration to the AWS Cloud Accelerate SQL Server Migration to the AWS Cloud
Accelerate SQL Server Migration to the AWS Cloud
 
Building APIs with Amazon API Gateway
Building APIs with Amazon API GatewayBuilding APIs with Amazon API Gateway
Building APIs with Amazon API Gateway
 
Deep Dive on Serverless Application Development NY Loft
Deep Dive on Serverless Application Development NY LoftDeep Dive on Serverless Application Development NY Loft
Deep Dive on Serverless Application Development NY Loft
 
Building APIs with Amazon API Gateway: re:Invent 2018 Recap at the AWS Loft -...
Building APIs with Amazon API Gateway: re:Invent 2018 Recap at the AWS Loft -...Building APIs with Amazon API Gateway: re:Invent 2018 Recap at the AWS Loft -...
Building APIs with Amazon API Gateway: re:Invent 2018 Recap at the AWS Loft -...
 
AWS Solution Architect Associate Test prep with authentic Amazon AWS Solution...
AWS Solution Architect Associate Test prep with authentic Amazon AWS Solution...AWS Solution Architect Associate Test prep with authentic Amazon AWS Solution...
AWS Solution Architect Associate Test prep with authentic Amazon AWS Solution...
 
Track 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptx
Track 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptxTrack 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptx
Track 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptx
 
Lambda Layers & Runtime API
Lambda Layers & Runtime APILambda Layers & Runtime API
Lambda Layers & Runtime API
 
Operating Your Production API
Operating Your Production APIOperating Your Production API
Operating Your Production API
 
Introduction to Microsoft Workloads on AWS - AWS Online Tech Talks
Introduction to Microsoft Workloads on AWS - AWS Online Tech TalksIntroduction to Microsoft Workloads on AWS - AWS Online Tech Talks
Introduction to Microsoft Workloads on AWS - AWS Online Tech Talks
 
Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用
Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用
Track 4 Session 1_MAD01 如何活用事件驅動架構快速擴展應用
 
SRV209 Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...
SRV209  Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...SRV209  Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...
SRV209 Introducing Amazon Connect: Create an Amazon Scale Cloud Contact Cent...
 
Deep Dive on Serverless Application Development
Deep Dive on Serverless Application DevelopmentDeep Dive on Serverless Application Development
Deep Dive on Serverless Application Development
 

Similar to Message-Driven Architecture on AWS

Innovate - Breaking Down The Monolith
Innovate - Breaking Down The MonolithInnovate - Breaking Down The Monolith
Innovate - Breaking Down The MonolithShouvikKnightmare
 
20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...Marcia Villalba
 
5 incredible (and uncommon) serverless patterns
5 incredible (and uncommon) serverless patterns5 incredible (and uncommon) serverless patterns
5 incredible (and uncommon) serverless patternsDavidVictoria12
 
AWS Scalable Architectures - Serverless
AWS Scalable Architectures - ServerlessAWS Scalable Architectures - Serverless
AWS Scalable Architectures - ServerlessChris Adriaensen
 
AWS PROTECTED Certification - Lunch & Learn
  AWS PROTECTED Certification - Lunch & Learn  AWS PROTECTED Certification - Lunch & Learn
AWS PROTECTED Certification - Lunch & LearnAmazon Web Services
 
20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless 20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless Marcia Villalba
 
Strengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdfStrengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdfAmazon Web Services
 
JFokus 2020 - How to migrate an application to serverless
JFokus 2020 - How to migrate an application to serverlessJFokus 2020 - How to migrate an application to serverless
JFokus 2020 - How to migrate an application to serverlessMarcia Villalba
 
DevConZM - Modern Applications Development in the Cloud
DevConZM - Modern Applications Development in the CloudDevConZM - Modern Applications Development in the Cloud
DevConZM - Modern Applications Development in the CloudCobus Bernard
 
Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...
Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...
Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...Amazon Web Services
 
MSC204_Leverage AWS Marketplace to accelerate production ready workloads
MSC204_Leverage AWS Marketplace to accelerate production ready workloadsMSC204_Leverage AWS Marketplace to accelerate production ready workloads
MSC204_Leverage AWS Marketplace to accelerate production ready workloadsAmazon Web Services
 
MCL302_Maximizing the Customer Experience with AI on AWS
MCL302_Maximizing the Customer Experience with AI on AWSMCL302_Maximizing the Customer Experience with AI on AWS
MCL302_Maximizing the Customer Experience with AI on AWSAmazon Web Services
 
Maximizing the Customer Experience with AI on AWS - MCL302 - re:Invent 2017
Maximizing the Customer Experience with AI on AWS - MCL302 - re:Invent 2017Maximizing the Customer Experience with AI on AWS - MCL302 - re:Invent 2017
Maximizing the Customer Experience with AI on AWS - MCL302 - re:Invent 2017Amazon Web Services
 
Serverless-First Function: Serverless application security
Serverless-First Function: Serverless application securityServerless-First Function: Serverless application security
Serverless-First Function: Serverless application securityRobSutter2
 
AWS Startup Garage - Building your MVP on AWS
AWS Startup Garage - Building your MVP on AWSAWS Startup Garage - Building your MVP on AWS
AWS Startup Garage - Building your MVP on AWSCobus Bernard
 
AWS Shared Security Model in Practice
AWS Shared Security Model in PracticeAWS Shared Security Model in Practice
AWS Shared Security Model in PracticeAlert Logic
 
AWS re:Invent Comes to London 2019 - Management Tools
AWS re:Invent Comes to London 2019 - Management ToolsAWS re:Invent Comes to London 2019 - Management Tools
AWS re:Invent Comes to London 2019 - Management ToolsAmazon Web Services
 
Microservices for Startups - Donnie Prakoso - AWS - CC18
Microservices for Startups - Donnie Prakoso - AWS - CC18Microservices for Startups - Donnie Prakoso - AWS - CC18
Microservices for Startups - Donnie Prakoso - AWS - CC18CodeOps Technologies LLP
 
A Culture of Rapid Innovation with DevOps, Microservices, & Serverless - MAD2...
A Culture of Rapid Innovation with DevOps, Microservices, & Serverless - MAD2...A Culture of Rapid Innovation with DevOps, Microservices, & Serverless - MAD2...
A Culture of Rapid Innovation with DevOps, Microservices, & Serverless - MAD2...Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 

Similar to Message-Driven Architecture on AWS (20)

Innovate - Breaking Down The Monolith
Innovate - Breaking Down The MonolithInnovate - Breaking Down The Monolith
Innovate - Breaking Down The Monolith
 
20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...
 
5 incredible (and uncommon) serverless patterns
5 incredible (and uncommon) serverless patterns5 incredible (and uncommon) serverless patterns
5 incredible (and uncommon) serverless patterns
 
AWS Scalable Architectures - Serverless
AWS Scalable Architectures - ServerlessAWS Scalable Architectures - Serverless
AWS Scalable Architectures - Serverless
 
AWS PROTECTED Certification - Lunch & Learn
  AWS PROTECTED Certification - Lunch & Learn  AWS PROTECTED Certification - Lunch & Learn
AWS PROTECTED Certification - Lunch & Learn
 
20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless 20200520 - Como empezar a desarrollar aplicaciones serverless
20200520 - Como empezar a desarrollar aplicaciones serverless
 
Strengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdfStrengthen Your Organizations Security and Privacy.pdf
Strengthen Your Organizations Security and Privacy.pdf
 
JFokus 2020 - How to migrate an application to serverless
JFokus 2020 - How to migrate an application to serverlessJFokus 2020 - How to migrate an application to serverless
JFokus 2020 - How to migrate an application to serverless
 
DevConZM - Modern Applications Development in the Cloud
DevConZM - Modern Applications Development in the CloudDevConZM - Modern Applications Development in the Cloud
DevConZM - Modern Applications Development in the Cloud
 
Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...
Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...
Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...
 
MSC204_Leverage AWS Marketplace to accelerate production ready workloads
MSC204_Leverage AWS Marketplace to accelerate production ready workloadsMSC204_Leverage AWS Marketplace to accelerate production ready workloads
MSC204_Leverage AWS Marketplace to accelerate production ready workloads
 
MCL302_Maximizing the Customer Experience with AI on AWS
MCL302_Maximizing the Customer Experience with AI on AWSMCL302_Maximizing the Customer Experience with AI on AWS
MCL302_Maximizing the Customer Experience with AI on AWS
 
Maximizing the Customer Experience with AI on AWS - MCL302 - re:Invent 2017
Maximizing the Customer Experience with AI on AWS - MCL302 - re:Invent 2017Maximizing the Customer Experience with AI on AWS - MCL302 - re:Invent 2017
Maximizing the Customer Experience with AI on AWS - MCL302 - re:Invent 2017
 
Serverless-First Function: Serverless application security
Serverless-First Function: Serverless application securityServerless-First Function: Serverless application security
Serverless-First Function: Serverless application security
 
AWS Startup Garage - Building your MVP on AWS
AWS Startup Garage - Building your MVP on AWSAWS Startup Garage - Building your MVP on AWS
AWS Startup Garage - Building your MVP on AWS
 
AWS Shared Security Model in Practice
AWS Shared Security Model in PracticeAWS Shared Security Model in Practice
AWS Shared Security Model in Practice
 
AWS re:Invent Comes to London 2019 - Management Tools
AWS re:Invent Comes to London 2019 - Management ToolsAWS re:Invent Comes to London 2019 - Management Tools
AWS re:Invent Comes to London 2019 - Management Tools
 
Microservices for Startups - Donnie Prakoso - AWS - CC18
Microservices for Startups - Donnie Prakoso - AWS - CC18Microservices for Startups - Donnie Prakoso - AWS - CC18
Microservices for Startups - Donnie Prakoso - AWS - CC18
 
A Culture of Rapid Innovation with DevOps, Microservices, & Serverless - MAD2...
A Culture of Rapid Innovation with DevOps, Microservices, & Serverless - MAD2...A Culture of Rapid Innovation with DevOps, Microservices, & Serverless - MAD2...
A Culture of Rapid Innovation with DevOps, Microservices, & Serverless - MAD2...
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 

More from jeromevdl

Do more with less code in a serverless world
Do more with less code in a serverless worldDo more with less code in a serverless world
Do more with less code in a serverless worldjeromevdl
 
DevopsDays Geneva 2020 - Compliance & Governance as Code
DevopsDays Geneva 2020 - Compliance & Governance as CodeDevopsDays Geneva 2020 - Compliance & Governance as Code
DevopsDays Geneva 2020 - Compliance & Governance as Codejeromevdl
 
Softshake 2017 - Développer un chatbot Alexa
Softshake 2017 - Développer un chatbot AlexaSoftshake 2017 - Développer un chatbot Alexa
Softshake 2017 - Développer un chatbot Alexajeromevdl
 
Chatbots buzzword ou nouvel eldorado
Chatbots   buzzword ou nouvel eldoradoChatbots   buzzword ou nouvel eldorado
Chatbots buzzword ou nouvel eldoradojeromevdl
 
Management projet vs management produit
Management projet vs management produitManagement projet vs management produit
Management projet vs management produitjeromevdl
 
Softshake - Offline applications
Softshake - Offline applicationsSoftshake - Offline applications
Softshake - Offline applicationsjeromevdl
 
My Android is not an iPhone like any others (Mdevcon 2014)
My Android is not an iPhone like any others (Mdevcon 2014)My Android is not an iPhone like any others (Mdevcon 2014)
My Android is not an iPhone like any others (Mdevcon 2014)jeromevdl
 
DroidconUK 2013 : Beef up android apps with java tools
DroidconUK 2013 : Beef up android apps with java toolsDroidconUK 2013 : Beef up android apps with java tools
DroidconUK 2013 : Beef up android apps with java toolsjeromevdl
 
Droidcon Paris 2013 - Musclez vos applications Android avec les outils du mon...
Droidcon Paris 2013 - Musclez vos applications Android avec les outils du mon...Droidcon Paris 2013 - Musclez vos applications Android avec les outils du mon...
Droidcon Paris 2013 - Musclez vos applications Android avec les outils du mon...jeromevdl
 
Devoxx France 2013 : Musclez vos apps android avec les outils du monde java
Devoxx France 2013 : Musclez vos apps android avec les outils du monde javaDevoxx France 2013 : Musclez vos apps android avec les outils du monde java
Devoxx France 2013 : Musclez vos apps android avec les outils du monde javajeromevdl
 
Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013jeromevdl
 

More from jeromevdl (12)

Do more with less code in a serverless world
Do more with less code in a serverless worldDo more with less code in a serverless world
Do more with less code in a serverless world
 
DevopsDays Geneva 2020 - Compliance & Governance as Code
DevopsDays Geneva 2020 - Compliance & Governance as CodeDevopsDays Geneva 2020 - Compliance & Governance as Code
DevopsDays Geneva 2020 - Compliance & Governance as Code
 
Softshake 2017 - Développer un chatbot Alexa
Softshake 2017 - Développer un chatbot AlexaSoftshake 2017 - Développer un chatbot Alexa
Softshake 2017 - Développer un chatbot Alexa
 
Chatbots buzzword ou nouvel eldorado
Chatbots   buzzword ou nouvel eldoradoChatbots   buzzword ou nouvel eldorado
Chatbots buzzword ou nouvel eldorado
 
Management projet vs management produit
Management projet vs management produitManagement projet vs management produit
Management projet vs management produit
 
Softshake - Offline applications
Softshake - Offline applicationsSoftshake - Offline applications
Softshake - Offline applications
 
My Android is not an iPhone like any others (Mdevcon 2014)
My Android is not an iPhone like any others (Mdevcon 2014)My Android is not an iPhone like any others (Mdevcon 2014)
My Android is not an iPhone like any others (Mdevcon 2014)
 
DroidconUK 2013 : Beef up android apps with java tools
DroidconUK 2013 : Beef up android apps with java toolsDroidconUK 2013 : Beef up android apps with java tools
DroidconUK 2013 : Beef up android apps with java tools
 
Droidcon Paris 2013 - Musclez vos applications Android avec les outils du mon...
Droidcon Paris 2013 - Musclez vos applications Android avec les outils du mon...Droidcon Paris 2013 - Musclez vos applications Android avec les outils du mon...
Droidcon Paris 2013 - Musclez vos applications Android avec les outils du mon...
 
Devoxx France 2013 : Musclez vos apps android avec les outils du monde java
Devoxx France 2013 : Musclez vos apps android avec les outils du monde javaDevoxx France 2013 : Musclez vos apps android avec les outils du monde java
Devoxx France 2013 : Musclez vos apps android avec les outils du monde java
 
Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013Jug Lausanne Android Janvier2013
Jug Lausanne Android Janvier2013
 
Metroide
MetroideMetroide
Metroide
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Message-Driven Architecture on AWS

  • 1. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Jerome Van Der Linden (@jeromevdl) Message-Driven Architecture with AWS Worldwide Software Architecture Summit 26th of January 2021
  • 2. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Who am I ? Jérôme Van Der Linden Solutions Architect @ AWS (Geneva, Switzerland) Former consultant, developer, tech lead, agile & devops coach, architect @ OCTO Technology Husband and Dad of 3 @jeromevdl
  • 3. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Agenda Monolith to Microservices Microservices to Reactive Microservices Message-Driven Architecture on AWS Wrap-up
  • 4. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Monoliths to Microservices
  • 5. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Monoliths Do not throw the baby out with the bath water… - Simple to develop and refactor - Simple to test (integration, end-to-end) - Single deployment process - Single application to monitor - Consistency https://martinfowler.com/bliki/MonolithFirst.html
  • 6. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Monoliths … but definitely some limits! - Strong coupling: less flexibility / agility - High impact of change - Redeploy everything - Risks of blast radius - Reliability - One failure can bring down the whole application - Rigid scaling - Often stateful - Limited to the database scalability - Development lifecycle is typically slow - Continuous deployment is difficult - Barrier to adopting new technologies
  • 7. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Microservices Microservices to the rescue… - Reduced coupling - Smaller impact of changes - Independent deployments - Better reliability - Independent scaling - Smaller unit of development: - Humanely understandable - More suitable for adopting new technologies
  • 8. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Microservices … but it is not that magic! - Reduced coupling - Smaller impact of changes - Independent deployments - Better reliability - Independent scaling - Smaller unit of development: - Humanely understandable - More suitable for adopting new technologies Are you sure?
  • 9. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Microservices to Reac8ve Microservices
  • 10. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Microservices communica=on Order Service Invoice Service
  • 11. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Synchronous communica=on Order Service Invoice Service 🙂 201 created 201 created 😀
  • 12. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark 🙂 Synchronous communica=on Order Service Invoice Service 500 internal server error 503 service unavailable ☹
  • 13. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Synchronous communica=on What’s the problem ? - No isolation between services è still coupled - Risk of timeout or cascading failures è still unreliable - What if the signature of invoice API change ? è still dependent
  • 14. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Reac=ve Principles Responsive Resilient Elastic Message-Driven https://www.reactivemanifesto.org/
  • 15. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Message-Driven (Asynchronous) Communica=on Order Service Invoice Service 🙂 202 accepted 😀 order created
  • 16. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Message-Driven (Asynchronous) Communica=on Order Service Invoice Service 🙂 202 accepted 😀 order created
  • 17. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Message-Driven (Asynchronous) Communica=on Isolation between services: - Less risk of timeout è more responsive - No more cascading failure è more resilient è more responsive - What if the signature of invoice API change ? è No problem 😀 !
  • 18. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Message-Driven Architecture on AWS
  • 19. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark (Serverless) Messaging services on AWS Amazon SNS Amazon EventBridge Amazon SQS
  • 20. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon Simple Queue Service (SQS) Producer SQS Queue Decouple producers from consumers. Messages polled by consumers Amazon SQS Fully managed Message Queuing service Consumers AWS Lambda Container Instance / VM Standard • At-least once delivery • Best-effort ordering Messages are stored up to 14 days.
  • 21. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon Simple Queue Service (SQS) Producer Consumers AWS Lambda Amazon SQS Fully managed Message Queuing service SQS Queue Decouple producers from consumers Messages polled by consumers Container Instance / VM FIFO • Exactly once delivery • Keep ordering 1 2 3
  • 22. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon Simple Queue Service (SQS) Producer Consumers AWS Lambda Amazon SQS Fully managed Message Queuing service SQS Queue Decouple producers from consumers Long Polling Container Instance / VM
  • 23. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon Simple Queue Service (SQS) Producer Consumers AWS Lambda Amazon SQS Fully managed Message Queuing service SQS Queue Decouple producers from consumers Messages polled by consumers Container Instance / VM Dead-letter Queue If a message can’t be processed successfully it can be held in a queue
  • 24. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Common paIern with SQS: Storage-first Amazon API Gateway Amazon SQS Queue Dead letter Queue AWS Lambda Client …
  • 25. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon Simple No=fica=on Service (SNS) Amazon SNS Fully managed publish & subscribe messaging service SNS Topic Decouple message publisher from subscribers with topics Publisher Messages pushed to subscribers Subscribers AWS Lambda Amazon SQS HTTP/S Email / SMS Amazon Kinesis Data Firehose
  • 26. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon Simple No=fica=on Service (SNS) Amazon SNS Fully managed publish & subscribe messaging service SNS Topic Decouple message publisher from subscribers with topics Publisher FIFO Subscribers AWS Lambda Amazon SQS FIFO HTTP/S Email / SMS Amazon Kinesis Data Firehose 1 2
  • 27. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon Simple No=fica=on Service (SNS) Fan Out Publisher Amazon SNS Fully managed publish & subscribe messaging service SNS Topic Decouple message publisher from subscribers with topics Subscribers AWS Lambda Amazon SQS HTTP/S Email / SMS Amazon Kinesis Data Firehose
  • 28. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon Simple No=fica=on Service (SNS) Publisher Amazon SNS Fully managed publish & subscribe messaging service SNS Topic Decouple message publisher from subscribers with topics Message Filtering Filter messages according to subscription filter policies Subscribers AWS Lambda Amazon SQS HTTP/S Email / SMS Amazon Kinesis Data Firehose
  • 29. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon Simple No=fica=on Service (SNS) Publisher Amazon SNS Fully managed publish & subscribe messaging service SNS Topic Decouple message publisher from subscribers with topics Message Filtering Filter messages according to subscription filter policies Dead-letter Queue If a subscriber is unavailable, messages can be held in a queue Subscribers AWS Lambda Amazon SQS HTTP/S Email / SMS Amazon Kinesis Data Firehose
  • 30. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Common paIern with SNS & SQS: Topic-Queue Chaining Amazon SQS Queue A Backend A Publisher Amazon SNS Topic Amazon SQS Queue B Backend B Amazon SQS Queue C Backend C
  • 31. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon EventBridge Amazon EventBridge Fully managed event bus to connect applications Event Sources AWS Services Custom events SaaS events Events pushed to targets Rules Rules filter and send events to target Event Bus Default event bus Custom event bus SaaS event bus Decouple event sources and targets Targets (20+) AWS Lambda Amazon SQS Amazon SNS AWS Step Functions Amazon Kinesis AWS Batch Amazon API Gateway Amazon EC2 Instance Amazon ECS Task
  • 32. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon EventBridge Event Sources Amazon EventBridge Fully managed event bus to connect applications Event Bus Targets (20+) AWS Lambda Amazon SQS AWS Services Custom events SaaS events Default event bus Custom event bus SaaS event bus Rules Amazon SNS AWS Step Functions Amazon Kinesis AWS Batch Amazon API Gateway Amazon EC2 Instance Amazon ECS Task Dead-letter Queue If a target is unavailable, events can be held in a queue
  • 33. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon EventBridge Event Sources Amazon EventBridge Fully managed event bus to connect applications Event Bus Targets (20+) AWS Lambda Amazon SQS AWS Services Custom events SaaS events Default event bus Custom event bus SaaS event bus Rules Amazon SNS AWS Step Functions Amazon Kinesis AWS Batch Amazon API Gateway Amazon EC2 Instance Amazon ECS Task Event Archive Store all events and enables replays
  • 34. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon EventBridge Event Sources Amazon EventBridge Fully managed event bus to connect applications Event Bus Targets (20+) AWS Lambda AWS Services Custom events SaaS events Default event bus Custom event bus SaaS event bus Rules AWS Step Functions AWS Batch Amazon API Gateway Amazon EC2 Instance Amazon ECS Task Schema Registry Collection of event structures (schema) … Code Binding Schema Discovery Schema Publication
  • 35. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Common paIern with EventBridge: Microservices Choreography
  • 36. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Wrap-up
  • 37. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Services Comparison Amazon SQS Amazon SNS Amazon EventBridge Type Queue (Pull) Publish / Subscribe (Push) Publish / Subscribe (Push) Persistence Yes (Up to 14 days, default: 4 days) No (retry up to 23 days + DLQ) No (retry up to 24h + DLQ + Archives) Ordering FIFO FIFO No Delivery Standard: at least once FIFO: exactly once Standard: at least once FIFO: exactly once At least once Filtering Yes Yes No Consumers Millions 5 per rule / Target services Lambda (+ compute & SDK) 2 (+ HTTP/SMS/Email/Push) 20+ Throughput * Price * Standard: Almost unlimited FIFO: 3 000 TPS (soft) Standard: 30 000 TPS (soft) FIFO: 300 TPS (soft) 10 000 TPS (soft) $ per million API requests Standard ≤ 0.4 / FIFO ≤ 0.5 $ per million API requests: 0.5 $ per million events: 1 * depends on the region (us-east-1)
  • 38. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Conclusion Message-Driven architectures drive resilience and elas3city è responsiveness Asynchronous Events Improve responsiveness and reduce dependencies Event Stores Buffer messages until services are available to process Event Routers Abstract producers and consumers from each other
  • 39. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Resources
  • 40. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark • Building event-driven applications with Amazon EventBridge • https://virtual.awsevents.com/media/1_w2mhd582 • Scalable serverless event-driven architectures with SNS, SQS & Lambda • https://virtual.awsevents.com/media/1_o5hp8egy • Decoupling serverless workloads with Amazon EventBridge • https://virtual.awsevents.com/media/1_upe6mtew • Choosing the right event-routing service for serverless: EventBridge, SNS, or SQS • https://lumigo.io/blog/choosing-the-right-event-routing-on-aws-eventbridge-sns-or-sqs
  • 41. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Thank you @jeromevdl