Observing Your Apps Running on SAP BTP

Objectives

After completing this lesson, you will be able to:

  • Describe how SAP Alert Notification service for SAP BTP and SAP Automation Pilot work to operate your SAP BTP apps.
  • List the steps required to implement a health monitoring and alerting mechanism for a cloud app within SAP BTP using an example.

Main Concepts and Functionalities About SAP Alert Notification Service for SAP BTP and SAP Automation Pilot

When providing and running applications in the cloud, ops teams can face different issues and challenges within their cloud setup.

The following figure shows some examples of potential issues.

To operate a cloud application reliably, it's key to handle such issues in time.

Therefore, the main focus of the operations capabilities in SAP BTP is to provide the DevOps teams with the right means (tools and approaches) to keep their solutions up and running.

To do this, they need to be notified about potential issues in time.

Also, to cope with issues outside of working hours, DevOps teams need to automate remediation actions that can fix the issues.

Business Scenario

Our friends at Rotating Banana developed an SAPUI5 Web application deployed on the SAP BTP Cloud Foundry environment. However, the app becomes randomly inaccessible for different users, and as of now, there are not any alerts sent out. As you can imagine, this is not well received by clients, managers, and the DevOps team.

As a member of the Ops team in charge to run this application, you're tasked to solve the issue using local technical monitoring and automation services (that complement SAP Cloud ALM as central operations platform of SAP BTP) within the SAP BTP DevOps portfolio:

  1. SAP Alert Notification service with its main focus on alerting.
  2. SAP Automation Pilot with its main focus on Ops automation.

To be able to implement the notification and automation services, you need first to know what is their function and how they work. Discover in the next sections the details for each of the two services before resuming the task at Rotating Banana.

SAP Alert Notification service

SAP Alert Notification service of SAP BTP is a real-time alerting engine that allows DevOps teams to subscribe to events from the platform.

For this, the service collects information from different event providers and then offers a reliable delivery of these events via a rich catalog of predefined channels – sending only events of interest, nothing more.

Watch the video animation below to find out more about this service.

SAP Automation Pilot

SAP Automation Pilot's goal is to simplify and automate complex manual technical processes. This will result in minimal operational efforts of DevOps teams for running their cloud solutions on SAP BTP.

SAP Automation Pilot is a low-code / no-code automation engine that allows to:

  • Automate sequences of steps,
  • Execute scripts serverless,
  • Use catalogs of automated commands provided by SAP (for typical SAP BTP ops use cases),
  • Build custom executions.

The service is designed to work with low latency, even when it's under a heavy workload.

Watch the video animation below to find out more about the SAP Automation Pilot.

Availability Checks for Your Cloud App

Business Scenario

Getting back to Rotating Banana, remember that you're tasked with implementing an integrated monitoring and availability checks solution for a SAPUI5 app deployed in SAP BTP.

Mind that the solution architecture has the following details:

  • The cloud application does provide a health-check endpoint.
  • SAP Automation Pilot will be used as automation engine that will trigger periodically health-check status calls to this app health-check end point.
  • Based on the responses received by SAP Automation Pilot, there will be a condition within the SAP Automation Pilot so that:
    • If the HTTP response status code is "200", the application is considered accessible and therefore healthy - no alert is sent out.
    • If the HTTP response status code is different than "200", the application is considered not to be accessible - an alert is to be sent out to the DevOps team.

The workflow described is presented in the diagram below.

Implementation

To realize the desired solution, you will perform the following operations (use the links to explore the actions in detail):

  1. Create and maintain a command within SAP Automation Pilot that calls the application health-check endpoint every 5 minutes.
  2. Set a condition within the SAP Automation Pilot command that sends a notification to SAP Alert Notification service if the response is different than "200". For this, SAP Automation Pilot shall produce a custom event that gets consumed by SAP Alert Notification service.
  3. In SAP Alert Notification service, create a subscription that is configured to filter received events that fall into predefined conditions. These special events shall fire a specific action, in our case the sending of an email to the DevOps team.

Result

Using the steps above, you have implemented a solution that not only allows sending of notifications when the app has errors, but also does this in an automated way, reducing the efforts and time for manual monitoring. By automating these processes, Automation Pilot ensures quicker resolutions to your clients' problems, more effective management of projects within your organization, and greater client satisfaction.

Summary

You have gained the basic understanding about monitoring and automated remediation capabilities provided by two services within the SAP BTP.

Moreover, you have learned how to implement by yourself a basic health cloud application monitoring mechanism by tools provided by SAP to support your DevOps strategy without the need of any coding from your side.

Further Reading

In case you want to learn more about this example or implement it in your landscape, you can find a detailed step-by-step implementation guide on GitHub.

Log in to track your progress & complete quizzes