# SAP BTP Operations and Monitoring - Detailed Reference **Source**: [https://github.com/SAP-docs/btp-best-practices-guide/tree/main/docs/go-live-and-monitor](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**: ```json { "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](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 ```json { "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 ```yaml 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**: ```javascript 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**: - [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/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/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/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](https://github.com/SAP-docs/btp-best-practices-guide/blob/main/docs/set-up-and-plan/managing-cost-c615301.md)