Cloud-Native Notification Services

Dibyendu Roy
6 min readMay 8, 2021
Photo by Lloyd Dirks on Unsplash

In this digital age, one thing we couldn’t get more of is notifications. Notifications are ubiquitous and we see them in the form of push notifications in our mobile apps, SMS notifications from our banking applications, email notifications from marketeers to notifications from communication applications such as Zoom and Slack. Notifications are an essential way for applications to interact with their users, keep them engaged and deliver the right information at the right time. According to the statistics, the average American receives 46 push notifications per day, and these are just mobile push notifications. The real number is much higher if we combine all other forms of notifications. Every modern application user expects an application with an efficient and intuitive notification system. A modern app considers a notification system as table stakes.

Building an application with a robust, scalable, and reliable notification service is hard and complex. Developers need to consider factors such as the types of supported notification, user opt-in mechanisms, privacy controls, multilingual support, just-in-time delivery of notifications, formatting of notification body to name a few. The complexity of building a notification service with all the bells and whistles exponentially increases very soon. Welcome Cloud Native Notification services

Cloud-Native Notification: Cloud providers such as AWS, GCP, Azure, Oracle Cloud Infrastructure and many others(note*: I work at OCI as a Product Manager) have realized this developer need and are offering notification services for developers that are completely cloud-native and easy to integrate into your application. With these cloud-native notification services, you as a developer can focus on the core capabilities of your app and rely on the Cloud providers for your notification services. All these cloud providers have simple intuitive consoles to set up and monitor your application (Control Plane) and simple well-designed REST APIs to deliver notifications(Data Plane). As a developer you will get support for any notification type that you are interested in from SMS, Mobile/Web Push Notifications, Email to Application-specific push notifications such as Slack and Pager Duty. For example, OCI supports direct integration of notification from OCI to Slack and Pager Duty for DevOps notification use cases.

There is also a new breed of notification and communication providers that provide all their services through REST APIs, Twilio is a great example of such a provider. They are called CpaaS players (Communication Platform as a Service). As a developer, you will get access to great technical documentation and SDKs in multiple languages to get started quickly on any of these platforms.

Use Cases of a Notification service: A notification service depending on the type of the service can address multiple use cases. At a very high level, the notification endpoint can be a human endpoint such as SMS, Email or a compute endpoint such as a serverless function. The various forms of notifications are:

  1. Personalized User Notifications: Apps such as UBER, Bank Of America, Pizza Hut can deliver user-specific just-in-time notifications to their users on scenarios such as a cab has arrived in case of Uber, an OTP pin from the BOA app, or a delivery receipt from your Pizza Hut respectively. These notifications can also be delivered across various form factors and devices with notifications such as Email, SMS, and Push Notifications to name a few.
  2. Broadcasting Messages to a Group of users: Marketers or in some cases Enterprises need to communicate the same message to a group of users. Example Marketers want to broadcast promotional discounts to a group of loyal customers via Email, SMS. Enterprises need to communicate emergency information such as weather forecast, outage to employees. All these use cases can be achieved through a Notification service provider.
  3. Healthcare Notifications: The COVID-19 pandemic has shown us the importance of a digital healthcare system. In us, the V-Safe team that has administered COVID vaccines in the US has been us SMS Notifications for user registrations and notifications.
  4. Event-driven DevOps/SecOps/Infra Ops/Network Ops Notifications — Enterprises are moving from a standard ops support-based model to a DevOps model. Developers, security, Infra, and network operations are always on call to proactively monitor their key infrastructure. Alerts from these infrastructure devices can be integrated with Notification services to help the operations team monitor the health of these devices effectively. At OCI we have integrated our Monitoring service with our Notifications service that allows system admins and Ops personnel to define and create a notification alert vis SMS, EMail, Pager Duty, Slack on key infrastructure alerts such as CPU Utilization or block storage alerts. We also have an option to integrate an Alert with an Oracle serverless function, so that it can take necessary action to rectify the alert without any human intervention.
  5. Application-to-Application: In this age of Microservices applications need to talk to each other to perform effectively. For example, an inventory service needs to talk to a replenishment service when inventory levels go below a threshold. Application to application notifications through channels such as serverless functions can address these use cases.

Architectural Patterns of a Notification Service: There are primarily two major architectural patterns in the Notifications space

  1. Point-to-Point: A point-point notification pattern is one where you send a single message to the single defined endpoint, for example, send an SMS from a from number to single to-number. You can customize this message to suit the needs of the receiver(Human or Application).
  2. Publish/Subscribe: Inspired from Apachae Kafka :-). This model allows a number of Publishers to publish messages on a Topic that is subscribed by a number of Subscribers such as Email, SMS, Push Notifications, Slack, etc. The publisher and subscriber are unaware of each other. This helps to decouple publishers from Subscribers and also especially valuable in broadcasting usecases that can easily scale.

Cloud-Native Notification services: As a developer, if you are building an application and need a reliable notification service you can consider the following services and decide based on your needs. All these services provide great user experience and developer-friendly documentation, SDKs, and Libraries.

  1. OCI ONS: Oracle Cloud Infrastructure Notification service. Link: https://www.oracle.com/devops/notifications/
  2. AWS SNS: Amazon Simple Notification Service. Link: https://aws.amazon.com/sns/
  3. GCP: GCP Pub/Sub and FCM. Link:https://cloud.google.com/pubsub and https://firebase.google.com/docs/cloud-messaging
  4. Azure: Azure Notification Hub, Event Grid: Link: https://azure.microsoft.com/en-us/services/notification-hubs/ and https://azure.microsoft.com/en-us/services/event-grid/
  5. Twilio:https://www.twilio.com/

Road ahead

As the technology evolves we will see applications using more seamless and intuitive notifications. Some of the major trends that we will see more of are

  1. Notifications and Messaging for Microservices: Enterprises and developers will build more microservices and these need to talk to each other. All these microservices will leverage cloud-native notification platforms to solve their use cases.
  2. Push Notifications will grow: The usage of push-based notifications will be a major driver for app engagement. The push notifications software market itself will be a Billion dollar software market growing at 21% CARG.
  3. Machine Learning will make Notifications more effective: ML will be used to deliver the right notification at the right time. The notifications delivery and implementation will see a major change in the design and delivery of notification systems.
  4. SMS will continue to be a strong Notification channel: SMS continues to be a major notification channel for businesses and consumers. The open rates on SMS are one of the highest in the industry around 98%.
  5. Privacy will play a major role in any Notification product design decision: User privacy and data will play a major role in how a modern notification product will be shaped. With Apple’s new privacy policy on cross-app user tracking , developers need to redesign apps that adhere to all the new policy changes.

--

--

Dibyendu Roy

Business/ Strategy / Technology - MBA@HaaS UC Berkeley/ MS@Carnegie Mellon. Twitter:@dibyenduroy_