Building Event-Driven Applications in AWS

Developer Advocate at AWS | Serverless <3
Search for a command to run...

Developer Advocate at AWS | Serverless <3
No comments yet. Be the first to comment.
In this series you will find all the content related to building event-driven architectures with serverless in AWS.
There are many architectures out there to build cloud applications. The most common ones are choreographed, also known as event-driven and orchestrated architectures. In this article, I want to show you how to design and build orchestrated applicatio...
In this guide, you will go from zero to hero in your AWS Step Functions knowledge. If you are just getting started or you are already using this service, you will find for sure something for you. The guide is free and divided into different sections ...

Serverless is a great technology to build your artificial intelligence applications, as most of the AI services that AWS provides are serverless. In this article, you will find a list of resources that can be useful when getting started building appl...

Welcome to this comprehensive guide on using Amazon Kinesis for building serverless data streaming applications. This detailed guide will cover various aspects, ranging from what are data streaming applications, to understand the different services o...

Welcome to this comprehensive guide on using Amazon DynamoDB as the database for your web application. This detailed guide will cover various aspects, ranging from hosting your web app using AWS App Runner to understanding the fundamentals of Amazon ...

This blog post collects all the resources for the talk: "Building low-latency, event-driven applications" You can watch the whole session here: https://youtu.be/vVXS7L2ez2s?si=lJcAqnqELNQd8yIG Introduction AWS re:Invent 2022 - Keynote with Dr. Wern...

On this page
The most common architectures to build distributed applications are: choreographed, also known as event-driven and orchestrated architectures. In this article, I want to show you how to design and build event-driven applications in AWS. For that, we will use Amazon EventBridge.
First, we are going to look at what is Amazon EventBridge. Then we will jump into the design of event-driven applications. And finally, I will show you a lot of features and best practices from Amazon EventBridge to make your development easier.
Amazon EventBridge is a serverless event bus that makes it easier to build event-driven applications at scale using events generated from your applications, integrated Software-as-a-Service (SaaS) applications, and AWS services.
EventBridge works with rules. You define rules in the bus and when an event comes into de bus, EventBridge will compare that event against all the rules. If a rule matches, then EventBridge sends the event to the target. In this way you can have a decoupled architecture, as the producer of the event doesn't need to know about the consumer. The producer just creates an event and sends it to the event bus.
In the following video, we look at Amazon EventBridge and how to build a simple application using AWS SAM.
You can use EventBridge to build an event-driven application, but how you design one? Designing an event-driven application so everything gets documented and you can easily extend it takes some practice. In this video, you will learn how to design step-by-step an event-driven architecture.
EventBridge has lots of really interesting features and you can do quite a lot of things by leveraging them. In this section, I want to show you some of the most useful ones to help you build your applications.
Finding what is going on in an event-driven application can be hard. If you want to know if there is an issue, knowing what triggers what is quite challenging, even if you have a good documentation of your events. You might need to visit many consoles or logs to figure out where it went wrong. With a central place where all your events are located, you can start your investigation there. You can see what was the last event emitted and start your search in that service and see where it went wrong.
In this video, you will learn how to leverage custom buses to get a central logging for all the events in your application, so you can debug and pinpoint problems in your application super easily!
EventBridge API Destinations is a feature that allows you easily to call third party APIs directly from an EventBridge rule. This allows you to remove extra code and complexity in your applications.
Sometimes EventBridge cannot successfully deliver a event to the target specified in a rule. This can happen when, for example, the target resource is unavailable, when EventBridge lacks permission to the target resource, or due to network conditions.
EventBridge has a retry policy and will keep on trying to send your event, but after all the retry attempts are exhausted, EventBridge drops the event. To avoid losing events after they failed to be delivered, you can configure a dead-letter queue (DLQ) and send the failed events to it for processing later.
In this video, you will learn how to configure a DLQ into an EventBridge rule and how to set a CloudWatch alarm when this happens.
In these videos, you will learn how to do what we did before with AWS EventBridge but with AWS CDK.
EventBridge Pipes is the ultimate integration tool; it's the missing link between different event producers and consumers. With Pipes, you can filter and enrich events before they reach their target, saving you time and money.
Amazon EventBridge Pipes, a new feature from EventBridge that enables you to connect different event producers and consumers. EventBridge Pipes is a powerful launch from EventBridge, as it allows you to integrate different event producers and consumers together and perform filtering and enrichment of the events that flow in the pipe.
Previously, people had to rely on Lambda to do this. For instance, if you were using DynamoDB streams or Kinesis and you wanted to send those events to EventBridge, you had to put a Lambda in between and then send the events using the AWS SDK with a put event to EventBridge. Now, with Pipes, you can connect Amazon DynamoDB Streams, Kinesis Data Streams, SQS, Managed Kafka, and Amazon MQ to the fifteen different EventBridge targets, including Step functions, Kinesis DS, Lambda, and EventBridge.
Before sending them to the target, you can filter the events that you want to send, based on a filter rule. You are not charged for the events that are filtered out. You can transform and enrich the events using Lambda, Step functions, and APIs.
In this video you will see a demo of enrichment and filter of events with AWS SAM
In this video you will see a demo of how to track Application Events with DynamoDB streams and Email Notifications using EventBridge Pipes and AWS CDK
EventBridge Scheduler, is a new capability from Amazon EventBridge that allows you to create, run, and manage scheduled tasks at scale. With EventBridge Scheduler, you can schedule one-time or recurrently tens of millions of tasks across many AWS services without provisioning or managing underlying infrastructure.
Amazon EventBridge is the way to go when you need to build an event-driven application. This service has so many functionalities, so before getting to code I recommend you learn the basics about the service, its integrations and how to create rules.
You can check a similar post about Building orchestrated applications with AWS Step Functions