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

450 lines
12 KiB
Markdown

# 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)