AWS Serverless
Event-driven
Architecture
Agenda
● EDA
● Serverless related to EDA
● DEMO
EDA
Event-driven architectures are an architecture style that
uses events and asynchronous communication to
loosely coupled an application’s components. Event-
driven architectures can help you boost agility and build
reliable, scalable applications
Serverless Architecture
Serverless architectures are application designs that
incorporate third-party “Backend as a Service” (BaaS) services,
and/or that include custom code run in managed, ephemeral
containers on a Functions as a Service (FaaS) platform.
- Martin Fowler
Serverless
Serverless services like Amazon EventBridge, AWS Step
Functions, Amazon SQS, Amazon SNS, and AWS Lambda
have a natural affinity with event-driven architectures -
they are invoked by events, emit events, and have built-in
capabilities for building with events
AWS Offerings
Services related EDA
Use Case
“Create a platform which extract Hotel suppliers data (both static & dynamic)
and publish into Shopping catalogs to meet the consistency near real time
for User Search. The platform should scale independently for static & dynamic
funnel. Also the business wants to analyse the change frequency of data for
future evolution”.
Demo - Data Ingestion Flow
Upload Static &
dynamic part of
hotel data
Orchestrate
the events
Shop
Projection
Function to read S3
content and update
DynamoDB
● Highly scalable, available, secure object storage.
● A storage with higher durability 99.999999999%.
● It delivers Strong read after write consistency.
Trigger
after a
successful
import
process
● Evolved from Cloudwatch events.
● It's an Event bus that lets you receive, filter, transform, route, and
deliver events.
● Fully Managed NOSQL Database.
● Delivers apps with consistent single digit millisecond performance.
● Nearly unlimited throughput and storage & automatic multi region
replication.
Demo - Shopping Flow
Expose Shop
API’s
Shop
Projection
Function to read
data from
dynamoDB
Users
Static
website
hosting
● Different use case for S3: it can be used for static website hosting
● Working with multiple API versions and environments
● Controlling access and authorization
● Managing traffic spikes
Demo - Data Streaming
Upload Static &
dynamic part of
hotel data
Store the
data
streams
Orchestrate the
Events
Users
● Collect streaming data in real time - Many -> many
● Store events and allows replay
● Analytics real time
Demo - Complete View
Upload Static &
dynamic part of
hotel data
Orchestrate
the events
Shop
Projection
Function to read S3
content and update
DynamoDB
Expose Shop
API’s
Function to read
data from
dynamoDB
Users
Store the
data
streams
Serverless Developer Friendly
Build App
Questions
References
● Tutorial: Log Amazon S3 object-level operations using EventBridge - Amazon EventBridge
● Tutorial: Build a CRUD API with Lambda and DynamoDB - Amazon API Gateway
● Tutorial: Configuring a static website on Amazon S3
● Tutorial: Send data to an Amazon Kinesis Stream using EventBridge
Thank you

AWS Serverless Event-driven Architecture - in lastminute.com meetup

  • 1.
  • 2.
    Agenda ● EDA ● Serverlessrelated to EDA ● DEMO
  • 3.
    EDA Event-driven architectures arean architecture style that uses events and asynchronous communication to loosely coupled an application’s components. Event- driven architectures can help you boost agility and build reliable, scalable applications
  • 4.
    Serverless Architecture Serverless architecturesare application designs that incorporate third-party “Backend as a Service” (BaaS) services, and/or that include custom code run in managed, ephemeral containers on a Functions as a Service (FaaS) platform. - Martin Fowler
  • 5.
    Serverless Serverless services likeAmazon EventBridge, AWS Step Functions, Amazon SQS, Amazon SNS, and AWS Lambda have a natural affinity with event-driven architectures - they are invoked by events, emit events, and have built-in capabilities for building with events
  • 6.
  • 7.
  • 8.
    Use Case “Create aplatform which extract Hotel suppliers data (both static & dynamic) and publish into Shopping catalogs to meet the consistency near real time for User Search. The platform should scale independently for static & dynamic funnel. Also the business wants to analyse the change frequency of data for future evolution”.
  • 9.
    Demo - DataIngestion Flow Upload Static & dynamic part of hotel data Orchestrate the events Shop Projection Function to read S3 content and update DynamoDB ● Highly scalable, available, secure object storage. ● A storage with higher durability 99.999999999%. ● It delivers Strong read after write consistency. Trigger after a successful import process ● Evolved from Cloudwatch events. ● It's an Event bus that lets you receive, filter, transform, route, and deliver events. ● Fully Managed NOSQL Database. ● Delivers apps with consistent single digit millisecond performance. ● Nearly unlimited throughput and storage & automatic multi region replication.
  • 10.
    Demo - ShoppingFlow Expose Shop API’s Shop Projection Function to read data from dynamoDB Users Static website hosting ● Different use case for S3: it can be used for static website hosting ● Working with multiple API versions and environments ● Controlling access and authorization ● Managing traffic spikes
  • 11.
    Demo - DataStreaming Upload Static & dynamic part of hotel data Store the data streams Orchestrate the Events Users ● Collect streaming data in real time - Many -> many ● Store events and allows replay ● Analytics real time
  • 12.
    Demo - CompleteView Upload Static & dynamic part of hotel data Orchestrate the events Shop Projection Function to read S3 content and update DynamoDB Expose Shop API’s Function to read data from dynamoDB Users Store the data streams
  • 13.
  • 14.
  • 15.
    References ● Tutorial: LogAmazon S3 object-level operations using EventBridge - Amazon EventBridge ● Tutorial: Build a CRUD API with Lambda and DynamoDB - Amazon API Gateway ● Tutorial: Configuring a static website on Amazon S3 ● Tutorial: Send data to an Amazon Kinesis Stream using EventBridge
  • 16.