关于 sap-btp-best-practices
面向 SAP BTP 架构师和团队的实践指南,汇总账户治理、安全、开发、交付、高可用和运维建议。内容用于规划 BTP 环境并在实施前审查平台方案。
主要功能
- 01账户层级与环境规划
- 02身份验证和访问控制建议
- 03团队治理与开发生命周期指导
- 04AI 应用开发模式
- 05部署、交付及故障转移规划
- 06监控与成本管理建议
适用场景
- 01设计 BTP 账户及子账户结构
- 02为生产环境制定身份与认证默认项
- 03规划跨区域部署和故障恢复
- 04审查 CI/CD、监控与成本实践
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ secondsky/ sap-skills --skill sap-btp-best-practices安装后在 Claude Code 中输入/sap-btp-best-practices确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdagents/openai.yamlreferences/account-models.mdai-development-best-practices.mddeployment-and-delivery.mdfailover-and-resilience.mdgovernance-and-teams.mdoperations-and-monitoring.mdsecurity-and-authentication.mdtemplates-and-examples.md详细介绍
SAP BTP 最佳实践
相关技能
- sap-btp-cloud-platform:用于技术实现细节、CLI 命令和运行时配置
- sap-btp-connectivity:用于连接模式、目标配置和 Cloud Connector 设置
- sap-btp-service-manager:用于服务生命周期管理和编程式服务操作
- sap-btp-developer-guide:用于开发工作流、CAP 集成和应用模式
- sap-cap-capire:用于设计 BTP 上的 CAP 应用或实现多租户
- sap-ai-core:用于 AI Core 平台设置、模型部署和编排配置
- sap-cloud-sdk-ai:用于在 CAP 或独立 BTP 应用中进行 SDK 级别的 AI 集成
- sap-fiori-tools:用于 UI 部署策略和前端应用指南
何时使用此技能
在设计 BTP 账户模型、设置治理、选择商务模式/环境模式、确立安全和身份验证默认配置、设计 CI/CD 和运维实践,或在实现前审查 BTP 架构时,请使用此技能。
快速入门
- 确定目标账户模型:全局账户、目录、子账户、环境和区域。
- 选择运行时路径:Cloud Foundry、Kyma、ABAP Environment 或混合组合。
- 应用安全和身份验证中的安全默认配置。
- 使用相关实现技能了解详细执行方法:
sap-btp-cloud-platform、sap-btp-connectivity、sap-btp-service-manager、sap-cap-capire或sap-fiori-tools。 - 在更改
last_verified前,在项目计划中记录生产环境特有的差距。
本文档根据 SAP 官方文档编写,并经过文档审查,提供 SAP BTP 实施指导。只有完成源文档刷新和任何在线账户检查后,last_verified 日期才会更新;在此之前,该日期仍为过期状态。
快速链接:
- 官方指南:https://github.com/SAP-docs/btp-best-practices-guide
- SAP Help Portal:https://help.sap.com/docs/btp/btp-administrators-guide
目录
平台基础知识
账户层级
Global Account (SAP contract)
├── Directory (optional, up to 7 levels)
│ └── Subaccount (region-specific, apps run here)
│ ├── Cloud Foundry Org → Spaces
│ └── Kyma Cluster → Namespaces
└── Subaccount
要点:
- 全局账户 = 与 SAP 的合同(每种商务模式对应一个)
- 目录 = 对子账户进行分组(最多 7 层)
- 子账户 = 部署在特定区域,用于启用运行时
- 使用标签进行虚拟分组(开发/测试/生产、成本中心)
环境
| 环境 | 用例 | 主要特性 |
|---|---|---|
| Cloud Foundry | 多语言应用 | 多种 buildpack、空间 |
| Kyma | 云原生 K8s | 开源、命名空间 |
| ABAP | ABAP 扩展 | RAP、适用于云的 ABAP |
| Neo | 遗留系统 | 迁移离开 - HTML5、Java、HANA XS |
商务模式
- 按使用量计费(BTPEA/CPEA):灵活访问,最适合试点项目
- 订阅制:适用于服务需求明确的固定成本模式
最佳实践:从按使用量计费开始,在工作负载稳定后转为订阅制。
账户模型设置
简单模型(3 个子账户)
Global Account
├── Dev Subaccount
├── Test Subaccount
└── Prod Subaccount
最适合:初始实施、单个团队、少于 3 个项目
目录模型(可扩展)
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
最适合:多个团队、成本分配、复杂治理
命名约定
| 实体 | 约定 | 示例 |
|---|---|---|
| 子账户 | 自然语言 | “HR Development” |
| 子域名 | 小写,使用连字符 | hr-dev-acme |
| CF 组织 | 公司前缀 | acme-hr-dev |
| CF 空间 | 各阶段保持一致 | hr-recruiting |
提示:根据子账户名称推导 CF 组织/Kyma 名称,以保持一致。
安全与身份验证
身份提供商设置
始终使用 SAP Cloud Identity Services - Identity Authentication
Corporate IdP → Identity Authentication (proxy) → SAP BTP
关键步骤:
- 添加多位管理员(位于不同时区)
- 为所有管理员启用 MFA
- 配置安全警报
- 在 SAP ID Service 中设置备用管理员
授权方法
| 方法 | 最适合 | 说明 |
|---|---|---|
| 配置 | 生产环境、用户众多 | 角色集中管理,自动撤销离职人员的访问权限 |
| 联合身份验证 | 简单场景 | 实时同步,但扩展性较差 |
| 手动 | 仅用于测试 | 设置快速,但不适用于生产环境 |
目标身份验证
建议使用:
PrincipalPropagation- SAP 本地系统OAuth2SAMLBearerAssertion- 第三方系统OAuth2JWTBearer- 用户令牌交换
生产环境中避免使用:
BasicAuthenticationOAuth2Password
参见:references/security-and-authentication.md,获取完整指南
连接
远程系统访问
- 互联网服务:使用身份验证的目标
- 本地系统:目标 + Cloud Connector
Cloud Connector
- 轻量级本地 Agent
- 与 SAP BTP 建立安全隧道(无需入站端口)
- 精细化访问控制
- 支持 RFC 和 HTTP 协议
- 支持主体传播
注意:每个子账户都需要单独配置 Cloud Connector。
治理与团队
必需团队
平台工程团队(卓越中心):
- 管理云环境基础设施
- 负责账户运营和构建基础设施
- 制定治理和合规指南
- 不管理单个应用的生命周期
云开发团队:
- 遵循 DevOps(既开发又运营)
- 负责应用生命周期
- 定期维护(例如,每 6 个月更新一次 UI)
必备文档
- 入职文档:组织、应用 ID、时间安排、技术栈
- 安全文档:数据敏感度、策略、身份验证框架
- 服务目录:目标、构建、架构的模板
开发
编程模型
SAP CAP(Cloud Application Programming Model):
- 包含语言、库和工具的框架
- 支持 Java、JavaScript、TypeScript
- 提供企业级服务和数据模型
ABAP Cloud:
- 用于云就绪应用的现代 ABAP
- RAP(RESTful ABAP Programming Model)
- 面向基于 ABAP 的产品的扩展
开发生命周期
- 探索:业务机会、团队角色
- 发现:用例、技术选项
- 设计:UX 设计、领域驱动设计
- 交付:环境设置、开发
- 运行和扩展:反馈、优化
AI 开发
SAP BTP 通过 SAP AI Core 提供以下 AI 功能:
- 生成式 AI(大模型、RAG)
- 窄域 AI(传统机器学习)
关键资源:
最佳实践:
- 使用服务密钥进行安全身份验证
- 实施 PII 数据脱敏
- 使用 SAP HANA Cloud Vector Engine 构建 RAG
- 配置内容过滤
- 监控模型漂移
使用场景:20 多个示例,包括聊天机器人、PDF 提取和采购。
CAP + AI 集成模式:
- 在 CAP 事件处理程序中使用 SAP Cloud SDK for AI(
@sap-ai-sdk/orchestration)——绝不要直接通过 HTTP 调用大模型提供商 - 通过 MTA(方案:
extended)将 AI Core 服务实例绑定到 CAP 应用——凭据由 BTP 管理,不写入代码 - 在生产环境中始终异步处理大模型调用:返回
202 Accepted,通过cds.spawn在后台处理。大模型响应可能需要 30~60 秒,超过 BTP 负载均衡器的超时时间 - 将提示词外置到 JSON 文件或 CDS 实体中,以便无需重新部署即可更新
- 对使用 HANA Vector Engine 的 RAG 场景,在 CDS 实体中使用 HANA Cloud
Vector(1536)类型 - 为使用 AI SDK 处理大型文本负载的 Node.js 容器分配至少 512MB 内存
- 实施弹性措施:在将大模型输出写入数据库前进行验证(防止注入攻击),并缓存常见响应以控制成本
参见:模式和示例请见 references/ai-development-best-practices.md。CAP 专用代码模式请见 sap-cap-capire 技能。SDK 集成请见 sap-cloud-sdk-ai 技能。
部署和交付
部署方式
Cloud Foundry/Neo:
- 打包为 MTA 归档文件
- 通过以下方式部署:BTP Cockpit、CF CLI、Business Application Studio
Kyma:
- Docker 镜像(Dockerfile 或 Cloud Native Buildpacks)
- 用于生产环境的 Helm charts
- 通过 SAP Continuous Integration and Delivery 部署
CI/CD 方法
SAP Continuous Integration and Delivery:
- 所需专业知识较少
- 可直接使用的基础设施
- SAP 直接支持
项目 “Piper”:
- 所需专业知识较多
- 基于 Jenkins
- 开源社区支持
最佳实践:将 CI/CD 与 SAP Cloud Transport Management 结合,实现治理与敏捷性。
参见:详细配置请见 references/deployment-and-delivery.md
高可用性和故障转移
多区域架构
Custom Domain URL
│
Load Balancer
├── Region 1 (active)
└── Region 2 (passive/active)
故障转移实现
四项核心原则:
- 在两个区域部署:靠近用户和后端系统
- 保持同步:使用 CI/CD 流水线或 Cloud Transport Management
- 定义检测机制:监控 5xx 错误和超时
- 规划故障恢复:进行醒目区分,由用户驱动
法律要求:检查跨区域数据处理限制。
参见:实现详情请见 references/failover-and-resilience.md
运维和监控
上线检查清单
- 部署到生产环境
- 设定上线时间(避开季度末)
- 嵌入 SAP Fiori Launchpad
- 配置业务用户
- 配置角色集合
监控工具
SAP Cloud ALM(Enterprise Support):
- 真实用户监控
- 健康状况监控
- 集成和异常监控
- 作业自动化监控
SAP Cloud Logging:
- 覆盖 CF、Kyma、Kubernetes 的可观测性
SAP Alert Notification:
- 多渠道通知(电子邮件、聊天、工单)
成本管理
最佳实践
- 每月检查 成本和使用情况
- 仅提供最低限度的必要授权
- 使用标签分摊成本
- 设置自动提醒(Usage Data Management + Alert Notification)
合同策略
- 将订阅整合到一个全局账户中
- 混合工作负载使用混合账户
- 注意:消费额度不可在全局账户之间转移
捆绑资源
此技能提供全面的参考文档:
账户与治理
-
references/account-models.md(11K 行)- 详细的账户结构模式
- 命名规范和示例
- 成本分摊策略
-
references/governance-and-teams.md(13K 行)- 平台工程团队结构
- 入职流程
- 文档模板
安全与连接
references/security-and-authentication.md(13K 行)- 完整的身份验证方法对比
- 目标配置
- Kyma RBAC 清单
- 身份生命周期管理
部署与运维
-
references/deployment-and-delivery.md(10K 行)- MTA 描述符模板
- CI/CD 流水线配置
- 传输管理设置
-
references/operations-and-monitoring.md(11K 行)- 上线流程
- 监控设置指南
- 故障排查清单
高可用性
references/failover-and-resilience.md(12K 行)- 多区域架构
- 负载均衡器配置
- 故障转移自动化脚本
模板与示例
references/templates-and-examples.md(18K 行)- 完整代码模板
- Kubernetes RBAC 清单
- MTA 描述符
- Helm 图表
- CI/CD 配置
AI 开发
references/ai-development-best-practices.md(6K 行)- 生成式 AI 模式
- RAG 实现
- 20 多个用例目录
进度跟踪
- 实施状态
- 覆盖详情
- 验证清单
管理工具
| 工具 | 使用场景 |
|---|---|
| SAP BTP Cockpit | 用于所有管理任务的 GUI |
| btp CLI | 终端/自动化脚本 |
| REST APIs | 以编程方式进行管理 |
| Terraform Provider | 基础设施即代码 |
| SAP Automation Pilot | 低代码/无代码自动化 |
共同责任模型
由 SAP 管理:
- 平台软件更新/补丁
- 基础设施和 OS 监控
- BTP 服务监控
- 容量管理和事件处理
- 全局账户配置
- HANA 数据库运维
- Kyma
kyma-system命名空间
由你管理:
- 全局账户策略和子账户配置
- 应用开发、部署和安全
- 角色分配和集成
- 应用监控和运行状况检查
- 开源漏洞扫描
- 触发 HANA 修订版本更新
最后更新:2026-06-16
审核进度:参见 SAP_SKILLS_REVIEW_PROGRESS.md
下次审核:等待源内容刷新;没有一手来源证据时,不要推进 last_verified。