了解如何设计用于托管 SaaS 应用程序的基础结构

为独立软件供应商(ISV),提供软件作为服务(SaaS),您需要安全可扩展的企业级基础设施来承载服务并管理租户。此解决方案提供了经过验证的体系结构,其中包含了一些最佳实践,使您能够在 Oracle Cloud 上托管 SaaS 应用程序。

关于 SaaS 应用程序

SaaS 应用程序是供应商在云中提供为服务的应用程序。供应商的客户订阅该服务,并在需要时使用该应用程序。

对于 SaaS 供应商,每个订户(或客户)都是一个户。

可以使用以下架构模式在云中部署 SaaS 应用程序:
  • 单个且识别租户的应用程序实例

    在此模式中,SaaS 供应商将部署一个使用所有租户的应用程序实例。应用程序处理对维护特定的工作负荷和数据的分隔。

    所有租户都将获得从公用代码库构建的相同应用程序版本。由于所有应用程序部署都基于相同的代码,因此供应商可以配置、打补丁和高效升级服务。缩放和操作服务非常简单。

    但是,构建识别租户的应用程序环境最初需要更多的工作。此部署模式不适合需要完全隔离的 SaaS 客户。

  • 多个特定于维护的应用程序实例

    此模式是解决方案的重点。

    SaaS 供应商部署和管理多个隔离的应用程序实例。每个部署适用于特定租户。SaaS 供应商通过公用管理层管理单个租户应用程序实例。

    供应商可以选择从单个代码库构建所有租户应用程序实例,或者为每个租户提供定制版本的应用程序。此模式适合需要完全隔离应用程序环境的 SaaS 客户。

体系结构

此体系结构显示托管 SaaS 供应商的多个租户的Oracle Cloud Infrastructure 租户。体系结构中的所有资源位于单个区域中。

SaaS 供应商的管理基础结构和每个租户的应用资源都将隔离在单独的区间和虚拟云网络(vcn)中。网络隔离确保将应用程序和数据与租户中的其他部署隔离。划分可以确保资源的逻辑隔离并实现精细的访问控制。


承载多个 SaaS 租户的 ISV 租户的体系结构

此体系结构包括以下组件:

  • 管理区间

    管理区间是用于管理各个租户应用程序部署的公用基础结构所需的所有 Isv-特定资源的逻辑容器。它包含以下资源:

    • ISV VCN

      SaaS ISV 访问和管理其租户所需的资源附加到 ISV VCN。

    • 管理服务器

      管理服务器是专用子网中的一个计算实例。您可以运行此服务器上的基础结构监视应用程序以监视租户服务器。管理服务器连接到 ISV VCN 中的专用子网。管理服务器可以通过路由网关与租户区间中的服务器进行通信。

  • 对等连接区间

    要在 ISV VCN 中的资源与租户资源之间建立专用通信,必须在 ISV VCN 与每个租户 VCN 之间建立一个本地对等连接关系。但是,VCN 最多只能有 10 个本地对等连接关系。为了解这种缩放限制,体系结构使用可连接到多个对等 Vcn 的路由网关。每个对等连接 VCN 可以具有一个本地对等连接关系,最多可以有 10 个租户 VCN。因此,您可以通过在对等连接区间中添加路由网关和对等 Vcn 来扩展拓扑。

    • 对等连接子网

      对等连接子网是 ISV VCN 的一部分。所有路由网关都附加到此子网。

    • 路由网关和对等 Vcn

      每个路由网关都是一个 Oracle Linux 计算实例,它通过对等 VCN 将流量从管理服务器路由到租户 VCN。

      每个路由网关实例的主要 VNIC 都会连接到 ISV VCN 中的对等连接子网。

      每个路由网关实例的辅助 Vnic 都连接到对等 vcn 的子网。路由网关可以使用的最大对等 Vcn 数取决于底层计算实例配置所支持的辅助 vnic 的数量。例如,如果路由网关运行在使用 VM.Standard.2.4 配置的计算实例上,则它最多可以有三个辅助 vnic,并且最多可以为三个对等 vcn 提供服务。每个对等连接 VCN 最多可以连接到 10 个租户 VCN。因此,使用 VM.Standard.2.4 配置的路由网关最多支持 30 个应用程序租户。

      为了实现每个路由网关的高可用性,您可以设置具有浮动 IP 地址的主动-被动式计算实例对,并使用诸如 Pacemaker 和 Corosync 等软件来确保自动故障转移。

  • 租户区间

    每个租户的资源位于单独的区间中。每个租户区间都包含一个 VCN,其中将该租户的所有资源附加到该 VCN。因此,每个租户的资源都使用网络中的唯一地址空间,该空间与拓扑中的所有其他租户隔离。

    在每个租户区间中,可以预配一个运行代理的计算实例,该代理可以监视区间中的服务器,并将度量发送到 ISV VCN 中的管理服务器。

    添加新应用程序租户时,新租户的必需资源将预配到新区间中。

    租户可以通过公共互联网或通过专用连接(IPSec VPN 或 FastConnect)访问其应用程序。要从公共互联网访问,每个租户 VCN 需要一个互联网网关。对于使用 VPN 或 FastConnect 的访问,需要 DRG。该体系结构图未显示租户 Vcn 的互联网关和 drg。

关于所需服务和策略

此解决方案需要以下服务和访问管理策略:

服务 需要策略至...
Oracle Cloud Infrastructure Identity and Access Management 创建和管理区间。
Oracle Cloud Infrastructure 网络 创建和管理 Vcn、子网、互联网网关、路由表、安全列表、lpg 和 drg
Oracle Cloud Infrastructure Compute 创建和管理计算实例。

请参阅了解如何获取适用于 Oracle 解决方案的 Oracle Cloud 服务以获取所需的云服务。