Guest post by Yan Cui, who is an AWS Serverless Hero, and independent consultant. Hello Reader, SNS & EventBridge share many capabilities and can be used interchangeably in many situations. So, how do you know when to use which? Instead of judging them solely by their difference in capability (which is an important consideration!) e.g. SNS has FIFO, it would be helpful also to consider their respective design choices. This is subtly telegraphed in their respective limits and resource names. LimitsSNS has a soft limit of 12,500,000 subscriptions per topic, and EventBridge has a hard limit of 5 targets per rule. This limit is particularly relevant in 1-to-N communications, where you need to broadcast updates to many subscribers. Topics vs. Event BusesSNS has "topics", whereas EventBridge has "event buses". Topics imply a singular focus. Subscribers of a topic should expect all the messages to be related to that topic. Whereas an event bus has no such implied constraint and can take in events of all sorts. SNS supports only a handful of targets, whereas EventBridge supports many more, including AppSync, ECS and Step Functions. EventBridge can also ingest events from third-party vendors, transform the input for each target, and discover the schema of the ingested events. Both are relevant when EventBridge is used as the central hub of N-to-N communication, facilitating message exchange between many different publishers and consumers. This does not mean that SNS can't be used in N-to-N communication, only that it's not optimized for it. Currently, SNS supports FIFO topics whereas ordering is not guaranteed for EventBridge. SummaryEither SNS or EventBridge is fine in most simple use cases. However, these subtle differences matter a lot when you scale the use case for the enterprise. Where, you need to cater to many different workloads across many teams and services with different technology stacks. If you liked this and want to learn more about building serverless architectures on AWS, check out the Master Serverless newsletter at theburningmonk.com/subscribe. Yan shares weekly tips to help you become a better AWS developer in just 5 minutes a week. 🙏 Thank you Yan Raj here 👋 AWS Services to Study for SAI get this question a lot: What AWS services should you go deep on as an SA? The best way to approach this is to work backward from the most popular architectures and trends and map AWS services to them. I brought back my trusty whiteboard, explained the important architectures and trends, and mapped AWS services to them so that you can make a mental model and explain it better in the interviews. Here is the video: Keep learning and keep rocking 🚀, Raj |
Free Cloud Interview Guide to crush your next interview. Plus, real-world answers for cloud interviews, and system design from a top Solutions Architect at AWS.
Hello Reader, Let’s face it—times are tough. The job market isn’t looking great, and uncertainty is in the air. But here’s the silver lining: this isn’t the first time we’ve faced challenges like this. I’ve been through the 2008 recession, and while it wasn’t easy, I came out stronger on the other side. Today, I want to share with you four strategies that worked for me back then and can help you navigate this downturn with confidence. 🚀Go the Extra Mile It’s an employer’s world. If you’re in...
Hello Reader, I just returned from Kubecon London, where I presented to a packed audience on Amazon EKS Auto Mode, Karpenter, and newly launched community add-on support. This talk was not recorded, but don't fret! I recorded the talk with some extra pointers, and as a thank you for being a valued subscriber of this newsletter, I am sharing that video with you. Please enjoy, and let me know of any questions: Slides from the talk: London EKS Auto Mode_RajdeepSaha.pdf Here are a few major...
Hello Reader, In this edition, we will go over three important architectural patterns for interviews, as well as production projects. I bet "pen and paper" architects and influencers don't talk about the third pattern coz that one you only know if you implemented actual projects ;) Microservice This is the most common architectural pattern. You use microservices every day without knowing. Checking bank balances, reserving dinner at a restaurant, posting a movie review, buying something from...