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

多租户的相关资源

本文为多租户解决方案的架构师和开发人员提供一系列链接和资源。

多租户应用程序的体系结构

以下文章提供了 Azure 上的多租户体系结构的示例。

体系结构 摘要 技术重点
Azure 上的多租户软件即服务 (SaaS) Azure 上的多租户 SaaS 方案的参考体系结构,该体系结构部署在多个区域 网络
将应用程序网关入口控制器(AGIC)与多租户 Azure Kubernetes 服务(AKS)群集配合使用 如何使用 AKS 和 AGIC 实现多租户的示例 Kubernetes
所有多租户体系结构 列出所有包含多租户的体系结构 多个

云设计模式

以下云设计模式经常在多租户体系结构中使用。

图案 摘要
部署戳模式 部署应用程序组件的多个独立副本(或缩放单元),包括数据存储。
联合标识 将身份验证委托给外部标识提供者。
守门员 通过使用专用主机实例来保护应用程序和服务,该实例充当客户端与应用程序或服务之间的中转站,验证和清理请求,并在它们之间传递请求和数据。
基于队列的负载调控 使用一个队列,该队列充当任务与它调用的服务之间的缓冲区,以便平滑间歇性密集型负载。
分片 将数据存储划分为一组水平分区或分片。
限制 控制应用程序实例、单个租户或整个服务使用的资源消耗。

反模式

考虑 吵闹邻居反模式,在这种情况下,一个租户的活动可能会对另一个租户使用系统产生负面影响。

Microsoft Azure 架构良好的框架

如果设计 SaaS,请使用 适用于 SaaS 的 Microsoft Azure Well-Architected Framework 工作负载 来获取特定于 SaaS 解决方案的可作体系结构指南。

Well-Architected 框架的全部功能对于所有解决方案(包括多租户体系结构)都很重要,但请特别注意可靠性支柱。 云托管的性质会导致应用程序通常是多租户、使用共享平台服务、竞争资源和带宽、通过 Internet 通信,并在商品硬件上运行。 此环境会增加暂时性故障和更永久性故障发生的可能性。

多租户体系结构指导

  • 在 Azure 上设计架构多租户解决方案(视频):此视频介绍如何在 Azure 上设计、架构和构建多租户解决方案。 如果构建 SaaS 产品或其他多租户服务,在规划高性能、租户隔离和部署管理时需要考虑很多问题。 此会话面向构建多租户或 SaaS 应用程序的开发人员和架构师,包括初创公司和 ISV。

  • Azure Friday - 在 Azure 上构建多租户解决方案 (视频):Azure 上的此视频介绍如何在 Azure 上设计、架构和构建多租户 SaaS 解决方案。

  • 加速并降低您的 SaaS 旅程风险(视频):此视频提供了有关如何过渡到 SaaS 交付模型的指南,无论您是在将现有解决方案从本地迁移到 Azure、还是考虑多租户架构,抑或是将现有的 SaaS Web 应用程序进行现代化。

有关 Azure 服务的资源

使用以下资源帮助你在 Azure 上构建多租户体系结构。

管理和符合性

  • 组织和管理多个 Azure 订阅:请务必考虑如何管理 Azure 订阅以及如何将租户资源分配给订阅。

  • 跨租户管理体验:作为服务提供商,可以使用 Azure Lighthouse 从自己的Microsoft Entra 租户中管理多个客户的资源。 通过使用 Azure 委派资源管理,可以在托管租户间执行许多任务和服务。

  • Azure 托管的应用程序:在托管应用程序中,资源将部署到应用发布者管理的资源组。 资源组在使用者的订阅中,但发布者租户中的标识有权访问该资源组。

计算

  • AKS 中群集隔离的最佳做法:AKS 提供了运行多租户群集和隔离资源的灵活性。 为了最大化 Kubernetes 的投资回报,必须首先了解并实施 AKS 多租户和隔离功能。 本最佳做法文章向群集操作员重点介绍隔离。

  • AKS 中群集安全性和升级的最佳做法:在 AKS 中管理群集时,工作负荷和数据安全性是一个关键考虑因素。 使用逻辑隔离运行多租户群集时,保护资源和工作负荷访问至关重要。

网络

  • 从提供商 (SaaS ISV) 和消费者的角度看 Azure 专用链接服务说明和演示:一段视频,介绍了支持多租户服务提供商(例如构建 SaaS 产品的独立软件供应商)的 Azure 专用链接服务功能。 此解决方案让使用者能够使用自己的 Azure 虚拟网络的专用 IP 地址访问提供者的服务。
  • 带有 Azure 专用链接服务的 TCP 代理协议 v2 - 深入探讨:一段视频,深入探讨了 TCP 代理协议 v2,这是 Azure 专用链接服务的高级功能。 在多租户和 SaaS 方案中都非常有用。 这段视频向你展示了如何在 Azure 专用链接服务中启用代理协议 v2。 它还向你展示了如何配置 NGINX 服务以读取原始客户端的源专用 IP 地址(而不是 NAT IP),以通过专用终结点访问服务。
  • 使用 NGINX Plus 解码来自 Azure 专用链接服务的代理协议 TLV linkIdentifier:一段视频,介绍如何使用 NGINX Plus 从 Azure 专用链接服务获取 TCP 代理协议 v2 TLV,然后。 该视频演示如何提取和解码专用终结点连接的数字 linkIdentifier(也称为 LINKID)。 此解决方案对于需要识别建立连接的特定使用者租户的多租户提供商很有用。
  • SaaS 私密连接模式:一个示例解决方案,说明了使用 Azure 托管应用自动化审批专用终结点连接的方法之一。

网络

存储和数据

消息传送

  • Azure 事件网格域:Azure 事件网格域使您能够大规模管理多租户事件架构。

  • 使用 Azure 服务总线进行跨租户通信:Azure 服务总线的示例实现,演示如何在中心提供商与一个或多个客户(或租户)之间进行通信。

身份

  • Microsoft Entra ID 中的租户:Microsoft Entra ID 有自己的多租户概念,即跨多个 Microsoft Entra 目录运行。 当开发人员使用 Microsoft Entra 应用时,他们可选择将其应用配置为单租户或多租户,从而支持不同的场景。

  • 使用 Microsoft 标识平台终结点构建多租户守护程序:此示例应用程序演示如何使用 Microsoft 标识平台终结点在长时间运行的后台进程中访问微软商业客户的数据。 它使用 OAuth2 客户端凭据授权获取访问令牌,然后使用该令牌调用 Microsoft Graph 并访问组织数据。

  • 使用 Microsoft Entra ID 对多租户应用进行身份验证和授权:了解如何通过 Microsoft Entra ID 在多租户场景中增强云原生应用的功能。

  • 在 SaaS 解决方案中使用 Microsoft Entra ID 定义和实现权限、角色和范围:本文介绍与 SaaS 提供程序可以使用的 Microsoft Entra 身份验证和授权相关的三个主要概念。 它涵盖应用程序角色功能、委派和应用程序权限以及范围功能。

分析

物联网

AI 和机器学习

社区内容

Kubernetes

  • Kubernetes 的三个租户模型:Kubernetes 群集通常由组织中的多个团队使用。 此文介绍了 Kubernetes 的三种租户模型。

  • 了解 Kubernetes 多租户:Kubernetes 不是现成的多租户系统。 它需要自定义配置。 本文介绍了 Kubernetes 多租户类型。

  • Kubernetes 多租户最佳实践指南:随着 Kubernetes 的使用不断扩展,越来越多的组织对 Kubernetes 多租户解决方案产生了兴趣。然而,由于 Kubernetes 并不是一个明确的多租户系统,设计多租户的 Kubernetes 实现可能会很具挑战性。 本文探讨了这些挑战、提供了克服这些挑战的方法,并介绍了一些用于 Kubernetes 多租户的有用工具。

  • 胶囊:简化 Kubernetes 多租户管理:Capsule 有助于在您的 Kubernetes 集群中实现多租户和基于策略的环境。 它不是一个“平台即服务 (PaaS)”产品,而是一个基于微服务的生态系统,且采用了极简设计方法并仅使用上游 Kubernetes。

  • 跨平面:云原生控制平面框架:跨平面使你能够使用基于 Kubernetes 的方法为自己的解决方案构建控制平面。

贡献者

Microsoft维护本文。 以下参与者撰写了本文。

主要作者:

若要查看非公开的LinkedIn个人资料,请登录LinkedIn。