Amazon Web Services (AWS) offers a various messaging services, two of the most used messaging services are Amazon Simple Email Service (SES) and Amazon Simple Notification Service (SNS).
Both services are designed to send messages to users or customers, but both differ in their functionality, target audience, and use cases.
💡 As an aside, check out the AWS Well-Architected Framework, which describes key concepts, design principles, and architectural best practices for designing and running workloads in the cloud.
1. Functionality
SES is an email service which can be integrated with any of the application for sending emails in bulk.
While Amazon Simple Notification Service (SNS) is used for sending push notifications, SMS messages and emails.
2. Purpose of use
SES is generally used by developers/engineers and business persons to send transactional emails and marketing emails.
While SNS is used to send real-time SMS messages, emails or push notifications to subscribers.
3. Protocol support
SES provides Simple Mail Transfer Protocol (SMTP) interface to send emails.
While SNS supports protocols such as HTTP/s, email, email-JSON, SMS, SQS etc.
4. Message format
SES allows sending emails in an HTML and text format.
While SNS messages are generally plain text.
5. Attachments
Email attachment meme
Using SES messages with attachments can be sent.
But using SNS messages with attachments cannot be sent.
💡 Speed up your blog creation with DifferAI. Available for free exclusively on the free and open blogging platform, Differ.
6. Content size
SES accepts messages up to 10MB in size including any images and attachments that are part of the message. Also customers can now request a limit increase to send and receive emails with a message size of up to 40MB.
While SNS accepts messages up to 256 KB in size.
7. Targeting recipients
SES can send emails to an individual email addresses or a group of recipients.
While SNS sends messages to topics that are subscribed to by one or more subscribers.
8. Subscription management
In SES, the recipient is added directly to the email list. Also you can get your domain verified to send emails to that domain email without getting verified them.
While in SNS, subscribers are added to a topic and receive all messages sent to that topic.
9. Cost
Photo by Mackenzie Marco on Unsplash
SES pricing is based on a pay-as-you-go model, which means you only pay for what you use
Under AWS free tier, SES offers free 62,000 outbound messages/month to any recipient when you call Amazon SES from an Amazon EC2 instance directly or through AWS Elastic Beanstalk, and free 1,000 inbound messages/month.
After free tier ends SES charges are as below:
- $0.10 per 1,000 emails sent
- $0.12 per GB of attachments sent
The cost of using AWS SNS is based on the number of messages you send and any additional features you use. The pricing for AWS SNS is also based on a pay-as-you-go model.
Under AWS free tier, SNS allows 1 million free mobile push notifications, 1,000 free notifications email/email-JSON notifications and 100,000 free HTTP/s notifications.
After free tier ends Amazon SES charges are as below:
- $0.50 per million mobile push notifications
- $2.00 per 100,000 email,email-JSON notifications
- $0.60 per million HTTP/s notifications
Thank you for reading, hope this article will help you in deciding which one to use for your use case.
Subscribe to stay tuned for upcoming articles.