Amazon SES vs Amazon SNS: What are the differences?
What is Amazon SES? Bulk and transactional email-sending service. Amazon SES eliminates the complexity and expense of building an in-house email solution or licensing, installing, and operating a third-party email service. The service integrates with other AWS services, making it easy to send emails from applications being hosted on services such as Amazon EC2.
What is Amazon SNS? Fully managed push messaging service. Amazon Simple Notification Service makes it simple and cost-effective to push to mobile devices such as iPhone, iPad, Android, Kindle Fire, and internet connected smart devices, as well as pushing to other distributed services. Besides pushing cloud notifications directly to mobile devices, SNS can also deliver notifications by SMS text message or email, to Simple Queue Service (SQS) queues, or to any HTTP endpoint.
Amazon SES belongs to "Transactional Email" category of the tech stack, while Amazon SNS can be primarily classified under "Mobile Push Messaging".
Some of the features offered by Amazon SES are:
- Simple – Amazon SES eliminates the complexity of licensing, installing, and operating a third-party service, or building and maintaining an internally hosted email solution. Sending email through Amazon SES is as simple as using SMTP or calling an API, and Amazon SES makes it easy for you to monitor your sending activity and deliverability statistics.
- Inexpensive – There are no up-front fees or fixed expenses with Amazon SES, and you benefit from the efficiencies of Amazon’s scale. Your only costs are low charges for the number of emails sent and data transfer fees.
- Reliable – Amazon SES runs within Amazon’s proven network infrastructure and datacenters. All outgoing email messages are stored redundantly across multiple servers and datacenters, providing high availability and data durability.
On the other hand, Amazon SNS provides the following key features:
- In most cases, developers can get started with Amazon SNS by using just three APIs: CreateTopic, Subscribe, and Publish. Additional APIs are available, which provide more advanced functionality.
- With SNS you can publish a message once, and deliver it one or more times. So you can choose to direct unique messages to individual Apple, Google or Amazon devices, or broadcast deliveries to many mobile devices with a single publish request.
- SNS allows you to group multiple recipients using topics. A topic is an “access point” for allowing recipients to dynamically subscribe for identical copies of the same notification. One topic can support deliveries to multiple endpoint types -- for example, you can group together iOS, Android and SMS recipients. When you publish once to a topic, SNS delivers appropriately formatted copies of your message to each subscriber.
Stripe, PedidosYa, and Docplanner are some of the popular companies that use Amazon SES, whereas Amazon SNS is used by SendGrid, PedidosYa, and Clever. Amazon SES has a broader approval, being mentioned in 1283 company stacks & 274 developers stacks; compared to Amazon SNS, which is listed in 227 company stacks and 76 developer stacks.
What is Amazon SES?
What is Amazon SNS?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Amazon SES?
What are the cons of using Amazon SNS?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
We decided to use AWS Lambda for several serverless tasks such as
- Managing AWS backups
- Processing emails received on Amazon SES and stored to Amazon S3 and notified via Amazon SNS, so as to push a message on our Redis so our Sidekiq Rails workers can process inbound emails
- Pushing some relevant Amazon CloudWatch metrics and alarms to Slack
Our internal emails (such as exception notifications) are sent via Amazon SES, since it's cheaper than using Sendgrid. We also use Amazon SES as a fallback in case we have deliverability issues with Sendgrid.
Our primary transport mechanism for events. One SNS topic carries a specific event type and n-number of subscribers (usually a Lambda) may subscribe to that event.
Amazon SNS is used for push notification to push notifications of the occurrence of different events during operations of our computing resources on AWS cloud.
We use SNS for platform-agnostic mobile push message handling, essentially to avoid dealing with APNS ourselves.
I mainly use it for the infrastructure notifications and alarms of zerotoherojs.com ’s learning dashboards.
Sending transactional emails, such as reminders, contact form notifications, confirmations …etc.
Amazon SES is the email service we commonly use in clous AWS e-commerce infrastructure.
Some e-mail communication needs a independent provider, for these purposes we use SES.
Good enough, could get a bit more TLC from AWS to beef up compared to the competition