Today, we’re excited to announce a reference solution for sending notifications from the Oracle Cloud Notifications service through Syniverse. This solution enables our joint Oracle Cloud Infrastructure (OCI) and Syniverse customers to use their existing investments in OCI and Syniverse for receiving notifications about infrastructure updates and DevOps-related notifications in an SMS format on their mobile devices.
Oracle Notifications is a highly available, low-latency publish and subscribe service that makes it easy to receive notifications through email, Slack, and PagerDuty. Notifications also supports triggering Oracle Functions for lightweight data processing. Using Notifications is simple: Create a topic and add subscriptions to the topic for the channels through which notifications are delivered. Notifications integrates natively with the Oracle Cloud Monitoring service for delivering alarm notifications and the Service Connector Hub for delivering notifications about logs. To learn more, refer to the technical documentation.
Syniverse sends text and mobile-based messages to customers. It offers support for SMS service globally that allows enterprise customers to send intelligent and customizable messages with a cloud-based solution. To learn more about Syniverse products and services, see their products page.
This reference solution enables the following use cases:
Receive infrastructure monitoring alarms as SMS notifications through Syniverse: Enterprise admins, site reliability engineers, and DevOps engineers want to know when their application instances go over certain thresholds. Today, they can get a notification through email, Slack, and PagerDuty. Now, customers who have Syniverse can receive this notification through Syniverse as SMS messages, so they can receive messages on mobile devices. Enterprise admins can monitor database backups and send an SMS when the backup fails.
Receive cloud resource change notifications through Syniverse: IT operations engineers care when mission-critical infrastructure components are modified and want to be notified when these changes happen. Enterprise admins can receive an SMS when a new user is added to an admin group through Oracle Identity and Access Management (IAM).
Receive SMS notifications through Syniverse based on errors in logs: DevOps engineers can use the Service Connector Hub to emit metrics from logs, based on criteria that they specify, such as emitting a metric every time a log has a 500 error.
Let’s start with the primary system components that, together with Notifications, interact to make this solution possible.
OCI Monitoring service allows customers to create alarms for keeping an eye on interesting and significant resource behaviors. Setting these alarms allows administrators to focus their time and energy on higher-value tasks instead of regularly monitoring the resources through metrics and charts. To learn more about the Monitoring service, see the documentation overview.
OCI Service Connector Hub moves data, such as logs from Logging, to services, such as Object Storage, Streaming, and Monitoring. It triggers functions for custom data processing and sends notifications about changes to cloud resources. To learn more about Service Connector Hub, see the documentation overview.
Oracle Functions allows development, deployment, and execution of applications that implement customers’ business logic without worrying about the infrastructure where it runs. This implementation enables quick release cycles, because you’re only concerned with the development of your business logic, and the infrastructure is already taken care of. To learn more about Oracle Functions, see the documentation overview.
Here’s an overview of our reference solution.
The solution that we provide uses the Notifications service to deliver notifications of events and alarms to a function that can call Syniverse SMS API to send the SMS message. We build a production-ready solution where everything is parameterized and included Object Storage, where we stored the phone numbers to send the SMS and Oracle Vaults to store the Syniverse API credentials.
OCI triggers alarms when the thresholds defined in alarm definitions are violated. In the following example, I use alarms based on thresholds. Alarm notifications are sent to a topic. A notification topic has various defined subscriptions. In this case, we use a Functions subscription. Notifications service invokes the function. To send the SMS, the function code transforms the notification data to the form that the Syniverse endpoint expects.
Another option is to combine Logging and Service Connector Hub to emit a notification with the log content every time that a specific log is generated, such as every time a log has a 500 error.
The following diagram shows how the alarms work.
Figure 1: End-to-end flow.
The step-by-step developer guide shows you how to implement this solution. Oracle customers can follow these steps, use their existing Syniverse account credentials (API Keys), and set up an SMS notification service. For detailed steps, visit our tutorial in the Help Center. You can download the Oracle Functions code from GitHub. For more details about Syniverse API, see the quick start guide.
This blog demonstrated the power of Oracle Notifications service and Oracle Functions to build integration with third-party cloud vendors. You can use the same reference architecture to build any third-party integrations to solve your specific use cases.
We welcome you to sign up for the Oracle Cloud free trial or sign in to your account to experience this integration. We can’t wait to see what you build.