使用 Exadata Cloud Service 在 Oracle Cloud Infrastructure 上部署 TCS BaNCS

BaNCS 是 Tata 咨询服务 (TCS) 提供的金融软件应用套件。这些应用为核心银行、资本市场和保险提供解决方案,并被全球 100 多个国家/地区的中型和大型金融机构使用。十家托管和资产管理公司中有八家运营 TCS BaNCS,全球约 30% 的人口通过 BaNCS 为银行服务。

BaNCS 应用程序对于许多金融机构的日常运营至关重要。它们可以大规模部署,每天支持多达数十亿个账户和数亿个事务处理。这些系统必须以提供最高级别的安全性、可靠性和性能的方式实施,以满足每个组织自己的要求,并满足当地金融服务监管机构的严格要求。

Oracle Cloud Infrastructure (OCI) 是托管 BaNCS 应用的理想平台。OCI 服务和底层数据中心技术经过专门设计和优化,可运行 BaNCS 等关键业务系统。OCI 在许多国家/地区提供多个区域,使组织能够配置地理位置隔离的灾难恢复 (DR) 架构模式,同时在地理边界内保留数据以符合法规要求。此外,OCI 还提供了许多数据库选件,包括高度优化的 Exadata 数据库服务,这是适用于事务系统(如 BaNCS)的最具弹性和性能的选件。

此参考架构介绍了如何利用多区域灾难恢复和 Exadata 数据库服务在 OCI 上部署 BaNCS。

体系结构

TCS BaNCS 采用采用 API 优先设计的多层架构。此解决方案利用多种 OCI 网络和安全功能,例如 OCI 区间以及 OCI 虚拟云网络的中心对等连接,可隔离各种应用组件,并提供跨环境和应用层的细粒度访问控制。主生产 BaNCS 应用程序部署在一个 OCI 区域中,DR 部署配置在辅助 OCI 区域中。OCI 跨区域复制服务可以同步主站点和辅助站点,并提供低恢复点目标 (RPO) 和恢复时间目标 (RTO)。此外,托管 BaNCS 应用服务的虚拟机分布在多个 OCI 容错域中,以在每个 OCI 区域中创建高可用性集群。

下图说明了生产和灾难恢复 BaNCS 环境的此参考体系结构。为了简化图表,未对非生产环境进行描述。这些环境将遵循相同的设计模式,并将包含在自己的隔离网络中。

图表后面的各种解决方案组件的详细说明。


下面是 bancs-ref-architecture-no-fd.png 的说明
插图 bancs-ref-architecture-no-fd.png 的说明

bancs-ref-architecture-no-fd-oracle.zip

此体系结构由以下几部分组成:
  • Tenancy

    租户是 Oracle 在您注册 OCI 时在 Oracle Cloud 中设置的安全隔离分区。您可以在您的租户内的 Oracle Cloud 中创建、组织和管理资源。

    租户是公司或组织的同义词。通常,公司将具有单个租户并反映其在该租户中的组织结构。单个租户通常与单个订阅关联,单个订阅通常只有一个租户。如果需要,公司可以选择将其 OCI 资源、环境或应用拆分到多个租户。如果需要,可以链接租户,并且可以跨租户对等连接网络。为了实现此 BaNCS 解决方案设计,使用了一个租户,并使用 OCI 区间概念(见下文)为各种解决方案组件提供细粒度隔离和访问控制。

  • 区域

    OCI 区域是一个本地化地理区域,其中包含一个或多个数据中心,称为可用性域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。在此解决方案中,使用两个区域来提供与主站点在地理位置上隔离的灾难恢复站点。

  • 区间

    区间是 OCI 租户中的跨区域逻辑分区。使用区间在 Oracle Cloud 中组织资源、控制对资源的访问并设置使用限额。要控制对给定区间中资源的访问,您可以定义策略来指定谁可以访问资源以及可以执行哪些操作。

  • 可用性域

    可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共享电源或冷却设备等基础设施,也不共享内部可用性域网络。因此,一个可用性域失败不太可能影响区域中的其他可用性域。

  • 容错域

    容错域是可用性域内的一组硬件和基础设施。每个可用性域都有三个容错域,它们具有独立的电源和硬件。在多个容错域之间分配资源时,应用可以承受容错域内的物理服务器故障、系统维护和电源故障。对于此部署,建议将 BaNCS 负载平衡器、网络防火墙、Web 层和应用层 VM 部署在多个容错域的高可用性集群中,以确保对硬件故障具有最高的可恢复性。

  • 身份和访问管理 (IAM)

    OCI Identity and Access Management (IAM) 支持您控制哪些人可以访问 OCI 中的资源,以及他们可以对这些资源执行的操作。

  • 策略

    OCI IAM 策略指定谁可以访问哪些资源以及如何访问。可以在组和区间级别授予访问权限,这意味着您可以编写策略来为组提供特定区间内或租户的特定类型的访问权限。

  • 虚拟云网络 (VCN) 和子网

    VCN 是您在 OCI 区域中设置的可定制软件定义网络。与传统的数据中心网络一样,VCN 允许您完全控制您的网络环境。VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 划分为子网,子网可以限定为区域或可用性域。每个子网都包含一系列不与 VCN 中的其他子网重叠的连续地址。可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。此 BaNCS 参考架构利用一个中心拓扑和分支拓扑中的多个 VCN。这将在下节中更详细地讨论。

  • FastConnect

    OCI FastConnect 提供了一种在数据中心与 OCI 之间创建专用连接轻松的方法。与基于 Internet 的连接相比,FastConnect 提供了更高的带宽选项和更可靠的网络体验。

  • 站点到站点 VPN

    站点到站点 VPN 在您的内部部署网络与 OCI 中的 VCN 之间提供 IPSec VPN 连接。IPSec 协议套件在数据包从源传输到目标之前对 IP 流量进行加密,并在数据包到达时对流量进行解密。

  • 动态路由网关 (DRG)

    DRG 是虚拟路由器,用于为 VCN 与区域外的网络(例如,另一个 OCI 区域中的 VCN、内部部署网络或另一个云提供商中的网络)之间的专用网络流量提供路径。

  • 本地对等连接网关 (LPG)

    通过 LPG,您可以在同一区域中将一个 VCN 与另一个 VCN 对等。对等连接意味着 VCN 使用专用 IP 地址进行通信,而流量不会通过互联网或内部部署网络进行路由。此解决方案是使用多附加 DRG 创建的,用作实现集线器和分支网络的本地对等连接的方法。然而,它可以同样使用本地对等连接网关创建。

  • 网络地址转换 (NAT) 网关

    NAT 网关允许 VCN 中的专用资源访问互联网中的主机,同时不会向传入的互联网连接公开这些资源。

  • 服务网关

    通过服务网关,您可以从 VCN 访问其他服务,例如 OCI 对象存储。从 VCN 到 Oracle 服务的流量通过 Oracle 网络结构传输,并且永远不会遍历互联网。

  • 安全列表

    对于每个子网,可以创建安全规则来指定必须允许进出子网的通信的源、目标和类型。

  • 网络安全组 (NSG)

    NSG 充当云资源的虚拟防火墙。使用 OCI 的零信任安全模型,所有流量都将被拒绝,您可以控制 VCN 内的网络流量。NSG 由一组入站和出站安全规则组成,这些规则仅适用于单个 VCN 中的一组指定的 VNIC。

  • 安全区域

    安全区域从一开始就实施加密数据和阻止公共访问整个区间的网络等策略,从而确保 Oracle 的安全优秀实践。安全区域与同名的区间关联,并包括安全区域策略或适用于该区间及其子区间的“配方”。无法将标准区间添加或移动到安全区域区间。

  • 计算服务

    通过 OCI Compute ,您可以在云中预配和管理计算主机。您可以启动符合 CPU、内存、网络带宽和存储资源要求的计算实例。创建计算实例后,可以安全地访问该实例,重新启动该实例,附加和分离卷,并在不再需要时终止该实例。OCI 还为计算资源的容量预留提供了相应功能。这样可以提前预留计算能力,以便在需要时始终可供您的负载使用。它通常用于在灾难恢复区域中预留容量,以确保在发生故障转移时始终可以预配和启动 DR 资源。

  • 函数

    Oracle Functions 是一个完全托管的多租户、高度可扩展的按需函数即服务 (FaaS) 平台。它由 Fn Project 开源引擎提供支持。使用函数可以部署代码,也可以直接调用代码或触发代码以响应事件。Oracle Functions 使用 OCI Registry 中托管的 Docker 容器。在此解决方案中,Functions 可以用来快速构建和运行程序,以满足临时要求,例如禁用不活动用户或验证备份完成情况。

  • 负载平衡器

    OCI 负载平衡服务提供从单个入口点到后端多个服务器的自动流量分配。

  • 对象存储

    通过对象存储,可以快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全地存储数据,然后直接从互联网或云平台检索数据。您可以无缝扩展存储,而不会导致性能或服务可靠性下降。将标准存储用于需要快速、立即和频繁访问的“热”存储。将归档存储用于长期保留、很少访问或很少访问的“冷”存储。

  • 文件存储

    OCI 文件存储服务提供持久、可扩展、安全的企业级网络文件系统。您可以从 VCN 中的任何裸金属、虚拟机或容器实例连接到文件存储服务文件系统。您还可以使用 OCI FastConnect 和 IPSec VPN 从 VCN 外部访问文件系统。

  • Exadata DB 系统

    通过 Exadata Cloud Service,您可以利用云端 Exadata 的强大功能。您可以预配灵活的 X8M 系统,以便随着需求的增长将数据库计算服务器和存储服务器添加到系统中。X9M 系统提供 RoCE (RDMA over Converged Ethernet) 网络,支持高带宽和低延迟、持久性内存 (PMEM) 模块以及智能 Exadata 软件。可以使用等效于四分之一机架 X9 系统的配置来预配 X9M 系统,然后在预配后随时添加数据库和存储服务器。

  • Oracle 服务网络

    Oracle 服务网络 (OSN) 是 OCI 中为 Oracle 服务保留的一个概念性网络。这些服务具有可通过互联网访问的公共 IP 地址。Oracle Cloud 外部的主机可以使用 OCI FastConnect 或 VPN Connect 私下访问 OSN。VCN 中的主机可以通过服务网关对 OSN 进行专用访问。

  • Cloud Guard

    您可以使用 Oracle Cloud Guard 监视和维护 OCI 中资源的安全性。Cloud Guard 使用检测器配方,您可以定义这些配方来检查资源是否存在安全漏洞,以及监视操作员和用户是否有风险活动。检测到任何配置错误或不安全活动时,Cloud Guard 会根据您可以定义的响应器配方推荐更正操作并协助执行这些操作。

  • Data Guard

    Oracle Data Guard 提供一组全面的服务,以创建、维护、管理和监视一个或多个备用数据库,从而使 Oracle 生产数据库能够在不中断的情况下保持可用。Oracle Data Guard 将这些备用数据库作为生产数据库的副本进行维护。然后,如果生产数据库因计划内或计划外停机而变得不可用,Oracle Data Guard 可以将任何备用数据库切换到生产角色,从而最大限度地减少与停机关联的停机时间。

  • Vault

    通过 OCI Vault ,您可以集中管理用于保护数据的加密密钥,以及用于保护对云中资源的访问的密钥身份证明。在此解决方案中,对象、文件、块存储服务和证书服务都与 Vault 服务集成以管理其密钥。

  • 证书服务

    OCI Certificates 服务用于管理负载平衡器的 TLS 证书以及存储加密证书。

  • DNS 区域

    OCI DNS 服务是一个分布式互联网系统,可将人类可读的名称(例如 oracle.com)映射到 IP 地址。组织可以利用 OCI DNS 促进在发生灾难恢复事件时连续访问 BaNCS 应用。

推荐

此解决方案采用各种 OCI 服务和概念设计,可提供弹性、安全性和高性能的 BaNCS 应用。该设计最适合满足金融服务行业常见的金融机构及监管要求。以下项目提供了有关这些设计特定组件的详细信息。
  • 高可用性 (High Availability,HA) 和灾难恢复 (Disaster Recovery,DR)

    BaNCS 应用程序通常需要最高级别的可用性和地理位置隔离的冗余。为了在发生区域级灾难时实现隔离冗余,此解决方案已分布在两个 OCI 区域中。主区域将托管主动将数据复制到第二个区域的生产环境,该区域仅在必要时激活。为了最大程度地减少 RPO 和 RTO,可以使用跨区域存储复制或 rsync 等实用程序将应用层文件系统从主站点复制到辅助站点。此解决方案中的数据库是 OCI Exadata 数据库服务,该服务使用 Oracle Data Guard 向辅助区域中的另一个 Exadata 服务实例提供跨区域复制。

    HA 功能通过两个主要功能提供。网络防火墙、负载平衡器以及 BaNCS 应用和 Web 服务器等核心组件将在跨 OCI 容错域的集群中部署多个虚拟机 (VM)。这可以确保业务连续性,因为在可用性域内的应用或硬件故障中始终有一个辅助实例在运行。对于数据库层,Exadata 数据库服务在实际应用集群 (Real Application Cluster,RAC) 中提供多个活动计算和存储节点以提供冗余。

  • 网络

    此设计中使用的网络体系结构基于集线器和分支拓扑,为 BaNCS 应用程序的管理提供最高级别的安全性和隔离。根据 OCI 优秀实践,中心中心 VCN 托管企业级网络防火墙以及面向公共或客户(外部)的子网。此示例解决方案使用分支 VCN 作为生产 BaNCS 应用堆栈,并为环境管理相关应用和实用程序提供了其他分支 VCN。此外,还将在非生产环境自己的分支 VCN 中进行预配。

  • 数据库

    此解决方案设计基于在 Exadata 云服务上运行的 Oracle 数据库。这是为了提供最高级别的性能和可用性,因为 BaNCS 应用程序是一个关键业务系统。数据库配置根据 Oracle 优秀实践中的高可用性架构包括 RAC 和数据卫士。

  • 安全

    BaNCS 应用程序对业务运营至关重要,解决方案的端到端安全性非常重要。整个解决方案必须以最低权限安全策略实施,并且始终对传输中和静态数据进行加密。此解决方案利用许多 OCI 安全功能。

    OCI 平台、VCN、BaNCS 应用和数据库的管理员使用 OCI IAM 角色和策略进行管理。Oracle 建议预配和使用多个身份域来分隔不同的管理和应用程序用户。在此设计中,一个域用于 OCI 管理员账户,另一个域用于验证各种管理和支持应用程序的用户。将创建 OCI 区间并为其分配 OCI 资源,以便对资源和关联的 IAM 策略进行细粒度隔离。可以在 OCI IAM 或 Okta 等联合外部身份提供者中配置管理员身份验证。

    应配置企业级网络防火墙,以防止恶意和意外地访问 OCI 和应用资源。此外,OCI 安全列表、网络安全组和路由表还用于控制 OCI 资源之间的网络访问。任何外部网络流量都将通过 OCI FastConnect 或 VPN 进行路由。

    默认情况下,所有应用和数据库存储均为加密。建议客户自行管理加密密钥和钱包。在 OCI 中,管理密钥和钱包的建议方法是 OCI Vault 服务。

    与各种 BaNCS 应用程序资源关联的 OCI 区间与 OCI 安全区域关联。这些区域的定制配方配置为对任何计算 VM、网络、存储和数据库资源强制实施公司安全策略。如果管理员尝试创建或修改任何违反其中一个策略的资源,则此操作将被拒绝。

    Oracle 建议实施 Cloud Guard、Data Safe 和漏洞扫描等其他 OCI 服务,以便持续监视和管理 OCI 上整个 BaNCS 环境的安全状况。

  • 可管理性

    在 OCI 中,观测和管理服务提供了一整套资源,可帮助管理 OCI 平台和 BaNCS 应用。这包括度量监视、事件预警、日志管理和分析、应用性能监视、数据库管理和运营洞察。考虑到 OCI 上 BaNCS 部署的大小、复杂性和重要性,Oracle 强烈建议激活和配置这些服务,或者将 OCI 监视和日志数据传输到第三方 SEIM 工具。

注意事项

并非所有组织在部署 BaNCS 时都有相同的要求。例如,运行 BaNCS 的较小组织可能比核心银行应用或资本市场交易系统要求较低,因此其运营和监管要求可能较低。下面将讨论一些替代解决方案选项,以突出 OCI 的灵活性,以经济的方式满足不同需求。
  • 可用性

    此处介绍的架构基于多区域 OCI 部署,以便提供与主站点相距较大的 DR 站点。并非所有组织和 BaNCS 部署都具有此要求。替代方案包括将单个区域中的两个 OCI 可用性域用作主部署站点和辅助部署站点。在这种情况下,Oracle 仍建议将 OCI 资源分布在多个容错域中,以尽可能提高系统可用性。

  • 数据库

    BaNCS 应用程序支持用于持久层的一些数据库平台,包括 PostgreSQL 和 Oracle 数据库。对于部署规模较小的 BaNCS 组织,OCI 基本数据库服务是一个不错的选择。它是可扩展的托管数据库服务,在高性能 x86 虚拟机上运行,并且可以选择在单节点或多节点 RAC 集群中运行以实现高可用性。BaNCS 还支持 PostgreSQL,因此 OCI PostgreSQL 服务是另一种可行的替代方案。虽然这两个选项都不能提供与 Exadata 相同的性能、可恢复性或可扩展性,但对于较小的部署而言,它们可能更经济。与在 IaaS 上手动安装数据库相比,这两个 PaaS 数据库选项仍然具有显著的可管理性和总拥有成本优势。

  • 安全

    在上面提供的示例体系结构中,在 OCI Compute VM 上部署了企业级第三方网络防火墙。此外,您还可以使用原生 OCI 网络防火墙服务。您可以将其部署在您选择的 VCN 和子网内,并根据一组安全规则进行配置以控制南北和西东网络流量。在做出此决策之前,应比较各种网络防火墙选项的功能。

    OCI IAM 服务用于存储 OCI 系统管理员身份、角色和关联策略。它是针对这些用户的单点登录和多因素身份验证 (MFA) 的联合外部。替代部署可以利用 IAM 服务原生 MFA 功能,甚至可以创建其他 IAM 域来管理 BaNCS 应用程序用户以及 OCI 管理员。

    使用 OCI 上的 Oracle 数据库服务,可以使用 Oracle 透明数据库加密 (TDE) 启用静态数据加密。加密 wallet 和密钥通常使用 OCI Vault 进行存储和管理。运行专用 Vault 的更便宜替代方案是在数据库文件系统本地托管加密 wallet。这些加密文件将使用 Oracle Data Guard 从主数据库实例同步到辅助数据库实例。

  • 可管理性

    OCI 提供多种解决方案来监视、审计和管理应用部署,例如 BaNCS。OCI 本身提供全面的观测和管理服务套件,可对其进行配置和启用以满足大多数需求。但是,有许多常用的第三方选项,例如 Datadog、Splunk 和 Microsoft Sentinel。幸运的是,OCI 具有多种功能,例如 OCI Connector Hub,可轻松整合 OCI 指标和日志并将其传输到第三方系统。

  • API 管理

    TCS BaNCS 是 API 优先的应用程序,可释放 API 的强大功能,从而在更广泛的财务生态系统中有效使用数据。您可以将 OCI API Gateway 服务与 OCI IAM 结合使用,为 BaNCS 应用 API 提供集中治理、加速和安全性。

  • 性能

    许多因素有助于提高在 OCI 上运行的应用的性能,并最终提高用户体验质量。针对 BaNCS 的此特定解决方案设计中已做出许多旨在提供最高性能级别的决策。从网络角度来看,在 OCI 中使用 FastConnect 接口而不是 VPN 将提供显著的性能优势。在数据库方面,前面讨论了 Exadata 云服务与基本数据库云服务或 PostgreSQL 服务的优势。利用 OCI Compute VM 弹性配置还可以选择 CPU、RAM 等物理资源的最佳级别以及为随时满足工作负载而分配的网络接口数量。同样,OCI 存储层组件(例如块存储卷)可以灵活选择 IOPS 和吞吐量等性能特性,以符合要求。网络防火墙、Web 和应用服务器 VM 等 BaNCS 组件可以使用这些 OCI 功能提供经济高效的解决方案,轻松满足任何组织对 BaNCS 应用性能的期望。

浏览更多

要了解有关在 OCI 上运行 BaNCS 的更多信息,请参见以下资源:

确认

作者Mike Drok

贡献者Lance McKain