BTP Architecture Design: Overview and Key Decisions

- SAP BTP architecture rests on ten structural decisions: account hierarchy, directory depth, subaccount staging, region, runtime environment, connectivity method, identity provider, entitlement management, HA/DR tier, and infrastructure automation — most are irreversible at subaccount creation.
- The tooling is production-ready, but region-level service availability varies, SLA percentages are contract-specific, and the Terraform provider state model is unforgiving of mixed manual/automated changes.
- Treat BTP as a regulated infrastructure product, not a deployment target: every choice has compliance, cost, and operational consequences that must be documented before the first subaccount is created.
Where This Article Sits
| ID | Category | Component | Scope |
|---|---|---|---|
| BTP-F01 | Overview | BTP Architecture Design | Overview and Key Decisions (this article) |
| BTP-F02 | Account Design (1) | Subaccount Design | Patterns and Principles |
| BTP-F03 | Account Design (2) | Entitlement and Quota Management | Patterns and Principles |
| BTP-F04 | Authorization (1) | Role Collection Design | Patterns and Principles |
| BTP-F05 | Authorization (2) | Naming Conventions | Patterns and Principles |
| BTP-F06 | Dev & Transport | CI/CD and Transport Management | Patterns and Principles |
| BTP-F07 | Use Cases | BTP Architecture Design | Use Cases and Decision Patterns |
References
| Resource | URL |
|---|---|
| SAP BTP Account Model | help.sap.com → |
| Best Practices: Account Models with Directories and Subaccounts | help.sap.com → |
| SAP BTP Regions | help.sap.com → |
| Entitlements and Quotas | help.sap.com → |
| SAP Architecture Center | sap.com → |
1) The BTP Architecture Landscape

SAP BTP architecture design spans five interconnected structural layers, each with a distinct decision owner and different reversibility characteristics. The SAP BTP Account Model defines the organizing principle: a global account maps to one SAP contract, under which directories and subaccounts are structured to reflect organizational and operational boundaries.
| Layer | What it does | Primary decision owner |
|---|---|---|
| Account model | Global account → directories → subaccounts; entitlement distribution | Platform Architect / Cloud CoE |
| Runtime environment | Cloud Foundry, Kyma, or ABAP workload hosting; cost model | Application Architect |
| Connectivity | Cloud Connector or Private Link to on-premise or hyperscaler back-ends | Integration Architect |
| Identity and access | SAP Cloud Identity Services trust; role collections; corporate IdP federation | Security Architect |
| HA and DR | In-Metro AZ resilience vs. cross-region failover | Platform Architect / Ops Lead |
These layers are not substitutes. A solid runtime choice does not compensate for a poorly designed account hierarchy.
2) How It Connects to S/4HANA

BTP does not run S/4HANA; it extends it. Every BTP architectural decision must trace back to a defined relationship with the SAP core. The SAP BTP Guidance Framework formalizes this relationship: side-by-side extensions on BTP decouple business logic from the S/4HANA kernel, enabling upgrades without breaking custom code.
┌─────────────────── Global Account ──────────────────────┐
│ ┌── Directory: Core ERP ───────────────────────────┐ │
│ │ Subaccount: S4-Ext-Dev / Test / Prod (CF) │ │
│ └──────────────────────────────────────────────────┘ │
│ ┌── Directory: Integration ────────────────────────┐ │
│ │ Subaccount: IS-Dev / IS-Prod (Integration Suite)│ │
│ └──────────────────────────────────────────────────┘ │
│ ┌── Directory: Platform Services ──────────────────┐ │
│ │ Subaccount: cTMS │ Subaccount: CI-CD │ │
│ └──────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
│ Cloud Connector (RFC/HTTP) │ Private Link
▼ ▼
┌── On-Premise ──────────┐ ┌── Hyperscaler VPC ────┐
│ SAP S/4HANA (ECC/OP) │ │ SAP S/4HANA (RISE) │
└────────────────────────┘ └───────────────────────┘S/4HANA extensions on BTP use a side-by-side pattern: custom logic in BTP subaccounts communicates with S/4HANA via OData, RFC, or events. The Clean Core principle requires all customization to live on BTP rather than in the S/4HANA kernel.
Key point: The BTP subaccount structure must mirror S/4HANA landscape stages (dev/test/prod) and organizational boundaries, not merely the deployment stages of a single application.
3) Maturity Map

The maturity assessments below are grounded in SAP’s published documentation and community announcements. In-Metro DR RPO/RTO figures and the AWS/Azure-only restriction are sourced from the SAP Community announcement on In-Metro Disaster Recovery. Terraform state-drift behavior is documented in the SAP BTP Terraform Provider community blog.
| Architectural Area | Maturity | Notes |
|---|---|---|
| Account model and directory structure | ✅ Production-ready | Fully documented; Feature Set B standard; up to 5 directory levels |
| Cloud Foundry runtime | ✅ Production-ready | Stable PaaS; multi-AZ; higher per-hour cost than Kyma for on-demand workloads |
| Kyma runtime | ✅ Production-ready | Managed Kubernetes; multi-AZ; pay-per-use; requires container expertise |
| ABAP environment | ✅ Production-ready | Stable for S/4HANA Cloud extensions via RAP/CDS; not a general-purpose runtime |
| Cloud Connector (SCC) | ✅ Production-ready | HA master/shadow supported; required for on-premise connectivity |
| SAP Private Link | ⚠️ Ready with prerequisites | AWS and Azure only; GCP not yet supported |
| SAP Cloud Identity Services (IAS) | ✅ Production-ready | Custom IAS tenant recommended for production; default SAP ID Service for sandboxes only |
| In-Metro Disaster Recovery | ⚠️ Ready with prerequisites | AWS and Azure only; RPO ≤ 5 min, RTO ≤ 2 hr; does not cover full regional outage |
| Multi-region HA/DR | 🔶 Early adopter | Architecturally possible via reference pattern; requires stateless design and significant operational investment |
| Terraform Provider for SAP BTP | ⚠️ Ready with prerequisites | Official provider available; state drift from mixed manual/Terraform changes is a hard failure mode |
4) Requirements Checklist
Account model prerequisites

The SAP BTP Account Model documentation and account model best practices guide underpin every item in this checklist — particularly the five-level directory maximum, naming convention guidance, and the universal recommendation to isolate production subaccounts.
| Checklist item | Why it matters |
|---|---|
| Confirm the number of SAP BTP global accounts under contract | Each global account maps to one SAP contract; cross-account entitlement sharing is not possible |
| Define directory depth (0–5 levels) aligned to organizational structure | Directory depth determines administration delegation; restructuring after subaccounts are created requires manual migration |
| Establish naming convention for subaccounts before any are created | Subaccount names are unique within the global account; retroactive renaming is disruptive and inconsistently supported by CLI/Terraform |
| Confirm that a dedicated production subaccount exists and is isolated from non-production | SAP’s only universally accepted account model best practice; mixing prod and non-prod exposes production to developer errors |
| Define subaccount stage model: 2-tier (dev+test, prod) vs. 3-tier (dev, test, prod) | 3-tier is standard for regulated industries; 2-tier is valid for simple projects; each subaccount consumes entitlements |
| Identify who holds Global Account Administrator access and document off-boarding procedure | Global Account Admin can reassign all entitlements and delete subaccounts; must have a formal access review cycle |
| Decide if cTMS and CI/CD services get dedicated subaccounts | Best practice isolates Cloud Transport Management to avoid entitlement coupling with application subaccounts |
Region and provider selection

Region selection is irreversible at subaccount creation — a point confirmed in the SAP BTP Regions help article, which documents that each subaccount is associated with exactly one region and that region cannot be changed after creation.
| Checklist item | Why it matters |
|---|---|
| Identify applicable data residency regulations for all data processed on BTP | Region is immutable at subaccount creation; a wrong choice requires full re-provisioning |
| Confirm that all required BTP services are available in the target region | Not all services are available in every region; check the availability matrix against the planned service catalog |
| Evaluate hyperscaler alignment: match BTP region to existing hyperscaler agreements | Same provider/region as RISE S/4HANA minimizes egress costs and enables Private Link |
| Document the target region per subaccount as an approved architecture record | Region must be signed off before subaccount creation, not discovered post-provisioning |
| Check C5 Type 2 or equivalent compliance certification for the target region | Regulated industries require certified regions; certification scope varies by region and provider |
| Confirm latency requirements: measure RTT from primary user locations to candidate regions | A 100 ms difference between regions is material for interactive Fiori applications |
Runtime environment prerequisites

The SAP Community comparison of BTP runtime environments establishes the key selection principle: Cloud Foundry, Kyma, and ABAP are separate products with separate licensing and cost profiles, not interchangeable hosting options.
| Checklist item | Why it matters |
|---|---|
| Decide on runtime per subaccount: Cloud Foundry, Kyma, or ABAP | Each runtime is a separate product with separate licensing; enabling multiple runtimes in one subaccount increases cost and complexity |
| If Cloud Foundry: define CF org structure and space naming per stage | CF space names have no automatic linkage between dev and prod subaccounts; consistent naming is the only traceability mechanism |
| If Kyma: confirm team has container/Kubernetes operational competency | Without K8s skills, incident response is limited to SAP support escalation |
| If ABAP: confirm scope is limited to S/4HANA Cloud extensions via RAP | ABAP environment is not a general-purpose runtime; misuse is an expensive misallocation |
| Document whether workloads are 24/7 always-on or on-demand/event-driven | CF favors always-on; Kyma pay-per-use favors event-driven — this is a primary cost driver |
| Define deployment pipeline before runtime selection is finalized | Runtime determines build toolchain: Cloud Native Buildpacks for CF; container registry + Helm for Kyma |
Connectivity prerequisites

The SAP Cloud Connector help article documents both the HA master/shadow configuration requirement and the access control list (ACL) design that must restrict which back-end resources are exposed to each subaccount.
| Checklist item | Why it matters |
|---|---|
| Identify all on-premise systems that BTP applications will call | Every on-premise system requires a Cloud Connector; SCC must be co-located in the same network segment as the back-end |
| Confirm Cloud Connector HA (master + shadow instance) for production | Single-instance SCC is a single point of failure; shadow is required for production-grade connectivity |
| For hyperscaler-hosted back-ends: confirm same provider and region as BTP subaccount | Private Link requires BTP and back-end on the same hyperscaler; cross-provider Private Link is not supported |
| Define which RFC and HTTP systems will be exposed through the SCC access control list (ACL) | Implicit allow-all is a security violation; each back-end resource must be explicitly listed |
| Confirm BTP Destination configuration ownership and promotion path | Destination names are unique per subaccount; promote dev-to-prod via transport management or IaC |
| Document firewall rules for SCC outbound connectivity (443/TCP to BTP endpoints) | SCC initiates outbound TLS; outbound 443 to BTP region endpoints is frequently missed in network change requests |
IAM prerequisites
The SAP BTP Identity and Access Management help article documents that role collections do not propagate across account levels and that a custom IAS tenant is required for production corporate IdP federation.
| Checklist item | Why it matters |
|---|---|
| Decide whether to use a custom SAP IAS tenant or default SAP ID Service | Default SAP ID Service is not suitable for production; custom IAS is required for corporate IdP federation |
| Identify the corporate IdP (Azure AD/Entra, Okta, ADFS) and protocol (SAML or OIDC) | Protocol must match what the corporate IdP team can support; IAS proxies the federation |
| Define role collection assignment model: individual user vs. user group | Group-based assignment scales; individual assignment does not — establish IPS group provisioning before go-live |
| Document required role collections per persona per subaccount | Role collections do not propagate across account levels; each subaccount needs its own design |
| Confirm MFA protection on Global Account Administrator access | Global Account Admin is the highest BTP privilege; MFA is non-negotiable for production accounts |
| Plan IAS tenant lifecycle: one per global account or shared | Shared IAS tenants reduce admin overhead but introduce cross-landscape policy coupling |
5) Decision Criteria

The three questions to ask first
Q1. What is the measurable business inefficiency or technical pain point this BTP implementation will solve?
If the answer is “digital transformation” or “modernization,” the project has not identified a real requirement. A valid answer names a specific process, a quantifiable cost, and a named business owner. Without this, architecture decisions default to platform exploration.
Q2. Where does the data live, who owns it, and which jurisdictions govern its residency?
Region selection is irreversible at subaccount creation. Data sovereignty regulations (GDPR, PDPA, sector rules) determine which BTP regions are permissible. The SAP BTP Regions documentation confirms that region is chosen per subaccount and cannot be changed afterward. Legal/Compliance must answer this and document it as an approved constraint before any subaccount is created.
Q3. Is there an internal sponsor with confirmed budget authority covering both implementation and ongoing consumption costs?
BTP services produce recurring costs independent of the project budget. The Entitlements and Quotas help article explains that consumption is tracked against quota allocated per subaccount — a sponsor who approved a one-time implementation cost but not the operational budget is not a confirmed sponsor. Runtime and HA tier decisions must be validated against an approved consumption budget.
Domain selection by project context
| Project context | Recommended starting architecture decision |
|---|---|
| Extending S/4HANA Cloud with custom ABAP logic | ABAP environment; side-by-side extension via RAP |
| New polyglot web/API application with SAP back-end integration | Cloud Foundry runtime; 3-tier subaccount model |
| Containerized microservices or event-driven workloads | Kyma runtime; evaluate pay-per-use cost model |
| Connecting BTP to on-premise SAP ERP or S/4HANA | Cloud Connector (SCC) with HA master/shadow |
| Connecting BTP to SAP S/4HANA RISE on Azure or AWS | SAP Private Link service instance |
| Large org with multiple LOBs or geographies needing delegated quota management | 1–2 directory levels; directory-level entitlement assignment |
| Regulated industry requiring formal DR commitments | In-Metro DR baseline (RPO 5 min, RTO 2 hr); cross-region for stricter RTO |
| Repeatable or ITSM-integrated environment provisioning | Terraform Provider for SAP BTP; no mixed manual/cockpit changes |
| No clear pain point identified yet | Stop. Go back to Q1. |
Licensing and cost
| Architectural area | Licensing model | Key question to ask |
|---|---|---|
| SAP BTP platform (subaccounts, directories) | Included in CPEA or BTPEA | What is the total credit balance and monthly burn rate target? |
| Cloud Foundry runtime | Consumption-based (memory/vCPU hours) | What is the expected 24/7 instance count and memory footprint? |
| Kyma runtime | Consumption-based (node hours + modules) | Are workloads on-demand or always-on? On-demand favors Kyma economics. |
| ABAP environment | Subscription-based (ABAP unit blocks) | How many ABAP developers and runtime systems are required? |
| SAP Cloud Identity Services | Included (to user limit) | How many users? Confirm if additional IAS capacity is needed. |
| SAP Cloud Connector | Free (on-premise) | Who owns SCC operations? Is HA master/shadow in the network budget? |
| SAP Private Link | Consumption-based | Is the back-end on the same hyperscaler as the BTP subaccount? |
| In-Metro Disaster Recovery | Included for eligible services | Are all required services in supported regions (AWS/Azure)? |
| Multi-region HA/DR | Cost of duplicate subaccounts + data replication | Is the RTO/RPO requirement provably stricter than In-Metro provides? |
| Terraform Provider for SAP BTP | Free (open source) | Who owns the Terraform state backend and access controls? |
6) Common Failures

The failures below represent requirements-stage omissions sourced from SAP’s published guidance. Terraform state-drift behavior is documented in the SAP BTP Terraform Provider community blog. Private Link AWS/Azure-only limitations are covered in the SAP Cloud Connector and Connectivity help article.
Failure 1: Region lock-in discovered post-provisioning
A team selects a BTP region without consulting Legal/Compliance. At UAT, legal review identifies that customer PII cannot leave the country and the chosen region is non-compliant. Because subaccounts cannot be moved to a different region, the entire landscape must be rebuilt.
Failure 2: Scope assumption — “BTP is just a deployment platform”
Teams provision a single subaccount for all environments and services, treating BTP like a folder structure. When Integration Suite is added mid-project, destination naming conflicts arise and the Cloud Connector exposes production back-end systems to developers. Each subaccount is a complete isolated tenant, not a container within a shared tenant.
Failure 3: Identity provider trust configured too late
Corporate IAM is engaged only in the final sprint. IAS-to-corporate-IdP trust requires network changes, certificate exchange, and attribute mapping across security, AD, and network teams — none on the project. Go-live is blocked by identity federation work that was never scheduled.
Failure 4: Exception handling omission in connectivity design
A single Cloud Connector instance passes all pre-go-live tests. Six months later, OS patching takes the SCC host offline for 15 minutes and all on-premise-dependent BTP applications stop. HA master/shadow SCC is a requirements-stage item, not an implementation detail.
Failure 5: Data governance delay in multi-region DR
A cross-region DR architecture is partially built before Legal identifies that the secondary region violates the data residency contract. The architecture must be redesigned. Legal review of the secondary region must precede architecture approval, not follow it.
Failure 6: Terraform state drift from mixed provisioning
The platform team provisions all BTP resources via Terraform. A Global Account Administrator creates one subaccount manually via the cockpit. The Terraform state no longer matches reality; the next terraform apply makes unexpected changes. IaC-only or cockpit-only governance must be a day-zero decision.
Failure 7: Entitlement starvation in production
A project allocates most CPEA quota to development during prototyping. When the production subaccount is created, the required service plan quota is exhausted and reallocation requires procurement cycles. Entitlement consumption must be modeled across all planned subaccounts before any quota is assigned.
FAQ
Q: Can SAP BTP architecture decisions be changed after go-live?
Region is immutable per subaccount — the SAP BTP Account Model documentation confirms that region selection is made at subaccount creation and cannot be changed afterward. Naming conventions, directory hierarchy, and IAM trust are all expensive to fix retroactively. Front-loading architecture decisions is always cheaper than retrofitting.
Q: Does BTP architecture apply to on-premise SAP S/4HANA?
Yes. BTP is designed to extend on-premise SAP systems. The SAP Cloud Connector provides secure reverse-invoke tunneling without inbound firewall openings. The challenge is not whether connectivity is possible but ensuring the SCC is HA-configured and its access control list (ACL) is scoped to the minimum required back-end resources.
Q: How does BTP licensing work, and what must be confirmed before architecture is finalized?
BTP is licensed under CPEA or BTPEA — a prepaid credit balance consumed at published rates. The Entitlements and Quotas help article explains how quota flows from global account to directories to subaccounts. Confirm: total balance and duration, services metered separately, expected monthly burn rate, and whether ABAP environment or Integration Suite require separate subscription agreements.
Q: When should multi-region HA/DR requirements be descoped?
If In-Metro DR satisfies the business requirement, cross-region architecture is unnecessary overhead. The SAP Community In-Metro DR announcement documents contractual SLAs of RTO ≤ 2 hr and RPO ≤ 5 min. Cross-region DR doubles subaccounts, requires stateless application design, and demands a tested failover runbook. Challenge the requirement if the business cannot quantify the cost of a 2-hour outage.
Q: How should BTP architecture decisions be documented?
Capture each as an Architecture Decision Record (ADR): decision area, options considered, chosen option, constraints satisfied, and decision owner. The SAP BTP Guidance Framework provides decision guides and reference architectures that can anchor each ADR to a defensible rationale. Region, runtime, connectivity, IAM trust, and HA tier must be countersigned by architect and sponsor before any subaccount is created.
Q: What is the correct approach to documenting on-premise connectivity requirements?
List every on-premise system: system ID, hostname/IP, RFC or HTTP path, consuming subaccount, and data classification. This drives the SCC access control list (ACL), firewall change requests, and HA sizing. Without it, the SCC is typically misconfigured with allow-all access — a finding in every security audit.
Q: Is a single SAP IAS tenant sufficient for all BTP subaccounts?
Yes, for most organizations. Per the SAP BTP IAM documentation, a single custom IAS tenant can be scoped to multiple subaccounts via trust configurations. Multiple tenants are warranted only when subsidiaries have unconsolidated corporate IdPs or security policy requires strict isolation between production and non-production identity stores.
Summary

SAP BTP architecture design is a set of ten interconnected structural decisions, most of which are irreversible once a subaccount is provisioned. The decisions span account hierarchy, region, runtime, connectivity, identity federation, entitlement management, HA/DR tier, and infrastructure automation. The most common failure mode is not a wrong technical choice but a deferred governance decision: region selection without legal review, SCC without HA, IAM trust without corporate IdP engagement, or Terraform without state governance. The SAP Architecture Center and SAP BTP Guidance Framework provide reference architectures that anchor each decision to a defensible rationale.