Not all “messages” sent by a web or mobile app are meant for end-users. In fact, as you use a social media app like Twitter to schedule an upcoming post, or check your feed on Facebook, there might be thousands of “micro” messages sent to and from the app that are not even readable by humans (or intended for them). Think of a gaming app that must record the high-score for a multiplayer game or track a micro-transaction such as buying a new item in Fortnite. These messages are important -- they might track the progress of a gamer or make sure a patient's health record (opens in new tab) is up-to-date in a hospital. Often, they are sent from one mobile app to another, or from a web application to a mobile app (and vice versa).
Tracking all of these messages, including the ones that actually are sent to the end-user and show up in the end-user interface, is quite an undertaking. There are thousands or perhaps millions of messages and they all require safe and efficient delivery, a network capable of transmitting them securely, and the supporting servers (opens in new tab), storage, and compute resources.
That’s what makes Amazon SNS (Simple Notification Service) so valuable to companies with Big Data needs (or even those with “little data” needs). Known as a “pub/sub” (which stands for producer/subscriber) service that runs in the cloud, SNS is an “always-on” service that transmits messages securely within applications. Users subscribe to a topic or developers configure the topics for transmission, and SNS handles the message broadcasting.
Imagine an app that handles the ticketing required for a major event. The developer has to think about the end-user interface and the features and has to make sure it is easy to understand and use. On the back-end, the app has to manage all of the event details such as seat locations, prices, times, and dates. SNS helps by managing and transmitting these messages and tracks all of the details and the changes that occur for hundreds of thousands of user accounts.
Another easy-to-understand example of this is the required “one-time password” (or OTP) an app may require for secure account authentication. Amazon.com uses an OTP to keep your account secure; it’s required to login and adds a second level of protection. The end-user receives a code they have to type in, and the same code can be used to authenticate other apps and to communicate with a web app, desktop app, or mobile app for smartphones (opens in new tab).
SNS is the mechanism for sending, managing, and tracking these messages, even when they are transmitted between apps and not viewable by the end-user. SNS can also transmit other micro-messages such as text messages, emails (opens in new tab), and mobile push messages used to notify users of news updates, security issues, and other concerns. The actual usage scenario for how the messages will be transmitted is not as important as the fact that the infrastructure supports a wide variety of messaging types and devices.
Benefits of Amazon SNS
That’s the most important benefit of Amazon SNS -- the flexibility in how you use it. First-time users can sign-up for the service in the AWS Console (or using the AWS develop kit or the command line interface (opens in new tab)), and from there the options are almost limitless in terms of configuring the messages, how they are transmitted, and for which purposes.
In cloud computing (opens in new tab), the word “durable” is sometimes used to describe a service like Amazon SNS. In this context, it means the service is hardened and reliable -- there is little concern about whether the messages will actually reach their intended apps. In the scenario mentioned previously with a gaming app, if the messages need to be sent between apps to track high-scores or items, a developer can trust that Amazon SNS will deliver the required messages on an IT infrastructure (opens in new tab) that is maintained, optimized, and scaled independently. Developers do not need to become experts in managing a messaging server and all of the related technology dependencies, such as compute performance, storage, and endpoint security (opens in new tab).
Related to all of this is the ability to easily scale the messaging platform, which is the bane of many developers who build a new app and then suddenly feel the pain of growth in users, services, and features. It usually causes serious problems with reliability and unpredictable costs related to improving the infrastructure to keep up with the messaging levels.
Amazon SNS removes this as a bottleneck for growth. The service means that you don’t need to do any of the normal planning, provisioning, network monitoring (opens in new tab), and patching for a messaging service. And, it means all of the scaling occurs automatically as it happens, even for bursts in user growth (or sudden downturns) and messaging traffic related to sudden growth.
In the end, the developers can focus on creating the application itself and the content of the messages, without concern for the actual messaging platform and reliable.
- Find the best cloud storage here (opens in new tab).