This year as I hosted AWS Summits in 12 different cities around the world, I met thousands of developers who are building powerful new applications for smartphones, tablets and other connected devices, all running mobile cloud backends on AWS.
These developers want to engage their users with timely, dynamic content even when the users haven’t opened their mobile apps. For example, baseball fans want to know as soon as their favorite team player hits a home run, so they can watch a video replay and catch the rest of the game. The rising proliferation of cheap and powerful sensors means not only apps but smart devices want to communicate important information. For example, your new car could warn you on your mobile phone when the door is not fully closed, so you can return to lock it properly.
Developers address these use cases with push notifications, which are short messages pushed from a backend server to a specific application on an end user's mobile device. Push offers similar user experiences to SMS, but with enhanced functionality and at a fraction of the cost.
While we have made it easy to build great mobile apps with AWS that use on-demand, scalable and reliable building blocks like EC2, DynamoDB, SQS and many others, supporting push notifications at large scale remains incredibly complicated for our customers. Amazon, Apple, and Google each maintains a free relay service that delivers notifications via persistent connections to devices running the platforms they own. Supporting millions of users on multiple mobile platforms means integrating with each of these platform-specific relay services, thus introducing operational complexity and cost for our customers.
Customers tell us that virtually all use cases for push notifications require an intermediary application to manage security tokens, queue outgoing messages, and abstract platform-specific APIs. Developers have told us that they build and maintain their own intermediary relay applications, even though they find the process of operating these intermediary relay applications to be painful and error prone. Building these proxy or relay services to be reliable and scalable so that you can push millions of notifications a day is difficult and our customers want us to make it easier.
Announcing Amazon SNS with Mobile Push
Today, we are enhancing Amazon Simple Notification Service (SNS) with Mobile Push to meet this customer request and support cross platform, device agnostic push notifications to iOS, Android and Kindle mobile devices natively within AWS. SNS Mobile Push alleviates the need to build and operate one’s own intermediary service, and enables developers to push once, deliver anywhere. This reduces the cost and complexity for developers, as they do not have to integrate and maintain different versions of the same push software for multiple mobile platforms. Instead, SNS Mobile Push enables notifications to be delivered directly to everyone who wants to receive them – regardless of which mobile, desktop or connected device they happen to be using.
Developers tell us that managing push notifications at large scale distracts them from building great apps. In some cases, this work is complex enough that it actually limits what the developers are willing to offer to their customers. For example, Crittercism tells us that delivering timely push notifications became so burdensome as they grew to touch 600 million devices, that they chose to stop offering push notifications in the past. They are now able to offer push notifications to their customers again using Amazon SNS and can notify tens of millions of users in a matter of seconds about critical app performance issues.
We chose to enhance Amazon SNS instead of building a separate mobile notification service because Amazon SNS was designed from day 1 to support multiple protocols and delivery methods (Email, SMS, SQS, HTTP etc.) and already operates at a massive scale delivering billions of notifications every day over these delivery methods.
By leveraging the scale of AWS and the existing SNS technology, we are able to offer the same cost effective prices for Mobile Push that we offer for Amazon SNS. Customers can send their first million notifications per month for free and then pay only for what they use beyond that, at $1.00 per million push notifications ($0.50 per million publishes and $0.50 per million push deliveries). They can use Mobile Push to target unique messages to individual devices, or broadcast identical messages to multiple devices at once.
Customers tell us SNS Mobile Push offers lower costs and operational burden, in addition to powerful scale and speed. For instance, Earth Networks used to build and manage its own push infrastructure but has now migrated to SNS Mobile Push because Amazon SNS Mobile Push is less expensive than the self-managed service they used to operate.
To get started right away for free with Amazon SNS Mobile Push, visit http://aws.amazon.com/sns. For more information, please see the Amazon SNS documentation, including a getting started guide and reference apps for each mobile platform.