Hi Reader ππ½
in this issue we'll explore the core services to build Event-Driven Architectures (EDA) with AWS. π¨
Like the name already suggest, EDA do rely on events (=> messages) that are used to trigger code executions.
An event can be any change or update in any part of the system, e.g. a user interaction or a message from another system.
By building apps in this way, we can deliver exceptional high responsiveness, flexibility, and scalability.
Who is our major suspect for creating such architectures on AWS? π΅οΈββοΈ
=> Actually, there are 3 of them! β¨
But how do they differ and when to use what?
That's exactly what we want to explore in this weeks issue!
Let's go! π
β
Services like SNS, SQS, and EventBridge provide a way to send and receive messages between different components of an application. This allows them to communicate and therefore work together.
This can be useful in situations where components need to be decoupled, such as for...
Additionally, they help to make systems very resilient as they allow them to respond to incidents with reprocessing of events.
Those services and the resulting architecture when using them properly result in various benefits, including:
Those benefits are just an outtake and surely nothing comes with trade-offs compared to monolithic and/or synchronous systems.
SQS, a fully-managed queuing service, allows you to send, store, and receive messages between various AWS services and components. It enables asynchronous communication between different parts of your application.
The main concepts of SQS are:
SNS is a managed messaging service that allows you to (mass) send notifications to either endpoints or clients. It's based on the publish/subscribed pattern and can be therefore used to fan-out messages to multiple recipients.
Key concepts of SNS are:
EventBridge is a serverless event bus service that allows you to easily route events between different services and components. It drastically helps to build loosely-coupled systems that can quickly adapt to changing requirements.
Key concepts:
β
We've covered the fundamentals of the three core messaging services. As they not only differ in their feature set but also in how they work, it's important to know when to use which service.
Let's phrase this into a small summary:
β
By leveraging SQS, SNS, and EventBridge, you can build highly fault-tolerant, event-driven systems with a high degree of flexibility as components are never strictly coupled.
Due to their pay-as-you-go pricing models, they are also a perfect starting point to discover, learn about and build complex architectures on AWS.
We hope you've learned something new in this issue!
See you in two weeks!
Sandro & Tobi π
If you want to continue reading, have a look at our recent blog posts in which we cover the different AWS Compute Services or How to Keep Your Account Secure with Multi-Factor Authentication π
Join our community of over 8,800 readers delving into AWS. We highlight real-world best practices through easy-to-understand visualizations and one-pagers. Expect a fresh newsletter edition every two weeks.
β Reading time: 17 minutes π Main Learning: Observability at Scale with Open-Source πΎ GitHub Repository βοΈ Read the Full Post Online π Hey Reader ππ½ Welcome to this edition of the AWS Fundamentals newsletter! In this issue, we're focusing on observability with open-source tools on AWS. As most of you already know, we can use Amazon CloudWatch and X-Ray to monitor our application from every angle. But what if we want to hybrid setup where we run certain parts of our ecosystem outside of AWS?...
β Reading time: 9 minutes π Main Learning: Polling or WebSockets: Choosing with Amazon API Gateway πΎ GitHub Repository βοΈ Read the Full Post Online π Hey Reader ππ½ What would you use for quick and regular data updates inside your web app? Or let's phrase it another way: how would you choose between Polling and WebSockets? π Understanding the nuances between these two communication methods is important, as they both come with their own advantages, gotchas, and side effects that are not very...
β Reading time: 6 minutes π Main Learning: DynamoDB Global Tables πΎ GitHub Repository βοΈ Read the Full Post Online π Hey Reader ππ½ DynamoDB is one of the most popular AWS services that requires minimal management. However, as Dr. Werner Vogels reminds us: βEverything Fails All the Time.β β‘οΈ Therefore, even with managed services like DynamoDB, being prepared for a regional outage is important. The good thing: with DynamoDB Global Tables, you can easily replicate tables across multiple AWS...