Files
gh-secondsky-sap-skills-ski…/references/operations-and-monitoring.md
2025-11-30 08:54:47 +08:00

12 KiB

SAP BTP Operations and Monitoring - Detailed Reference

Source: https://github.com/SAP-docs/btp-best-practices-guide/tree/main/docs/go-live-and-monitor


Go-Live Process

Prerequisites

  1. Complete testing and compliance verification
  2. Establish staging environment structure
  3. Deploy application to production environment
  4. Configure user provisioning and authorization

Go-Live Timing Best Practices

  • Establish specific timeframes for go-live activities
  • Restrict deployments during critical periods (e.g., quarter-end)
  • Allow exceptions only for emergencies
  • Document change freeze windows

User Enablement

Recommendation: Embed applications in SAP Fiori Launchpad via SAP BTP Portal before go-live.

Benefits:

  • Improved usability
  • Consistent user experience
  • Central application access point
  • Role-based app visibility

Authentication and Authorization Post Go-Live

Business User Provisioning

Users must be provisioned through:

  • SAP ID Service
  • External identity providers (recommended: SAP Cloud Identity Services)

Authorization Configuration

Administrators can:

  • Create roles based on application requirements
  • Build role collections grouping related roles
  • Assign collections to business users and user groups

Role Collection Example

Role Collection: HR_MANAGER
├── Role: EmployeeViewer (from app-hr)
├── Role: TeamManager (from app-hr)
└── Role: ReportAccess (from app-reporting)

Content Delivery Network (CDN)

Use Case

For geographically distributed users, CDN improves:

  • Response times
  • Load distribution
  • Static content delivery

CDN Best Practices

Practice Description
HTTPS Enforcement Use HTTPS-only connections
Location-Based Access Implement geographic access controls
Compression Enable gzip compression
Static Content Caching Cache images, CSS, JS, fonts
Dynamic Content Exclusion Don't cache dynamic responses
Cache Headers Respect application cache directives
CSRF Protection Never cache CSRF tokens

Cache-Control Header Example

# Static assets - long cache
Cache-Control: public, max-age=31536000

# HTML - revalidate
Cache-Control: no-cache

# API responses - no cache
Cache-Control: no-store, must-revalidate

SAP Cloud ALM

Overview

SAP Cloud ALM is included in SAP Cloud Service subscriptions containing Enterprise Support. It provides unified monitoring for:

  • SAP BTP-based applications
  • Custom applications
  • Hybrid landscapes

Monitoring Capabilities

Capability Description
Real User Monitoring Track actual user experience and performance
Health Monitoring System availability and health status
Integration Monitoring Monitor integration flows and interfaces
Exception Monitoring Track and alert on application errors
Job Automation Monitoring Monitor scheduled jobs and automations

Integration with SAP BTP

SAP BTP Applications
        │
        ▼
   Data Collection
        │
        ▼
  ┌─────────────────┐
  │   SAP Cloud ALM │
  │                 │
  │ ┌─────────────┐ │
  │ │ Dashboards  │ │
  │ └─────────────┘ │
  │ ┌─────────────┐ │
  │ │ Alerts      │ │
  │ └─────────────┘ │
  │ ┌─────────────┐ │
  │ │ Analytics   │ │
  │ └─────────────┘ │
  └─────────────────┘

Local SAP BTP Monitoring Tools

SAP Job Scheduling Service

Purpose: Schedule and manage recurring jobs across runtimes.

Features:

  • Runtime-agnostic (CF, Kyma)
  • Cron-based scheduling
  • Job monitoring and history
  • Retry policies

Example Job Definition:

{
  "name": "daily-cleanup",
  "description": "Daily data cleanup job",
  "action": "[https://my-app.cfapps.region.hana.ondemand.com/cleanup",](https://my-app.cfapps.region.hana.ondemand.com/cleanup",)
  "active": true,
  "httpMethod": "POST",
  "schedules": [
    {
      "cron": "0 0 2 * * *",
      "description": "Run at 2 AM daily",
      "active": true
    }
  ]
}

SAP Cloud Logging

Purpose: Centralized observability for logs, metrics, and traces.

Supported Runtimes:

  • Cloud Foundry
  • Kyma
  • Kubernetes

Features:

  • Log aggregation
  • Metrics collection
  • Distributed tracing
  • Alerting integration

Neo Environment Monitoring

For Neo applications (Java, SAP HANA XS, HTML5):

  • Cockpit-based monitoring
  • Application metrics
  • Resource utilization
  • Error tracking

Platform Availability Monitoring

SAP Trust Center

Access platform status at: https://www.sap.com/about/trust-center/cloud-service-status.html

Features:

  • Region-specific status
  • Service availability
  • Planned maintenance windows
  • Incident history

Cloud System Notification Subscriptions

Subscribe to notifications for:

  • Planned maintenance
  • Incidents
  • Status updates
  • Region-specific events

Alerting

SAP Alert Notification Service

Purpose: Instant notifications across multiple delivery channels.

Delivery Channels:

  • Email
  • Slack/Microsoft Teams
  • Ticketing systems (ServiceNow, JIRA)
  • SAP Cloud ALM
  • Custom webhooks

Alert Configuration Example

{
  "name": "high-error-rate",
  "description": "Alert on high error rate",
  "conditions": {
    "eventType": "error",
    "severity": "ERROR",
    "threshold": 10,
    "timeWindow": "5m"
  },
  "actions": [
    {
      "type": "EMAIL",
      "recipients": ["ops-team@company.com"]
    },
    {
      "type": "SLACK",
      "webhookUrl": "[https://hooks.slack.com/..."](https://hooks.slack.com/...")
    }
  ]
}

Alert Best Practices

  1. Define Alert Severity Levels: Critical, Warning, Info
  2. Set Appropriate Thresholds: Avoid alert fatigue
  3. Implement Escalation: Time-based escalation paths
  4. Document Runbooks: Response procedures for each alert type
  5. Regular Review: Tune alerts based on false positive rates

Operations Automation

SAP Automation Pilot

Purpose: Low-code/no-code automation for operational tasks.

Capabilities:

  • Pre-built automation commands
  • Custom command creation
  • Manual or triggered execution
  • Integration with monitoring services

Use Cases:

  • Application restart procedures
  • Scaling operations
  • Backup triggers
  • Incident response automation
  • Resource cleanup

Automation Example: Application Restart

name: RestartApplication
description: Restart CF application on health check failure
trigger:
  type: ALERT
  source: SAP_ALERT_NOTIFICATION
  conditions:
    eventType: HEALTH_CHECK_FAILED
steps:
  - name: StopApplication
    command: cf.StopApplication
    parameters:
      applicationName: ${event.applicationName}
      orgName: ${event.orgName}
      spaceName: ${event.spaceName}
  - name: Wait
    command: Sleep
    parameters:
      duration: 30s
  - name: StartApplication
    command: cf.StartApplication
    parameters:
      applicationName: ${event.applicationName}
      orgName: ${event.orgName}
      spaceName: ${event.spaceName}

Integration and Testing

Integration Tests

Definition: Verify all building blocks work together, meet requirements, and fulfill business cases.

Timing: After landscape integration, part of CI/CD pipelines

Distinction from Unit Tests: Integration tests verify complete system interplay across multiple components.

SAPUI5 Integration Testing

OPA5 (One Page Acceptance Tests):

  • API for SAPUI5 controls
  • Test user interactions
  • Test navigation
  • Test data binding
  • Manages asynchronicity

Example OPA5 Test:

opaTest("Should navigate to detail page", function(Given, When, Then) {
  Given.iStartMyApp();
  When.onTheMainPage.iPressOnTheFirstItem();
  Then.onTheDetailPage.iShouldSeeTheDetailPage();
  Then.iTeardownMyApp();
});

Application Integration Options

Option Use Case
Cloud Connector Point-to-point, on-premise connectivity
SAP Cloud Integration Complex multi-system, mediation needs
Cloud Integration Automation Guided workflows, reusable configs

Cost Management

Monitoring Costs

  1. Monthly Review: Check Costs and Usage in BTP cockpit
  2. Service Analysis: Identify top cost contributors
  3. Trend Analysis: Track usage patterns
  4. Label Filtering: Use labels for custom cost views

Billing Validation

  • Access Billing section in cockpit
  • Current month shows estimations
  • Drill into costs by subaccount and service
  • Export data for internal accounting

Cost Distribution Methods

Method Description
Data Exports Export usage data for processing
APIs Programmatic access to usage data
Fixed-Rate Allocate based on agreed percentages

Automated Cost Alerting

Combine:

  • Usage Data Management service
  • Alert Notification service

To receive alerts when:

  • Approaching quota limits
  • Unusual consumption patterns
  • Budget thresholds exceeded

Maintenance and Improvement

Ongoing Maintenance Tasks

  1. Regular Testing: Prevent issues from library/platform updates
  2. Compliance Verification: Ongoing security and policy checks
  3. Bug Fixes: Focus on user experience quality
  4. User Feedback: Incorporate improvement suggestions
  5. Automated Alerting: Via SAP Alert Notification Service
  6. Task Automation: Using SAP Automation Pilot

Update Strategies

Strategy Description Use Case
Blue-Green Deployment Two production environments, switch traffic Zero-downtime updates
Feature Flags Toggle features without deployment Gradual rollouts
Canary Releases Route percentage of traffic to new version Risk mitigation

Staying Current

  • Review SAP Release Notes regularly
  • Monitor SAP Community for updates
  • Subscribe to product notifications
  • Plan for major version upgrades

Application Retirement

Decommissioning Checklist

  1. Notify users of retirement timeline
  2. Export required data
  3. Undeploy the application
  4. Delete related service instances
  5. Remove destinations
  6. Remove role collections
  7. Clean up platform content
  8. Meet data retention obligations
  9. Document decommissioning
  10. Archive configuration for reference

Neo to Multi-Cloud Migration

SAP recommends migrating from Neo to multi-cloud foundation:

  • Closer integration with AWS, GCP, Azure
  • Modern runtime options
  • Future-proof architecture

Source Documentation: