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
- Complete testing and compliance verification
- Establish staging environment structure
- Deploy application to production environment
- 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:
- 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
- Define Alert Severity Levels: Critical, Warning, Info
- Set Appropriate Thresholds: Avoid alert fatigue
- Implement Escalation: Time-based escalation paths
- Document Runbooks: Response procedures for each alert type
- 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
- Monthly Review: Check Costs and Usage in BTP cockpit
- Service Analysis: Identify top cost contributors
- Trend Analysis: Track usage patterns
- 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
- Regular Testing: Prevent issues from library/platform updates
- Compliance Verification: Ongoing security and policy checks
- Bug Fixes: Focus on user experience quality
- User Feedback: Incorporate improvement suggestions
- Automated Alerting: Via SAP Alert Notification Service
- 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
- Notify users of retirement timeline
- Export required data
- Undeploy the application
- Delete related service instances
- Remove destinations
- Remove role collections
- Clean up platform content
- Meet data retention obligations
- Document decommissioning
- 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:
- https://github.com/SAP-docs/btp-best-practices-guide/blob/main/docs/go-live-and-monitor/go-live-and-operate-b0ab4fb.md
- https://github.com/SAP-docs/btp-best-practices-guide/blob/main/docs/integrate-and-test/integrate-and-test-84ddc25.md
- https://github.com/SAP-docs/btp-best-practices-guide/blob/main/docs/improve-and-retire/improve-and-retire-89ffeab.md
- https://github.com/SAP-docs/btp-best-practices-guide/blob/main/docs/set-up-and-plan/managing-cost-c615301.md