以下示例重点介绍 SAP BW/4HANA 应用层。 该应用层适用于 Azure 上 SAP BW/4HANA 的以高可用性为优先的小规模生产环境。
体系结构
下载此体系结构的 Visio 文件。
组件
此体系结构使用以下技术:
Azure 虚拟网络 (VNet) 可在 Azure 资源之间和在 Azure 资源与本地环境之间建立安全连接。 在此体系结构中,多个 VNet 对等互连。
Linux 虚拟机用于应用层,其中包括:
- SAP BusinessObjects (BOBJ) 服务器池。
- SAP Web Dispatcher 池。
- 应用程序服务器池。
- SAP Central Services 群集。
负载均衡器可将流量定向到应用程序子网中的虚拟机。 为了实现高可用性,此示例使用 SAP Web Dispatcher 和 Azure 标准负载均衡器。 这两个服务还支持通过横向扩展进行容量扩展。你可以使用 Azure 应用程序网关或其他合作伙伴产品,具体取决于所需的流量类型和功能,如安全套接字层 (SSL) 终止和转发。
网络安全组 (NSG) 可附加到子网或虚拟机的网络接口卡 (NIC)。 NSG 用于限制虚拟网络中的传入、传出和子网内流量。
Azure Bastion 通过 Azure 门户支持安全访问在 Azure 中运行的虚拟机,而无需使用 jumpbox 及其关联的公共 IP 地址。 此机制可限制面向 Internet 的风险。
建议使用 Azure 托管磁盘 高级或超级存储磁盘。 这些存储类型可以让具有 SAP 工作负载的虚拟机持久保留数据。
Azure NetApp 文件在你使用集群时支持共享存储。 它在你需要可托管 SAP HANA 数据和日志文件的高性能存储时,也支持共享存储。 Azure NetApp 文件是完全托管且可缩放的,足以满足大多数应用程序的需求。 它为以下环境中的复杂企业工作负载提供裸机性能、亚毫秒级延迟和集成数据管理:
- SAP HANA。
- 高性能计算。
- LOB 应用程序。
- 高性能文件共享。
- 虚拟桌面基础结构。
Power BI 支持用户从 Windows 桌面访问和可视化 SAP BW/4HANA 数据。 安装需要 SAP BW 连接器(实现 2.0)。
Microsoft Power BI Desktop 从各种 SAP 源(例如 SAP BW/4HANA)导入数据,用于分析和可视化。 Power BI 还通过在原始信息上提供业务上下文或语义层来补充 SAP BusinessObjects Universe。
Azure 备份是 SAP Backint 认证的数据保护解决方案,适用于单实例部署和纵向扩展部署中的 SAP HANA。 Azure 备份还使用常规工作负载保护 Azure 虚拟机。
建议将 Azure Site Recovery 作为自动化灾难恢复解决方案的一部分,以便进行多层 SAP NetWeaver 应用程序部署。 支持矩阵详细介绍了此解决方案的功能和限制。
备选方法
为了帮助保护 SAP Central Services 和 SAP 传输目录的 SAP 全局主机文件,可以在故障转移群集配置中部署网络文件系统 (NFS) 服务器。
SIOS 保护套件(可在 Azure 市场中获得),可用于保护 Central Services 的全局主机文件,而不是 NFS 或 Azure NetApp 文件。
Azure 应用程序网关是一个网络流量负载均衡器。 在一项服务中,它提供 SSL 终止、Web 应用程序防火墙 (WAF) 服务以及其他方便的高可用性和可伸缩性功能。 某些 SAP 部署在生产环境中将其用作 SAP Fiori 前端的网关。
方案详细信息
SAP BW/4HANA 是一种企业数据仓库解决方案,专为云设计并针对 SAP HANA 平台进行优化。 以下示例重点介绍 SAP BW/4HANA 应用层。 该应用层适用于 Azure 上 SAP BW/4HANA 的以高可用性为优先的小规模生产环境。
此示例工作负载还基于以下两个 Azure 上的 SAP 体系结构:虚拟机上适用于 AnyDB 的 SAP NetWeaver (Windows) 和 Azure 上适用于 Linux 虚拟机的 SAP S/4HANA。 SAP BW/4HANA 工作负载也使用了类似的部署方法。 应用层使用虚拟机进行部署,而虚拟机的大小可以改变,以适应组织的需要。
网络布局已经过简化,用于演示基于中心辐射型拓扑的 Azure 企业部署的建议体系结构原则。
注意
在 Azure 上部署 SAP 工作负载时,要考虑许多部署注意事项。 有关更多想法和详细信息,请参阅 Azure 上的 SAP 的规划和部署清单。
有关数据持久性层的详细信息,请参阅:
可能的用例
此方案与以下用例相关:
SAP 应用层与 DBMS 层分开部署
灾难恢复 (DR) 方案
SAP 应用层的部署
建议
此体系结构旨在实现高可用性、可伸缩性和复原能力。 有关 Azure 的最佳结果,请考虑本部分中的建议。 此外,有关在 Azure 上运行 SAP S/4HANA 的许多建议也适用于 SAP BW/4HANA 部署。 有关 Azure 上的 SAP S/4HANA 的详细信息,请参阅参考体系结构。
虚拟机
要详细了解 SAP 对 Azure 虚拟机类型的支持和吞吐量指标 (SAPS),请参阅 SAP 注释 1928533“Azure 上的 SAP 应用程序:支持的产品和 Azure 虚拟机类型”。(访问此注释和其他 SAP 注释需要 SAP 服务市场帐户。)
如需了解虚拟机类型是否被认证用于 SAP HANA 的横向扩展部署,请参阅 SAP HANA 硬件目录。
应用程序服务器池
在应用服务器池中,可以根据要求调整虚拟机的数量。 Azure 经认证可在 Red Hat Enterprise Linux 和 SUSE Linux Enterprise 上运行 SAP BW/4HANA。
要管理 ABAP 应用程序服务器的登录组,通常使用 SMLG 事务来均衡不同组的负载,例如:
- 登录的用户。
- 用于批处理服务器组的 SM61。
- 用于 RFC 组的 RZ12。
这些事务使用 Central Services 消息服务器内的负载均衡功能在 SAP GUI 和 RFC 流量的 SAP 应用程序服务器池之间分发传入会话或工作负载。
SAP Central Services 群集
此示例展示了一个高可用性群集,该群集使用 Azure NetApp 文件作为共享文件存储解决方案。 Central Services 群集的高可用性需要共享存储。 Azure NetApp 文件提供了一个简单的高可用性选项,因此无需部署 Linux 群集基础结构。 另一种方法是设置高度可用的 NFS 服务。
还可以将 Central Services 部署到配备高级托管磁盘的单个虚拟机,获取 99.9% 的可用性 SLA。
用于应用程序服务器的虚拟机支持每个 NIC 可以有多个 IP 地址。 该功能支持 SAP 推荐的使用虚拟主机名进行安装的做法,如 SAP 注释 962955 中所述。 虚拟主机名将 SAP 服务与物理主机名分离,更轻松地将服务从一个物理主机迁移到另一个主机。 该原则也适用于云虚拟机。
应用程序服务器通过 Central Services 或 ERS 服务的虚拟主机名连接到 Azure 上的高可用性 Central Services。 这些主机名分配给负载均衡器的群集前端 IP 配置。 负载均衡器支持许多前端 IP。 因此 Central Services 和 ERS 虚拟 IP (VIP) 可同时绑定到一个负载均衡器。
多 SID 安装
Azure 还支持在托管 Central Services (ASCS/SCS) 的 Linux 和 Windows 群集的多 SID 安装中实现高可用性。 有关部署到 Pacemaker 群集的详细信息,请参阅适用于以下系统的 Azure 多 SID 文档:
邻近放置组
此示例体系结构还使用邻近放置组来减少虚拟机之间的网络延迟。 这种类型的组对虚拟机部署施加位置约束,最大限度地减少它们之间的物理距离。 组的放置各不相同,如下所示:
在单 SID 安装中,应将所有 Central Services 和应用程序服务器放置在由 SAP HANA 数据库定位的邻近放置组中。
在多 SID 安装中,可以自由地将 Central Services 和应用程序服务器与由不同 SID 的 SAP HANA 容器定位的任何单个邻近放置组相关联。
数据库
SAP BW/4HANA 专为 SAP HANA 数据库平台而设计。 Azure 提供三种可伸缩性和部署选项:
在纵向扩展的 SAP HANA 部署中,数据库层使用群集中的两个或更多 Linux 虚拟机实现高可用性。
某些虚拟机类型支持 SAP HANA 的横向扩展部署。
存储
本例使用高级托管磁盘作为应用程序服务器的非共享存储。 它还使用 Azure NetApp 文件作为集群共享存储。
Azure 高级 SSD v2 专为 SAP 等性能关键型工作负载而设计。 有关存储解决方案的优势和当前限制的信息,请参阅部署高级 SSD v2。
超级磁盘存储极大地减少了磁盘延迟。 因此,它有利于 SAP 数据库服务器等性能关键型应用程序。 若要比较 Azure 中的块存储选项,请参阅 Azure 托管磁盘类型。
不支持标准托管磁盘,如 SAP 注释1928533 中所述。 不建议将标准存储用于任何 SAP 安装。
对于备份数据存储,建议使用 Azure 冷访问层和存档访问层。 这些存储层的性价比较高,适合用于存储不经常访问的长久留存数据。
网络
虽然未要求,但通常会部署中心辐射型拓扑为 SAP 布局提供逻辑隔离和安全边界。 有关其他网络详细信息,请参阅 SAP S/4HANA 参考体系结构。
该中心 VNet 充当本地网络的中心连接点。 分支是与中心对等互连的 VNet,可用于隔离工作负载。 流量通过网关连接在本地数据中心与中心之间流动。
大多数客户实现包括一个或多个将本地网络连接到 Azure 的 ExpressRoute 线路。 对于更少的网络带宽需求,VPN 是一种低成本的替代方案。
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
性能效率
性能效率是指工作负荷能够以高效的方式扩展以满足用户对它的需求。 有关详细信息,请参阅性能效率要素概述。
SAP BW/4HANA 专为实时数据仓储任务而设计。 SAP 应用程序服务器与数据库服务器持续通信,因此尽量缩短应用程序虚拟机到数据库的延迟有助于提高应用程序性能。 磁盘缓存和服务器放置是两种有助于缩短这两个组件之间的延迟的策略。
对于在任何数据库平台上运行的性能关键型应用程序(包括 SAP HANA),请使用高级托管磁盘,并为日志卷启用写入加速器。 写入加速器适用于 M 系列虚拟机,可缩短写入延迟。 但如果可用,请使用超级托管磁盘代替没有写入加速器的高级磁盘。 超级磁盘功能不断发展。 若要查看这些磁盘是否符合要求,请查看有关超级磁盘服务范围的最新信息。 尤其在实现包含 Azure 复原功能(例如可用性集、可用性区域和跨区域复制)的情况下执行此操作。
如前所述,若要通过减少应用程序和数据库之间的物理距离来提高性能,请使用邻近放置组。 脚本和实用工具可在 GitHub 上获得。
为优化服务器间的通信,请使用加速网络,该功能适用于受支持的虚拟机,包括 D/DSv2、D/DSv3、E/ESv3、F/FS、FSv2 和 Ms/Mms。 在所有 SAP 实现中,都需要加速网络,尤其是在使用 Azure NetApp 文件时。
若要实现较高的每秒 IO 和磁盘带宽吞吐量,可向 Azure 存储布局应用优化存储卷性能时采用的常见做法。 例如,将多个磁盘合并在一起以创建条带化磁盘卷可以提高 IO 性能。 针对不经常更改的存储内容启用读取缓存可增强数据检索的速度。
可伸缩性
此示例体系结构介绍了一个小型生产级部署,该部署可根据需求灵活缩放。
在 SAP 应用层,Azure 提供多种虚拟机大小供纵向和横向扩展。有关非穷尽列表,请参阅SAP 注释 1928533。 随着我们不断地认证更多的虚拟机类型,你可以在同一个云部署中进行纵向扩展或缩减。
可用性
资源冗余是高可用性基础结构解决方案中的常见话题。 如果组织具有不太严格的 SLA,请使用配备高级磁盘的单实例虚拟机,它可以保障运行时间 SLA。
若要最大程度地提高应用程序可用性,可以在可用性集中或跨可用性区域部署冗余资源。 有关详细信息,请参阅 SAP S/4HANA 参考体系结构。
此体系结构将执行相同角色的虚拟机置于一个可用性集中。 此配置可防范因 Azure 基础结构维护和意外中断造成的停机,有助于满足 SLA 要求。 每个可用性集需要两个或更多虚拟机才能获得更高的 SLA。
Azure 负载均衡器
Azure 负载均衡器是一种网络传输层服务(第 4 层)。 在群集配置中,Azure 负载均衡器将流量定向到主服务实例或正常节点(如果有故障)。 无论哪种 SAP 应用场景,均建议使用 Azure 标准负载均衡器。 它提供精心设计的安全实现,并阻止来自后端池的传出流量,除非启用了到公共终结点的出站连接。 此外,还可以使用 Azure NAT 网关获取出站连接。
此外,如果决定在 Azure 可用性区域中部署 SAP 工作负载,标准负载均衡器就具有区域感知性。
Web Dispatcher
在此示例设计中,SAP Web Dispatcher 仅用作 SAP 应用程序服务器之间的 SAP 流量的 HTTP(s) 负载均衡机制。 为了实现 Web Dispatcher 组件的高可用性,Azure 负载均衡器实现了故障转移集群或并行 Web Dispatcher 设置。 请参阅 SAP 文档中的 SAP Web 调度程序。
作为软件负载均衡器,Web Dispatcher 提供额外的层服务,这些服务可以执行 SSL 终止和其他卸载功能。 这些层服务被称为 ISO 网络模型中的第 7 层。
通过 DIAG 协议或远程函数调用 (RFC) 连接 SAP 服务器的 SAP GUI 客户端流量不需要其他负载均衡器。 Central Services 消息服务器通过 SAP 应用程序服务器中的登录组平衡负载。
Web 调度程序组件用作 SAP 应用程序服务器之间的 SAP 流量的负载均衡器。 为了实现 SAP Web Dispatcher 的高可用性,Azure 负载均衡器实现了故障转移群集或并行 Web Dispatcher 设置。
对于面向 Internet 的通信,DMZ 中的独立解决方案将是满足安全问题的推荐体系结构。
ASCS 上的嵌入式 Web Dispatcher 是一种特殊选项,而且因为 ASCS 上有附加工作负载,所以要考虑进行适当的大小调整。
Central Services
若要保护 Azure Linux 虚拟机上 SAP Central Services (ASCS) 的可用性,必须为所选 Linux 分发版使用适当的高可用性扩展 (HAE)。 HAE 提供了 Linux 群集软件和特定于 OS 的集成组件用于实现。
为了避免群集分区问题,可以使用 iSCSI STONITH 块设备 (SBD) 设置群集节点隔离,如以下示例所示。 或者,可以改用 Azure 隔离代理。 与早期版本的 Red Hat 和 SUSE 环境代理相比,改进的 Azure 隔离代理提供更快的服务故障转移。
应用程序服务器层中的其它应用程序服务器
若要 SAP 主应用程序服务器和其他应用程序服务器实现高可用性,请对应用程序服务器池中的流量进行负载均衡。
灾难恢复
Azure 支持各种灾难恢复选项,具体取决于你的要求。 SAP 应用程序服务器不包含业务数据,因此可以在次要区域中创建 SAP 应用程序服务器,然后再将其关闭。 SAP 应用程序服务器的软件更新和配置更改应手动或按计划复制到灾难恢复端。 可以在灾难恢复区域中生成虚拟机以运行 Central Services 角色,该角色也不保留业务数据。 有关详细信息,请参阅 SAP S/4HANA 参考体系结构。
监视
若要最大程度地提高应用程序和服务的可用性和性能,请使用 Azure Monitor(包括 Azure Log Analytics 和 Azure Application Insights),并提供用于收集和分析遥测数据的复杂工具。 这些工具有助于最大程度地提高云端和本地资源与应用程序的性能和可用性。 可以使用 Azure Monitor 监视基础结构和应用程序异常,向管理员发送警报,以及自动对预定义的条件作出反应。
对于在 SAP HANA 和其他主要数据库解决方案上运行的 SAP 应用程序,请参阅适用于 SAP 的 Azure Monitor 解决方案,了解适用于 SAP 的 Azure Monitor 如何帮助你管理 SAP 服务的可用性和性能。 Azure Monitor for SAP 提供了一组全面的初始指标和遥测用于监视。 指标定义存储为采用 JSON 编写的 SQL 查询,可进行修改以满足要求。 在 GitHub 上的此处提供了一组起始指标。
备份
对于 SAP ASCS 和应用程序服务器,建议使用 Azure 备份来保护虚拟机内容。 Azure 备份提供独立且隔离的备份,可以帮助防范原始数据的意外破坏。 备份存储在提供恢复点内置管理的恢复服务保管库中。 配置和可伸缩性很简单,备份经过优化,可以轻松地根据需要还原。
根据 SAP HANA 是部署在虚拟机还是 Azure 大型实例上,数据库层的备份有所不同。 请参阅 Linux 虚拟机上 SAP HANA 的管理和操作注意事项。
安全性
安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述。
SAP 具有自身的用户管理引擎 (UME),可在 SAP 应用程序和数据库中控制基于角色的访问和授权。 有关详细信息,请参阅安全指南 SAP BW∕4HANA。
SAP S/4HANA 参考体系结构提供了适用于 SAP BW/4HANA 的其他基础结构安全注意事项。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- Ben Trinh | 首席架构师
若要查看非公开领英个人资料,请登录领英。
后续步骤
了解有关组件技术的详细信息:
- 关于 Azure VM 中的 SAP HANA 数据库备份
- Azure 托管磁盘
- 在可用性集中创建和部署虚拟机
- Azure VM 上的 SAP NetWeaver 高可用性
- 在 Azure 虚拟机上安装 SAP HANA
- Azure 中的 Linux 虚拟机
- 负载均衡器文档
- 网络安全组
- 使用 Azure 可用性区域的 SAP 工作负荷配置
- 为多层 SAP NetWeaver 应用部署设置灾难恢复
- 使用 Azure 托管和运行 SAP 工作负荷方案
- 在 Power BI Desktop 中使用 SAP Business Warehouse 连接器
- 什么是 Azure Bastion?
- 什么是 Azure 负载均衡器?
- 什么是 Azure 虚拟网络?
- 什么是 Power BI?
相关资源
探索相关体系结构: