SAP 部署自动化框架

SAP 部署自动化框架 是一种开源业务流程工具,可用于部署、安装和维护 SAP 环境。 可以在任何 SAP 支持的作系统版本和任何 Azure 区域中部署系统。 可以使用 Terraform 创建基于 SAP HANA 和 NetWeaver 和 AnyDB 的 SAP 布局的基础结构。 可以使用 Ansible 配置环境。

Hashicorp 的 Terraform 是用于预配和管理云基础结构的开源工具。

Ansible 是由 Red Hat 提供的一个开源平台,它可自动执行云预配、配置管理和应用程序部署。 使用 Ansible 时,可以自动部署和配置环境中的资源。

自动化框架有两个主要组件:

  • 部署基础结构(通常部署在中心中的控制平面)
  • SAP 基础结构(SAP 工作负载区域,通常部署在分支中。)

下图说明了控制平面与应用程序平面之间的依赖关系。 在典型的部署中,单个控制平面用于管理多个 SAP 部署。

显示控制平面与 SAP 部署自动化框架的应用程序平面之间的依赖关系的关系图。

使用 SAP 部署自动化框架的控制平面来部署 SAP 基础结构和 SAP 应用程序。 部署使用 Terraform 模板创建 基础结构即服务(IaaS)定义的基础结构来托管 SAP 应用程序。

注释

此自动化框架基于 Azure 上的 SAP 的Microsoft最佳做法和原则。 若要了解如何使用经过认证的虚拟机(VM)和存储解决方案实现稳定性、可靠性和性能,请参阅 Azure 上的 SAP 自动化框架入门

此自动化框架还遵循 适用于 Azure 的Microsoft云采用框架

自动化框架可用于部署以下 SAP 体系结构:

  • 独立:对于此体系结构,所有 SAP 角色都安装在单个服务器上。
  • 分布式:使用此体系结构,可以将数据库服务器和应用程序层分开。 应用程序层可以通过在虚拟机上运行 SAP 中心服务及一个或多个应用服务器来进一步分为两部分。
  • 分布式(高度可用):此体系结构类似于分布式体系结构。 在此部署中,可以使用高可用性配置来配置数据库和/或 SAP 中央服务,每个使用 Pacemaker 群集的配置都涉及两台虚拟机。

关于控制面板

控制平面包含从中部署其他环境的部署基础结构。 部署控制平面后,很少需要重新部署(如果有)。

控制平面提供以下服务:

  • 用于运行以下项的部署代理:
    • Terraform 部署
    • Ansible 配置
  • Terraform 状态文件的持久存储
  • 下载的 SAP 软件的持久存储
  • 用于安全存储部署凭据的 Azure Key Vault
  • 专用 DNS 区域(可选)
  • 用于配置管理的 Web 应用程序

控制平面通常是部署到中心辐射型体系结构中的中心订阅的区域资源。

下图显示了控制平面和工作负荷区域的关键组件。

显示 SAP 部署自动化框架环境的示意图。

应用程序配置是通过使用一组预定义的 playbook 从控制平面中的部署代理执行的。 这些 playbook 将执行以下操作:

  • 配置基本操作系统设置。
  • 配置 SAP 特定的操作系统设置。
  • 使安装介质在系统中可用。
  • 安装 SAP 系统组件。
  • 安装 SAP 数据库(SAP HANA 和 AnyDB)。
  • 使用 Pacemaker 配置高可用性。
  • 为 SAP 数据库配置高可用性。

有关如何配置和部署控制平面的详细信息,请参阅 “配置控制平面 ”和 “部署控制平面”。

部署程序 VM

这些 VM 用于运行使用 Terraform 部署 Azure 资源的业务流程脚本。 它们也是 Ansible 控制器,用于在所有托管节点(即 SAP 部署的 VM)上执行 Ansible playbook。

关于 SAP 负载区简介

工作负荷区域允许将 SAP 系统部署分区到不同的环境,例如开发、测试和生产。 工作负荷区域提供 SAP 系统使用的共享资源(网络和凭据管理)。

通常会为要将 SAP 系统部署到的每个唯一 Azure 虚拟网络(VNet)创建一个工作负荷区域。

SAP 工作负荷区域向 SAP 系统提供以下服务:

  • 虚拟网络
  • 用于系统凭据的 Azure Key Vault(VM 和 SAP 帐户)
  • 共享存储(可选)

建议将工作负载区域部署到中心辐射型体系结构中的分支订阅中,并对每个工作负载区域使用专用的部署凭据。

有关如何配置和部署 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 概念

术语 DESCRIPTION
系统 包含应用程序需要运行的资源的 SAP 应用程序的实例。 由唯一的三个字母标识符( SID)定义。
风景 SAP 应用程序中不同环境中的系统集合。 例如,SAP ERP Central Component (ECC)、SAP 客户关系管理 (CRM) 和 SAP Business Warehouse (BW)。
工作负荷区域 将 SAP 应用程序分区到环境,例如非生产环境、生产环境或开发、质量保证和生产环境。 向内部的所有系统提供共享资源,例如虚拟网络和密钥保管库。

下图显示了 SAP 系统、工作负荷区域(环境)和景观之间的关系。 在此示例设置中,客户有三种 SAP 布局:ECC、CRM 和 BW。 每个环境都包含三个工作负荷区域:生产、质量保证和开发。 每个工作负荷区域都包含一个或多个系统。

展示环境、工作流区域和系统的 SAP 配置图。

部署组件

术语 DESCRIPTION 范围
部署程序 可以执行 Terraform 和 Ansible 命令的 VM。 区域
图书馆 为 Terraform 状态文件和 SAP 安装介质提供存储。 区域
工作负荷区域 包含 SAP 系统的虚拟网络和保存系统凭据的密钥保管库。 工作负荷区域
系统 SAP 应用程序的部署单元(SID)。 包含所有基础结构资产。 工作负荷区域

后续步骤