tiero - Fotolia


Amazon SNS vs. other push notification services

It can be difficult for developers to enable push notifications across platforms. These messaging services from AWS, Google and Microsoft meet that need but have different strengths.

Enterprises face several challenges when they need to develop a back end that supports mobile app messaging across platforms. They can manually code this logic, but the various mobile ecosystems around Apple and Android constantly evolve. When they want to support mobile web, Amazon Device Messaging and Windows, things get even more complex.

Several push notification services, including Amazon Simple Notification Service (SNS), Google Firebase Cloud Messaging (FCM), Azure Notification Hubs (ANH) and popular third-party options, aim to reduce this complexity. These tools handle the integration of push notifications across mobile devices, enabling developers to focus on application logic. However, each offering has its own strengths. For example, Amazon SNS is the best option to support text messaging, while Google FCM is a better option for offline caching. Third-party services with industry specific workflows might be a better option for various customer experience scenarios.

The challenges of push architectures

Push notification services represent a new pattern of application development in which data messages are pushed out to clients. This is a departure from client-side polling architectures, where web or mobile app clients request data from the server. Push architectures can reduce CPU and network usage and bring greater energy efficiency to mobile devices.

Push architectures can reduce CPU and network usage and bring greater energy efficiency to mobile devices.

Push architecture becomes challenging if one has to manually implement different push notification services across multiple mobile ecosystems, such as iOS, Android and web apps. For example, the Apple iOS SDK only includes hooks for targeting Apple Push Notification service (APNs). Each major cloud provider now includes integrations for these platforms, as well as more recent platforms such as Kindle and Baidu. To reduce developer overhead, enterprises can standardize FCM, SNS or ANH to provide a single push interface. If an enterprise adopts SNS or ANH, it should encourage developers to use that specific service, rather than code directly against FCM, APNs or another service provided by the SDK of the target platform.

Developers also need to address security issues, including certificate management for the server and token management for the clients that differ across ecosystems. SNS, ANH and FCM can reduce this complexity with an abstraction layer to code against. Developers write logic that deploys and manages execution of the code and associated security tools across multiple push notification services.

Use SNS to stay in the AWS ecosystem

Amazon SNS is a good option for enterprises that want to maintain most of their back-end code on top of the AWS ecosystem. This means less work for developers who want to drive notifications via AWS Lambda functions or Amazon CloudWatch notifications. SNS infrastructure can also streamline distributed app development, as it includes tools to pass messages between microservices.

Amazon SNS supports direct SMS delivery. This helps reach a broader number of phones, and it simplifies the development of multifactor authentication security via text message delivery. SNS tooling primarily aims to provide connectivity between Amazon cloud services, applications and Lambda functions. However, since the service's introduction, Amazon has improved the SNS console with support for more languages, which makes it easier for developers writing apps in German, Italian, Portuguese, Spanish and traditional Chinese. Amazon also added cost allocation tags to make it easier to associate SNS messaging with particular departments, projects or campaigns. 

At time of publication, SNS supports sending notifications to iOS, Android, Windows, Fire OS tablets and TVS, and even Baidu Cloud Push applications.

FCM enables better offline architectures

Google FCM is an alternative push notification service for enterprises that host some of their code on top of the Google Cloud ecosystem. It offers native support for Android and iOS devices and web applications.

FCM does not support SMS delivery directly. Enterprises can bridge this gap with a Twilio-FCM integration, but this adds more complexity.

FCM evolved from Google Cloud Messaging (GCM), which has since been deprecated. FCM supports all the features of GCM but adds better support for offline access and Google presence services, which make it easier to confirm when a user is connected to a network.

FCM uniquely supports offline data caching, which allows the mobile OS to manage pushed data in the background. Native and mobile web applications can provide a far more responsive user experience, particularly on spotty network connections, and are a product of a style of application development that has become popular.

ANH and other third-party options

In addition to SNS and FCM, enterprises can choose a variety of other push notification services, including ANH. ANH provides many of the same core features as FCM and SNS, but it does not support SMS text messages or offline data caching. The service is designed to scale easily and work across a wide variety of back-end applications.

ANH offers better localization support and customized mass market user engagement. Better localization support aims to make it easier to dynamically adjust application logic in different languages and countries. Microsoft, which has invested heavily in dynamic tagging, enables users to better customize content based on activity, interest, location, preference or business logic with ANH.

Third-party push notification services, such as Airship, Pushwoosh and PubNub, might also be viable options to provide omnichannel customer experiences that seamlessly span email, web, mobile and human customer support channels. These third-party tools provide an abstraction tier more suited for common omnichannel workflows in specific industries like airlines, finance, media, sports or telecom.

Amazon Pinpoint also provides some similar functionality for building more sophisticated customer workflows on top of SNS. It includes a variety of tools for engaging customers across channels and analyzing the impact of campaigns.

Dig Deeper on AWS infrastructure

App Architecture
Cloud Computing
Software Quality