SAP BTP Best Practices
Related Skills
- sap-btp-cloud-platform: Use for technical implementation details, CLI commands, and runtime configurations
- sap-btp-connectivity: Use for connectivity patterns, destination configuration, and Cloud Connector setup
- sap-btp-service-manager: Use for service lifecycle management and programmatic service operations
- sap-btp-developer-guide: Use for development workflows, CAP integration, and application patterns
- sap-cap-capire: Use when designing CAP applications on BTP or implementing multitenancy
- sap-fiori-tools: Use for UI deployment strategies and frontend application guidelines
Production-ready SAP BTP implementation guidance based on official SAP documentation.
Quick Links:
Table of Contents
- Platform Fundamentals
- Account Model Setup
- Security and Authentication
- Connectivity
- Governance and Teams
- Development
- AI Development
- Deployment and Delivery
- High Availability and Failover
- Operations and Monitoring
- Cost Management
- Bundled Resources
Platform Fundamentals
Account Hierarchy
Global Account (SAP contract)
├── Directory (optional, up to 7 levels)
│ └── Subaccount (region-specific, apps run here)
│ ├── Cloud Foundry Org → Spaces
│ └── Kyma Cluster → Namespaces
└── Subaccount
Key Points:
- Global account = contract with SAP (one per commercial model)
- Directory = groups subaccounts (max 7 levels deep)
- Subaccount = deployed in specific region, enables runtimes
- Use labels for virtual grouping (Dev/Test/Prod, cost centers)
Environments
| Environment |
Use Case |
Key Features |
| Cloud Foundry |
Polyglot apps |
Multiple buildpacks, spaces |
| Kyma |
Cloud-native K8s |
Open-source, namespaces |
| ABAP |
ABAP extensions |
RAP, cloud-ready ABAP |
| Neo |
Legacy |
Migrate away - HTML5, Java, HANA XS |
Commercial Models
- Consumption-Based (BTPEA/CPEA): Flexible access, best for pilots
- Subscription-Based: Fixed-cost for known service needs
Best Practice: Start with consumption-based, move to subscription for stable workloads.
Account Model Setup
Simple Model (3 subaccounts)
Global Account
├── Dev Subaccount
├── Test Subaccount
└── Prod Subaccount
Best for: Initial implementations, single team, <3 projects
Directory Model (scalable)
Global Account
├── Directory: HR
│ ├── hr-dev / hr-test / hr-prod
├── Directory: Sales
│ ├── sales-dev / sales-test / sales-prod
└── Directory: Central IT
├── api-management
└── shared-services
Best for: Multiple teams, cost allocation, complex governance
Naming Conventions
| Entity |
Convention |
Example |
| Subaccount |
Natural language |
"HR Development" |
| Subdomain |
Lowercase, hyphens |
hr-dev-acme |
| CF Org |
Company prefix |
acme-hr-dev |
| CF Space |
Consistent across stages |
hr-recruiting |
Tip: Derive CF org/Kyma names from subaccount names for consistency.
Security and Authentication
Identity Provider Setup
Always use SAP Cloud Identity Services - Identity Authentication
Corporate IdP → Identity Authentication (proxy) → SAP BTP
Critical Steps:
- Add multiple administrators (different time zones)
- Enable MFA for all admins
- Configure security alerts
- Set up backup admins in SAP ID Service
Authorization Methods
| Method |
Best For |
Notes |
| Provisioning |
Production, many users |
Centralized roles, automated offboarding |
| Federation |
Simple scenarios |
Real-time sync, but doesn't scale well |
| Manual |
Testing only |
Quick setup, not production-ready |
Destination Authentication
Recommended:
PrincipalPropagation - SAP on-premise systems
OAuth2SAMLBearerAssertion - Third-party systems
OAuth2JWTBearer - User token exchange
Avoid in Production:
BasicAuthentication
OAuth2Password
See: references/security-and-authentication.md for complete guidance
Connectivity
Remote System Access
- Internet Services: Destinations with authentication
- On-Premise Systems: Destinations + Cloud Connector
Cloud Connector
- Lightweight on-premise agent
- Secure tunnel to SAP BTP (no inbound ports)
- Fine-grained access control
- Supports RFC and HTTP protocols
- Enables principal propagation
Note: Each subaccount needs separate Cloud Connector config.
Governance and Teams
Required Teams
Platform Engineering Team (Center of Excellence):
- Manages cloud landscape infrastructure
- Handles account operations, build infrastructure
- Creates governance and compliance guidelines
- Does NOT manage individual application lifecycles
Cloud Development Teams:
- Follow DevOps (develop AND operate)
- Responsible for application lifecycle
- Regular maintenance (e.g., UI updates every 6 months)
Essential Documentation
- Onboarding Doc: Organization, app IDs, timeline, tech stack
- Security Doc: Data sensitivity, policies, auth framework
- Services Catalog: Templates for destinations, builds, schemas
Development
Programming Models
SAP CAP (Cloud Application Programming Model):
- Framework with languages, libraries, tools
- Supports Java, JavaScript, TypeScript
- Enterprise-grade services and data models
ABAP Cloud:
- Modern ABAP for cloud-ready apps
- RAP (RESTful ABAP Programming Model)
- Extensions for ABAP-based products
Development Lifecycle
- Explore: Business opportunity, team roles
- Discover: Use cases, technology options
- Design: UX design, domain-driven design
- Deliver: Landscape setup, development
- Run and Scale: Feedback, optimization
AI Development
SAP BTP provides AI capabilities through SAP AI Core for:
- Generative AI (LLMs, RAG)
- Narrow AI (classical ML)
Key Resources:
Best Practices:
- Use service keys for secure authentication
- Implement PII data masking
- Build RAG with SAP HANA Cloud Vector Engine
- Configure content filtering
- Monitor model drift
Use Cases: 20+ samples including chatbots, PDF extraction, procurement.
See: references/ai-development-best-practices.md for patterns and examples
Deployment and Delivery
Deployment Methods
Cloud Foundry/Neo:
- Package as MTA archive
- Deploy via: BTP Cockpit, CF CLI, Business Application Studio
Kyma:
- Docker images (Dockerfile or Cloud Native Buildpacks)
- Helm charts for production
- Deploy via SAP Continuous Integration and Delivery
CI/CD Approaches
SAP Continuous Integration and Delivery:
- Low expertise required
- Ready-to-use infrastructure
- Direct SAP support
Project "Piper":
- High expertise required
- Jenkins-based
- Open-source community support
Best Practice: Combine CI/CD with SAP Cloud Transport Management for governance + agility.
See: references/deployment-and-delivery.md for detailed configs
High Availability and Failover
Multi-Region Architecture
Custom Domain URL
│
Load Balancer
├── Region 1 (active)
└── Region 2 (passive/active)
Failover Implementation
Four Core Principles:
- Deploy in Two Regions: Near users and backend systems
- Keep Synced: CI/CD pipeline or Cloud Transport Management
- Define Detection: Monitor 5xx errors, timeouts
- Plan Failback: Visual differentiation, user-driven
Legal: Check cross-region data processing restrictions.
See: references/failover-and-resilience.md for implementation details
Operations and Monitoring
Go-Live Checklist
- Deploy to production
- Set go-live timeframe (avoid quarter-end)
- Embed in SAP Fiori Launchpad
- Provision business users
- Configure role collections
Monitoring Tools
SAP Cloud ALM (Enterprise Support):
- Real User Monitoring
- Health Monitoring
- Integration and Exception Monitoring
- Job Automation Monitoring
SAP Cloud Logging:
- Observability across CF, Kyma, Kubernetes
SAP Alert Notification:
- Multi-channel notifications (email, chat, ticketing)
Cost Management
Best Practices
- Check Costs and Usage monthly
- Provide minimal required entitlements
- Use labels for cost allocation
- Set up automated alerts (Usage Data Management + Alert Notification)
Contract Strategies
- Consolidate subscriptions in one global account
- Use hybrid accounts for mixed workloads
- Note: Consumption credits non-transferable between global accounts
Bundled Resources
This skill provides comprehensive reference documentation:
Account & Governance
Security & Connectivity
references/security-and-authentication.md (13K lines)
- Complete auth methods comparison
- Destination configuration
- Kyma RBAC manifests
- Identity lifecycle management
Deployment & Operations
High Availability
references/failover-and-resilience.md (12K lines)
- Multi-region architecture
- Load balancer configurations
- Failover automation scripts
Templates & Examples
references/templates-and-examples.md (18K lines)
- Complete code templates
- Kubernetes RBAC manifests
- MTA descriptors
- Helm charts
- CI/CD configs
AI Development
references/ai-development-best-practices.md (6K lines)
- Generative AI patterns
- RAG implementation
- 20+ use cases catalog
Progress Tracking
- Implementation status
- Coverage details
- Validation checklists
Administration Tools
| Tool |
Use Case |
| SAP BTP Cockpit |
GUI for all admin tasks |
| btp CLI |
Terminal/automation scripting |
| REST APIs |
Programmatic administration |
| Terraform Provider |
Infrastructure as Code |
| SAP Automation Pilot |
Low-code/no-code automation |
Shared Responsibility Model
SAP Manages:
- Platform software updates/patches
- Infrastructure and OS monitoring
- BTP service monitoring
- Capacity management and incidents
- Global account provisioning
- HANA database operations
- Kyma
kyma-system namespace
You Manage:
- Global account strategy and subaccount config
- Application development, deployment, security
- Role assignments and integrations
- Application monitoring and health checks
- Open source vulnerability scanning
- Triggering HANA revision updates
Last Updated: 2025-11-27
Review Progress: See SAP_SKILLS_REVIEW_PROGRESS.md
Next Review: 2026-02-27 (quarterly)
1---2name: sap-btp-best-practices3description: Production-ready SAP BTP best practices for enterprise architecture, account management, security, and operations. Use when planning BTP implementations, setting up account hierarchies, configuring environments, implementing authentication, designing CI/CD pipelines, establishing governance, building Platform Engineering teams, implementing failover strategies, or managing application lifecycle on SAP BTP. Keywords: SAP BTP, account hierarchy, global account, directory, subaccount, Cloud Foundry, Kyma, ABAP, SAP Identity Authentication, CI/CD, governance, Platform Engineering, failover, multi-region, SAP BTP best practices4license: GPL-3.05---6
7# SAP BTP Best Practices
8
9## Related Skills
10
11- **sap-btp-cloud-platform**: Use for technical implementation details, CLI commands, and runtime configurations
12- **sap-btp-connectivity**: Use for connectivity patterns, destination configuration, and Cloud Connector setup
13- **sap-btp-service-manager**: Use for service lifecycle management and programmatic service operations
14- **sap-btp-developer-guide**: Use for development workflows, CAP integration, and application patterns
15- **sap-cap-capire**: Use when designing CAP applications on BTP or implementing multitenancy
16- **sap-fiori-tools**: Use for UI deployment strategies and frontend application guidelines
17
18Production-ready SAP BTP implementation guidance based on official SAP documentation.
19
20**Quick Links**:
21- **Official Guide**: [https://github.com/SAP-docs/btp-best-practices-guide](https://github.com/SAP-docs/btp-best-practices-guide)
22- **SAP Help Portal**: [https://help.sap.com/docs/btp/btp-administrators-guide](https://help.sap.com/docs/btp/btp-administrators-guide)
23
24---
25
26## Table of Contents
27
281. [Platform Fundamentals](#platform-fundamentals)
292. [Account Model Setup](#account-model-setup)
303. [Security and Authentication](#security-and-authentication)
314. [Connectivity](#connectivity)
325. [Governance and Teams](#governance-and-teams)
336. [Development](#development)
347. [AI Development](#ai-development)
358. [Deployment and Delivery](#deployment-and-delivery)
369. [High Availability and Failover](#high-availability-and-failover)
3710. [Operations and Monitoring](#operations-and-monitoring)
3811. [Cost Management](#cost-management)
3912. [Bundled Resources](#bundled-resources)
40
41---
42
43## Platform Fundamentals
44
45### Account Hierarchy
46
47```
48Global Account (SAP contract)
49├── Directory (optional, up to 7 levels)
50│ └── Subaccount (region-specific, apps run here)
51│ ├── Cloud Foundry Org → Spaces
52│ └── Kyma Cluster → Namespaces
53└── Subaccount
54```
55
56**Key Points**:
57- Global account = contract with SAP (one per commercial model)
58- Directory = groups subaccounts (max 7 levels deep)
59- Subaccount = deployed in specific region, enables runtimes
60- Use labels for virtual grouping (Dev/Test/Prod, cost centers)
61
62### Environments
63
64| Environment | Use Case | Key Features |
65|-------------|----------|--------------|
66| **Cloud Foundry** | Polyglot apps | Multiple buildpacks, spaces |
67| **Kyma** | Cloud-native K8s | Open-source, namespaces |
68| **ABAP** | ABAP extensions | RAP, cloud-ready ABAP |
69| **Neo** | Legacy | **Migrate away** - HTML5, Java, HANA XS |
70
71### Commercial Models
72
73- **Consumption-Based** (BTPEA/CPEA): Flexible access, best for pilots
74- **Subscription-Based**: Fixed-cost for known service needs
75
76**Best Practice**: Start with consumption-based, move to subscription for stable workloads.
77
78---
79
80## Account Model Setup
81
82### Simple Model (3 subaccounts)
83```
84Global Account
85├── Dev Subaccount
86├── Test Subaccount
87└── Prod Subaccount
88```
89Best for: Initial implementations, single team, <3 projects
90
91### Directory Model (scalable)
92```
93Global Account
94├── Directory: HR
95│ ├── hr-dev / hr-test / hr-prod
96├── Directory: Sales
97│ ├── sales-dev / sales-test / sales-prod
98└── Directory: Central IT
99 ├── api-management
100 └── shared-services
101```
102Best for: Multiple teams, cost allocation, complex governance
103
104### Naming Conventions
105
106| Entity | Convention | Example |
107|--------|------------|---------|
108| Subaccount | Natural language | "HR Development" |
109| Subdomain | Lowercase, hyphens | `hr-dev-acme` |
110| CF Org | Company prefix | `acme-hr-dev` |
111| CF Space | Consistent across stages | `hr-recruiting` |
112
113**Tip**: Derive CF org/Kyma names from subaccount names for consistency.
114
115---
116
117## Security and Authentication
118
119### Identity Provider Setup
120
121**Always use SAP Cloud Identity Services - Identity Authentication**
122
123```
124Corporate IdP → Identity Authentication (proxy) → SAP BTP
125```
126
127**Critical Steps**:
1281. Add multiple administrators (different time zones)
1292. Enable MFA for all admins
1303. Configure security alerts
1314. Set up backup admins in SAP ID Service
132
133### Authorization Methods
134
135| Method | Best For | Notes |
136|--------|----------|-------|
137| **Provisioning** | Production, many users | Centralized roles, automated offboarding |
138| **Federation** | Simple scenarios | Real-time sync, but doesn't scale well |
139| **Manual** | Testing only | Quick setup, not production-ready |
140
141### Destination Authentication
142
143**Recommended**:
144- `PrincipalPropagation` - SAP on-premise systems
145- `OAuth2SAMLBearerAssertion` - Third-party systems
146- `OAuth2JWTBearer` - User token exchange
147
148**Avoid in Production**:
149- `BasicAuthentication`
150- `OAuth2Password`
151
152**See**: `references/security-and-authentication.md` for complete guidance
153
154---
155
156## Connectivity
157
158### Remote System Access
159
160- **Internet Services**: Destinations with authentication
161- **On-Premise Systems**: Destinations + Cloud Connector
162
163### Cloud Connector
164
165- Lightweight on-premise agent
166- Secure tunnel to SAP BTP (no inbound ports)
167- Fine-grained access control
168- Supports RFC and HTTP protocols
169- Enables principal propagation
170
171**Note**: Each subaccount needs separate Cloud Connector config.
172
173---
174
175## Governance and Teams
176
177### Required Teams
178
179**Platform Engineering Team (Center of Excellence)**:
180- Manages cloud landscape infrastructure
181- Handles account operations, build infrastructure
182- Creates governance and compliance guidelines
183- **Does NOT** manage individual application lifecycles
184
185**Cloud Development Teams**:
186- Follow DevOps (develop AND operate)
187- Responsible for application lifecycle
188- Regular maintenance (e.g., UI updates every 6 months)
189
190### Essential Documentation
191
1921. **Onboarding Doc**: Organization, app IDs, timeline, tech stack
1932. **Security Doc**: Data sensitivity, policies, auth framework
1943. **Services Catalog**: Templates for destinations, builds, schemas
195
196---
197
198## Development
199
200### Programming Models
201
202**SAP CAP (Cloud Application Programming Model)**:
203- Framework with languages, libraries, tools
204- Supports Java, JavaScript, TypeScript
205- Enterprise-grade services and data models
206
207**ABAP Cloud**:
208- Modern ABAP for cloud-ready apps
209- RAP (RESTful ABAP Programming Model)
210- Extensions for ABAP-based products
211
212### Development Lifecycle
213
2141. **Explore**: Business opportunity, team roles
2152. **Discover**: Use cases, technology options
2163. **Design**: UX design, domain-driven design
2174. **Deliver**: Landscape setup, development
2185. **Run and Scale**: Feedback, optimization
219
220---
221
222## AI Development
223
224SAP BTP provides AI capabilities through **SAP AI Core** for:
225- **Generative AI** (LLMs, RAG)
226- **Narrow AI** (classical ML)
227
228**Key Resources**:
229- Repository: [SAP-samples/sap-btp-ai-best-practices](https://github.com/SAP-samples/sap-btp-ai-best-practices)
230- Documentation: [https://btp-ai-bp.docs.sap/](https://btp-ai-bp.docs.sap/)
231
232**Best Practices**:
233- Use service keys for secure authentication
234- Implement PII data masking
235- Build RAG with SAP HANA Cloud Vector Engine
236- Configure content filtering
237- Monitor model drift
238
239**Use Cases**: 20+ samples including chatbots, PDF extraction, procurement.
240
241**See**: `references/ai-development-best-practices.md` for patterns and examples
242
243---
244
245## Deployment and Delivery
246
247### Deployment Methods
248
249**Cloud Foundry/Neo**:
250- Package as MTA archive
251- Deploy via: BTP Cockpit, CF CLI, Business Application Studio
252
253**Kyma**:
254- Docker images (Dockerfile or Cloud Native Buildpacks)
255- Helm charts for production
256- Deploy via SAP Continuous Integration and Delivery
257
258### CI/CD Approaches
259
260**SAP Continuous Integration and Delivery**:
261- Low expertise required
262- Ready-to-use infrastructure
263- Direct SAP support
264
265**Project "Piper"**:
266- High expertise required
267- Jenkins-based
268- Open-source community support
269
270**Best Practice**: Combine CI/CD with SAP Cloud Transport Management for governance + agility.
271
272**See**: `references/deployment-and-delivery.md` for detailed configs
273
274---
275
276## High Availability and Failover
277
278### Multi-Region Architecture
279
280```
281Custom Domain URL
282 │
283 Load Balancer
284 ├── Region 1 (active)
285 └── Region 2 (passive/active)
286```
287
288### Failover Implementation
289
290**Four Core Principles**:
291
2921. **Deploy in Two Regions**: Near users and backend systems
2932. **Keep Synced**: CI/CD pipeline or Cloud Transport Management
2943. **Define Detection**: Monitor 5xx errors, timeouts
2954. **Plan Failback**: Visual differentiation, user-driven
296
297**Legal**: Check cross-region data processing restrictions.
298
299**See**: `references/failover-and-resilience.md` for implementation details
300
301---
302
303## Operations and Monitoring
304
305### Go-Live Checklist
306
3071. Deploy to production
3082. Set go-live timeframe (avoid quarter-end)
3093. Embed in SAP Fiori Launchpad
3104. Provision business users
3115. Configure role collections
312
313### Monitoring Tools
314
315**SAP Cloud ALM** (Enterprise Support):
316- Real User Monitoring
317- Health Monitoring
318- Integration and Exception Monitoring
319- Job Automation Monitoring
320
321**SAP Cloud Logging**:
322- Observability across CF, Kyma, Kubernetes
323
324**SAP Alert Notification**:
325- Multi-channel notifications (email, chat, ticketing)
326
327---
328
329## Cost Management
330
331### Best Practices
332
3331. Check *Costs and Usage* monthly
3342. Provide minimal required entitlements
3353. Use labels for cost allocation
3364. Set up automated alerts (Usage Data Management + Alert Notification)
337
338### Contract Strategies
339
340- Consolidate subscriptions in one global account
341- Use hybrid accounts for mixed workloads
342- Note: Consumption credits non-transferable between global accounts
343
344---
345
346## Bundled Resources
347
348This skill provides comprehensive reference documentation:
349
350### Account & Governance
351- **`references/account-models.md`** (11K lines)
352 - Detailed account structure patterns
353 - Naming conventions and examples
354 - Cost allocation strategies
355
356- **`references/governance-and-teams.md`** (13K lines)
357 - Platform Engineering team structure
358 - Onboarding processes
359 - Documentation templates
360
361### Security & Connectivity
362- **`references/security-and-authentication.md`** (13K lines)
363 - Complete auth methods comparison
364 - Destination configuration
365 - Kyma RBAC manifests
366 - Identity lifecycle management
367
368### Deployment & Operations
369- **`references/deployment-and-delivery.md`** (10K lines)
370 - MTA descriptor templates
371 - CI/CD pipeline configs
372 - Transport management setup
373
374- **`references/operations-and-monitoring.md`** (11K lines)
375 - Go-live procedures
376 - Monitoring setup guides
377 - Troubleshooting checklists
378
379### High Availability
380- **`references/failover-and-resilience.md`** (12K lines)
381 - Multi-region architecture
382 - Load balancer configurations
383 - Failover automation scripts
384
385### Templates & Examples
386- **`references/templates-and-examples.md`** (18K lines)
387 - Complete code templates
388 - Kubernetes RBAC manifests
389 - MTA descriptors
390 - Helm charts
391 - CI/CD configs
392
393### AI Development
394- **`references/ai-development-best-practices.md`** (6K lines)
395 - Generative AI patterns
396 - RAG implementation
397 - 20+ use cases catalog
398
399### Progress Tracking
400 - Implementation status
401 - Coverage details
402 - Validation checklists
403
404---
405
406## Administration Tools
407
408| Tool | Use Case |
409|------|----------|
410| **SAP BTP Cockpit** | GUI for all admin tasks |
411| **btp CLI** | Terminal/automation scripting |
412| **REST APIs** | Programmatic administration |
413| **Terraform Provider** | Infrastructure as Code |
414| **SAP Automation Pilot** | Low-code/no-code automation |
415
416---
417
418## Shared Responsibility Model
419
420**SAP Manages**:
421- Platform software updates/patches
422- Infrastructure and OS monitoring
423- BTP service monitoring
424- Capacity management and incidents
425- Global account provisioning
426- HANA database operations
427- Kyma `kyma-system` namespace
428
429**You Manage**:
430- Global account strategy and subaccount config
431- Application development, deployment, security
432- Role assignments and integrations
433- Application monitoring and health checks
434- Open source vulnerability scanning
435- Triggering HANA revision updates
436
437---
438
439**Last Updated**: 2025-11-27
440**Review Progress**: See SAP_SKILLS_REVIEW_PROGRESS.md
441**Next Review**: 2026-02-27 (quarterly)