你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 虚拟机上使用数据库的 Oracle 应用程序的体系结构

本文提供了参考体系结构,用于在 Azure IaaS 上部署 Oracle 应用程序,同时 Oracle 数据库也在其上驻留或共置。

Oracle 工作负载不仅包括 Oracle 数据库,还包括 Oracle 第一方应用程序,例如 Siebel、PeopleSoft、JD Edwards、E-Business Suite 或自定义的 WebLogic 服务器应用程序。 在 Azure 基础结构即服务 (IaaS) 上部署 Oracle 应用程序是一种常见方案,适合希望将云与 Oracle 数据库一起用于 Oracle 工作负载的组织。 Microsoft 提供了参考体系结构和最佳做法,帮助简化此过程。

常规应用程序迁移指南

随着 Oracle 应用程序迁移到 Azure IaaS,必须遵循常规的设计注意事项,无论应用程序类型如何。 某些注意事项特定于应用程序。 在本部分中,我们将列出所有应用程序的常规设计注意事项,每个应用程序下介绍了特定于该应用程序的注意事项。

网络和安全性

为 Azure 上的 Oracle 应用程序提供的网络设置涵盖了网络和安全注意事项的多个方面。 下面是推荐的网络设置的细目:

  • 使用 Microsoft Entra ID 和 SAML 的单一登录 (SSO):使用安全断言标记语言 (SAML) 协议将 Microsoft Entra ID 用于单一登录 (SSO)。 此 SSO 允许用户在一次身份验证后无缝访问多个服务。

  • Microsoft Entra 应用程序代理:请考虑使用 Microsoft Entra 应用程序代理,尤其是对于远程用户。 此代理允许从网络外部安全地访问本地应用程序。

  • 通过 ExpressRoute 路由内部用户:对于内部用户,通过 Azure ExpressRoute 路由流量,实现与 Azure 服务的专用私密连接,确保低延迟和安全通信。

  • Azure 防火墙:如有必要,可以在应用程序前面配置 Azure 防火墙以增强安全性。 Azure 防火墙可帮助保护资源免受未经授权的访问和威胁。

  • 面向外部用户的应用程序网关:当外部用户需要访问应用程序时,请考虑使用 Azure 应用程序网关。 它提供了保护 Web 应用程序的 Web 应用程序防火墙 (WAF) 功能和分发流量的第 7 层负载均衡功能。

  • 网络安全组 (NSG):使用网络安全组 (NSG) 保护子网。 NSG 允许通过定义安全规则来控制网络接口、虚拟机、子网的入站和出站流量。

  • 基于角色的访问控制 (RBAC):要授予对特定个人或角色的访问权限,请使用 Azure RBAC。 RBAC 根据角色和权限对 Azure 资源提供精细的访问控制。

  • 用于 SSH 访问的 Bastion 主机:使用 Bastion 主机作为跳板机来增强 SSH 访问的安全性。 Bastion 主机充当安全网关,供管理员访问虚拟网络中的虚拟机。 此主机提供了额外的安全层。

  • 更多注意事项:

    • 数据加密:确保静态数据和传输中的数据已加密。 为达到此目标,Azure 提供了 Azure 磁盘加密和 SSL/TLS 等工具。
    • 补丁管理:定期更新和修补 EBS 环境,防御已知漏洞。
    • 监视和日志记录:实现 Azure MonitorAzure Defender 以增强安全性,持续检查环境是否存在安全威胁和异常。 设置用于审核和取证分析的日志记录。
  • 总之,这些网络安全设置旨在提供可靠且安全的环境,以便在 Azure IaaS 上托管 Oracle 应用程序。 它们融合了面向内部和外部用户的身份验证、访问控制和网络安全最佳做法。 他们还考虑到了对应用程序服务器的 SSH 访问的需求。 这些建议可帮助你为 Azure IaaS 上的 Oracle 应用程序部署建立成熟的安全态势。

Web 层:Web 层对请求进行负载均衡,并相应地将请求发送到应用层、数据库层和/或备份。

应用层:应用层通常涉及应用程序服务器和共享文件系统。

对于自动缩放,虚拟机规模集是一个不错的选择,它让你可以使用自定义缩放规则根据需求横向扩展多个虚拟机,以适应工作负载需求。

与 Azure 行业专家 (SME) 协作,对你的体系结构进行彻底的评估。 他们可以帮助你根据具体要求确定最合适的 Azure 服务,包括性能、可用性和可伸缩性。 在设计体系结构时,请务必考虑成本、数据安全性、合规性和灾难恢复等因素。

还必须持续检查和优化 Azure 资源,以确保效率和成本效益。

负载均衡和吞吐量:评估应用程序服务器的工作负载特征非常重要。 某些服务器处理的任务数比其他服务器多,并产生更高的吞吐量。 在设计 Azure 虚拟机规模集和负载均衡配置以确保有效分配资源时,此信息至关重要

数据库层:建议使用适用于 Azure 上的 Oracle IaaS 的 Oracle Data Guard 的 HA 体系结构。 应用程序需要特定类型的 HA 设置,已在每个应用程序下列出。

备份 - 从应用层和数据库层发送备份。 这只是这两个层不应分为两个不同供应商的众多原因之一。 数据库备份由 Azure 备份卷快照执行,对象为高级文件,目标为次要区域。

灾难恢复 - 可以选择不同的解决方案。 这在很大程度上取决于你的要求。 该体系结构旨在实现高可用性。 要复制应用层,可以使用 Azure Site Recovery。 可以选择的另一个解决方案是托管磁盘的冗余选项。这两种解决方案都能够复制数据。 托管磁盘的冗余选项是一种可以简化体系结构的解决方案,但也存在一些限制。

Azure 上的 Siebel

Oracle Siebel CRM 仍然是许多企业的首选企业级 CRM 解决方案。 它是 Oracle 产品组合中最复杂的应用程序之一,提供事务、分析和参与功能的组合来管理面向客户的运营。

下面是 Azure 虚拟机上 Siebel 应用程序部署的建议体系结构,适用于 Innovation Pack 16 及更早版本:

示意图显示 Azure 虚拟机上 Siebel 应用程序部署的建议体系结构,适用于 Innovation Pack 16 及更早版本。

下图是 Azure 虚拟机上 Siebel 应用程序部署的体系结构,适用于 Innovation Pack 17 及更早版本:

示意图显示 Azure 虚拟机上 Siebel 应用程序部署的建议体系结构,适用于 Innovation Pack 17 及更早版本。

Oracle Siebel 设计注意事项

  • 网络和安全性:此外,Azure 上 Oracle Siebel 的网络设置需要遵循常规网络和安全性注意事项。

  • 必须使用 Siebel Tool 子网完成迁移。

应用层

  • 版本 17 或更高版本 - 应用程序和数据库上某些服务器和实用工具的配置是必需的。

数据库层

  • 确保数据库和 Siebel 版本匹配。
  • 确保使用 Oracle Data Guard Oracle 参考体系结构将主数据库和复制的数据库复制到辅助数据库。

Azure 上的 E-Business Suite

Oracle E-Business Suite (EBS) 是一个应用程序套件,其中包括供应链管理 (SCM) 和客户关系管理 (CRM)。 由于 EBS 是一个 SCM 和 CRM 系统,因此它通常具有许多第三方系统的接口。 以下体系结构具备在一个区域中的高度可用性。

我们在下图中假设外部用户不会跨越企业网络。

示意图显示本地网络,其中外部用户不会跨越企业网络。

Oracle EBS 设计注意事项

数据库层 - 主数据库和辅助数据库应位于一个数据中心内。 应使用同步配置。 如果你跨数据中心安装应用程序,则应在异步模式下配置 Data Guard。

Azure 上的 JD Edwards

Oracle 的 JD Edwards 是一个集成的应用程序套件,其中包含全面的企业资源规划软件。 目前,JD Edwards 在供应链、仓库管理、物流、制造资源规划等领域中得到了应用。 由于应用程序的使用,我们看到其他系统的接口也很重要。

以下体系结构旨在实现高可用性。 我们假设外部用户不会通过公司网络进行访问。 如果外部用户使用公司网络访问应用程序,则可以在网络上简化该体系结构,如下所示。 示意图显示本地网络和外部用户。

JD Edwards 设计注意事项

Web 层:应用程序 Web 层通常由多个应用程序服务器组成。 在 JD Edwards 中,规则通常保存在这些应用程序 Web 服务器上。

  • 呈现层:呈现层中的每个实例都与存储相关联。 减少实例之间的依赖关系可能会导致高延迟,因此仔细评估它们至关重要。

  • 服务器性能差异:某些服务器可以处理的任务数比其他服务器多,并产生更高的吞吐量。 在设计阶段,必须评估此吞吐量差异,以确保基础结构能够高效地处理峰值工作负载。

  • 重构:使用 Azure 虚拟机规模集进行自动缩放不需要对你的 JD Edwards 设置进行重构。 它是一种可缩放的解决方案,可以在不对你的应用程序体系结构做出重大更改的情况下实现。

数据库层 - 主要和辅助数据库位于一个数据中心内,应使用同步配置。 如果你跨数据中心安装应用程序,则应在异步模式下配置 Data Guard。 数据库层中的数据会直接发送到 Azure 存储。 存储依赖于当前的体系结构设置。

Azure 上的 PeopleSoft

Oracle 的 PeopleSoft 应用程序套件包含用于人力资源和财务管理的软件。 该应用程序套件分为多层,其应用程序包括人力资源管理系统 (HRMS)、客户关系管理 (CRM)、财务和供应链管理 (FSCM) 以及企业绩效管理 (EPM)。

示意图显示具有 ExpressRoute 的本地网络和外部用户。

PeopleSoft 设计注意事项

应用层:应用层包含多个任务和服务器。 它会运行业务逻辑和流程,但也维护与数据库的连接。 一旦此依赖关系被切断,就会造成延迟。

  • 应用层与数据库层之间的依赖关系:请务必最大程度地减少应用层和数据库层之间的延迟。 通过将应用层和数据库层置于同一云提供商中(在本例中为 Azure),可以降低网络延迟。 Azure 提供各种网络选项和服务,例如虚拟网络 (VNet) 对等互连或 ExpressRoute,以确保层之间的低延迟连接。

  • 操作系统注意事项:如果进程计划程序特别要求 Windows 操作系统,你仍然可以在 Azure 虚拟机上运行它。 Azure 支持各种 Windows Server 版本,你可以选择满足应用程序要求的版本。

  • 体系结构评估:仔细评估体系结构要求,包括可伸缩性、可用性和性能。 若要确保高可用性和可伸缩性,请考虑在负载均衡的配置中设置多个应用程序服务器实例。

数据库层 - 主数据库和复制到的辅助数据库应位于一个数据中心内。 应使用同步配置。 如果你跨数据中心安装应用程序,则应在异步模式下配置 Data Guard。

后续步骤

Oracle Database 的参考体系结构

将 Oracle 工作负载迁移到 Azure 虚拟机