You'll like the integrations so much that you'll forgive the UI
January 26, 2019
You'll like the integrations so much that you'll forgive the UI
Score 8 out of 10
Vetted Review
Verified User
Overall Satisfaction with Amazon Simple Notification Service (SNS)
The engineering and data teams at my organization use Amazon SNS for two purposes. The first is to create simple notifications for non-emergency alerts. It is easy to configure a CloudWatch alarm, create an SNS topic, and subscribe some email addresses to the topic. The second purpose is to use topics and pub/sub messaging to decouple micro-services. AWS Lambda has an SNS trigger; it is easy to build functions and invoke them when events are published.
Pros
- The AWS Lambda SNS trigger is great. Subscribing multiple Lambda functions to an SNS topic is a nice way to decouple features.
- SNS is fully-managed. Our team is too small to manage our own pub/sub infrastructure.
- Subscribing email endpoints to SNS topics and integrating topics with CloudWatch alerts is very easy; we create more non-emergency notifications than we would without SNS.
Cons
- The SNS Console has not been updated in a long time, and it was confusing to begin with.
- Testing systems that use SNS end-to-end can be tricky; LocalStack somewhat ameliorates this problem.
- Debugging is difficult.
- The ability to trigger AWS Lambda functions when messages are published to topics is a great pattern. It allows us to build features that are inexpensive to run and maintain.
- Our developers are more likely to create notifications for non-emergency alerts because SNS makes it so easy to send emails for CloudWatch alarms. This helps us to be mindful of problems that may require attention but are not worth waking anyone up at night.
- Some teammates have experimented with SNS for push notifications; they were disappointed by the lack of features and difficulty in debugging.
Many products, including PagerDuty, can be used to notify stakeholders when alarms are triggered. SNS is only suitable for non-emergency email alerts, and integration with CloudWatch is its only advantage. If you want to be notified of an issue by email, SNS can be configured in seconds. It is not suitable for any of PagerDuty's other use-cases.
As a pub/sub system, SNS is somewhat similar to Apache Kafka. Queues may be suitable for some use-cases; Amazon SQS may be appropriate in these cases.
As a pub/sub system, SNS is somewhat similar to Apache Kafka. Queues may be suitable for some use-cases; Amazon SQS may be appropriate in these cases.
Comments
Please log in to join the conversation