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 9,300 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.
Newsletter Header AWS FOR THE REAL WORLD ⏱️ Reading time: 8 minutes 🎓 Main Learning: Migrating from Edgio to CloudFront ✍️ Blog Post 💻 GitHub Repository Hey Reader 👋🏽 this newsletter is about 🥁 AI 🤖 We haven't talked too much about AI, Bedrock, MCPs, and agents yet - so we want to change that. Please let us know if this it interests you to build AI on AWS, or if you are much more interested on hands-on fundamentals services. Should we focus on AI Services? Yes, I want to learn to build...
Newsletter Header AWS FOR THE REAL WORLD ⏱️ Reading time: 8 minutes 🎓 Main Learning: Migrating from Edgio to CloudFront ✍️ Blog Post 💻 GitHub Repository Hey Reader 👋🏽 This newsletter edition is all about saving Lambda costs. I (Sandro is writing this one) was recently involved in saving Lambda costs for a client. So, I thought writing down my thought process was a good idea. Have fun with it! If you need help saving AWS costs or improving your infrastructure, just reply to this email! Now...
⌛ Reading time: 8 minutes 🎓 Main Learning: Federated Authentication with Cognito 👾 GitHub Repository ✍️ Read the Full Post Online 🔗 Hey Reader 👋🏽 Federated Authentication lets users sign in to your app using their existing accounts - most prominently Google! This approach eliminates the need to create and remember new credentials (which most users are very happy for! ✨), improving user experience and likely increasing conversion rates. 📈 With OAuth 2.0 and Google as an identity provider, we...