你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
SAP 部署自动化框架
SAP 部署自动化框架 是一种开源业务流程工具,可用于部署、安装和维护 SAP 环境。 可以在任何 SAP 支持的操作系统版本和任何 Azure 区域中部署系统。 可以使用 Terraform 创建基于 SAP HANA 和 NetWeaver 和 AnyDB 的 SAP 布局的基础结构。 可以使用 Ansible 配置环境。
Hashicorp 的 Terraform 是用于预配和管理云基础结构的开源工具。
Ansible 是由 Red Hat 提供的一个开源平台,它可自动执行云预配、配置管理和应用程序部署。 使用 Ansible 时,可以自动部署和配置环境中的资源。
自动化框架包含两个组件:
- 部署基础结构(通常部署在中心中的控制平面)
- SAP 基础结构(通常部署在分支中的 SAP 工作负荷区域)。
下图说明了控制平面与应用程序平面之间的依赖关系。 在典型部署中,单个控制平面用于管理多个 SAP 部署。
使用 SAP 部署自动化框架的控制平面来部署 SAP 基础结构和 SAP 应用程序。 部署使用 Terraform 模板创建 基础结构即服务(IaaS)定义的基础结构来托管 SAP 应用程序。
注意
此自动化框架基于 Microsoft 针对 Azure 上的 SAP 的最佳做法和原则。 若要了解如何使用经过认证的虚拟机(VM)和存储解决方案实现稳定性、可靠性和性能,请参阅 Azure 上的 SAP 自动化框架入门。
此自动化框架还遵循适用于 Azure 的 Microsoft 云采用框架。
可以使用自动化框架部署以下 SAP 体系结构:
- 独立:对于此体系结构,所有 SAP 角色都安装在单个服务器上。
- 分布式:使用此体系结构,可以将数据库服务器和应用程序层分开。 通过在 VM 和一个或多个应用程序服务器上提供 SAP 中心服务,可以在两个应用程序中进一步分隔应用程序层。
- 分布式(高度可用):此体系结构类似于分布式体系结构。 在此部署中,可以使用高度可用的配置来配置数据库和/或 SAP 中心服务,每个配置都使用 Pacemaker 群集。
关于控制面板
控制平面包含部署其他环境的部署基础结构。 部署控制平面后,很少需要重新部署(如果有)。
控制平面提供以下服务:
- 用于运行的部署代理:
- Terraform 部署
- Ansible 配置
- Terraform 状态文件的持久存储
- 下载的 SAP 软件的持久存储
- 用于部署凭据的安全存储的 Azure 密钥库
- 专用 DNS区域(可选)
- 用于配置管理的 Web 应用程序
控制平面通常是部署到中心订阅中的中心辐射型体系结构中的区域资源。
下图显示了控制平面和工作负荷区域的关键组件。
应用程序配置通过使用一组预定义的 playbook 从控制平面中的部署代理执行。 这些 playbook 将:
- 配置基本操作系统设置。
- 配置特定于 SAP 的操作系统设置。
- 使安装介质在系统中可用。
- 安装 SAP 系统组件。
- 安装 SAP 数据库(SAP HANA 和 AnyDB)。
- 使用 Pacemaker 配置高可用性。
- 为 SAP 数据库配置高可用性。
有关如何配置和部署控制平面的详细信息,请参阅“配置控制平面”和“部署控制平面”。
部署程序 VM
这些 VM 用于运行使用 Terraform 部署 Azure 资源的业务流程脚本。 它们也是 Ansible 控制器,用于在所有托管节点上执行 Ansible playbook,即 SAP 部署的 VM。
关于 SAP 工作负荷区域
工作负荷区域允许将 SAP 系统部署分区到不同的环境,例如开发、测试和生产。 工作负荷区域提供 SAP 系统使用的共享资源(网络和凭据管理)。
通常会为要将 SAP 系统部署到的每个唯一 Azure 虚拟网络(VNet)创建一个工作负荷区域。
SAP 工作负荷区域向 SAP 系统提供以下服务:
- 虚拟网络
- 系统凭据(VM 和 SAP 帐户)的 Azure 密钥库
- 共享存储(可选)
建议将工作负荷区域部署到中心辐射体系结构中的分支订阅中,并为每个工作负荷区域使用专用部署凭据。
有关如何配置和部署 SAP 工作负荷区域的详细信息,请参阅 配置工作负荷区域 并 部署 SAP 工作负荷区域。
关于 SAP 系统
每个 SAP 系统都部署到一个专用资源组中,并使用工作负荷区域中的服务。
SAP 系统部署包括运行 SAP 应用程序所需的 VM 和关联的资源,包括 Web、应用和数据库层。
有关如何配置和部署 SAP 系统的详细信息,请参阅配置 SAP 系统和部署 SAP 系统。
软件获取过程
该框架还提供了一个 Ansible playbook,可用于从 SAP 下载软件,并将其保存在控制平面的 SAP 库资源组中的存储帐户中。
软件获取使用的是包含要下载的 SAP 软件列表的 SAP 应用程序清单文件。 清单文件是一个 YAML 文件,其中包含:
- 要下载的文件列表。
- SAP 应用程序组件的产品 ID 列表。
- 用于提供无人参与安装的参数的模板文件集。
SAP 软件下载 playbook 处理清单文件和依赖清单文件,并使用指定的 SAP 用户帐户从 SAP 下载 SAP 软件。 该软件将下载到 SAP 库存储帐户,并可用于安装过程。
作为下载过程的一部分,应用程序清单和支持模板也会保留在存储帐户中。 应用程序清单和依赖清单聚合到安装过程使用的单个清单文件中。
术语表
要了解自动化框架,以下术语是重要概念。
SAP 概念
术语 | 描述 |
---|---|
System | SAP 应用程序的实例,其中包含应用程序运行所需的资源。 由 3 个字母组成的唯一标识符 (SID) 定义。 |
横向 | SAP 应用程序内不同环境中系统的集合。 例如,SAP ERP 中心组件 (ECC)、SAP 客户关系管理 (CRM) 和 SAP 业务仓库 (BW)。 |
工作负载区域 | 将 SAP 应用程序分区到环境,例如非生产环境、生产环境或开发、质量保证和生产环境。 向内部的所有系统提供共享资源,例如虚拟网络和密钥保管库。 |
下图显示了 SAP 系统、工作负载区域(环境)和场景之间的关系。 在此示例设置中,客户有 3 个 SAP 场景:ECC、CRM 和 BW。 每个场景包含 3 个工作负载区域:生产、质量保证和开发。 每个工工作负载区域包含一个或多个系统。
部署组件
术语 | 说明 | 作用域 |
---|---|---|
部署程序 | 可以执行 Terraform 和 Ansible 命令的 VM。 | 区域 |
库 | 为 Terraform 状态文件和 SAP 安装介质提供存储空间。 | 区域 |
工作负载区域 | 包含 SAP 系统的虚拟网络和保存系统凭据的密钥保管库。 | 工作负载区域 |
System | SAP 应用程序的部署单元 (SID)。 包含所有基础结构资产。 | 工作负载区域 |