你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
用于在 Azure 上设计和生成多租户解决方案的清单
在 Azure 中生成多租户解决方案时,需考虑许多元素。 以此清单为基础来设计和生成多租户解决方案。 此清单是在 Azure 上生成多租户解决方案系列文章的配套资源。 该清单基于业务和技术注意事项,以及 Azure 架构良好的框架的五个核心。
提示
完成此清单后,请通过分析对多租户体系结构及其与 SaaS 操作最佳做法保持一致的理解执行 SaaS 旅程回顾,以评估 SaaS 产品。
业务注意事项
- 了解创建的解决方案的类型(例如企业对企业 (B2B)、企业对消费者 (B2C) 或企业软件),以及租户与用户的差异。
- 定义租户。 了解最初将支持的租户数,以及增长计划。
- 定义定价模型并确保其与租户的 Azure 资源消耗量一致。
- 了解是否需要将租户分到不同的层。 层可能具有不同的定价、功能、性能承诺、地理位置等。
- 根据客户的要求,确定适合解决方案各个部分的租户模型。
- 准备就绪后,使用 Microsoft Commercial Marketplace 销售 B2B 多租户解决方案。
可靠性注意事项
- 查看适用于所有工作负载的 Azure 架构良好的可靠性清单。
- 了解“近邻干扰”反模式。 防止单个租户影响其他租户使用系统。
- 设计多租户解决方案,以达到期望的增长水平。 但请勿为了实现不切实际的增长而过度设计。
- 为解决方案定义服务水平目标 (SLO)和可选的服务水平协议 (SLA)。 SLA 和 SLO 应基于租户的要求。
- 测试解决方案的缩放。 确保它在所有负载级别下都表现良好,并确保可随租户数量的增加正确缩放。
- 应用混沌工程原理来测试解决方案的可靠性。
安全注意事项
- 在解决方案的所有层中应用零信任和最小特权原则。
- 确保可以正确地将用户请求映射到租户。 考虑在标识系统中或通过其他方式(如应用程序级租户授权)加入租户上下文。
- 针对租户隔离进行设计。 不断测试隔离模型。
- 确保应用程序代码防止任何跨租户访问或数据泄漏。
- 不断执行渗透测试和安全代码评审。
- 了解租户的合规性要求,包括数据驻留以及需满足的所有合规性或监管标准。
- 正确管理域名并避免无关联的 DNS 和子域接管攻击等漏洞。
- 遵循多租户的服务特定指南。
成本优化注意事项
- 查看适用于所有工作负载的 Azure 架构良好的成本优化清单。
- 确保可以充分衡量每个租户的消耗量并将其与基础结构成本相关联。
- 避免反模式。 反模式包括无法跟踪成本、以不必要的精度跟踪成本、实时衡量,以及使用监视工具进行计费。
卓越运营注意事项
- 使用自动化来管理租户生命周期,例如加入、部署、预配和配置。
- 了解多租户解决方案中控制平面和数据平面之间的差异。
- 为部署服务更新找到合适的均衡点。 考虑租户的要求和自己的运营要求。
- 监视整个系统的运行状况以及每个租户。
- 配置并测试警报,使其在特定租户遇到问题或超出消耗上限时发出通知。
- 组织 Azure 资源,以实现隔离和缩放。
- 避免部署和配置反模式。 反模式包括为每个租户运行不同版本的解决方案、对租户特定的配置或逻辑进行硬编码,以及手动部署。
性能效率注意事项
- 查看适用于所有工作负载的 Azure 架构良好的性能效率清单。
- 如果使用共享基础结构,请计划如何缓解近邻干扰问题。 确保任一租户无法代表其他用户降低系统性能。
- 确定如何缩放计算、存储、网络和其他 Azure 资源来满足租户的需求。
- 考虑每个 Azure 资源的缩放限制。 适当地组织资源,以避免资源组织反模式。 例如,请勿过度设计解决方案来满足不切实际的缩放要求。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- Arsen Vladimirskiy | 首席客户工程师
- Bohdan Cherchyk | 高级客户服务工程师
其他参与者:
- John Downs | 首席软件工程师
要查看非公开的 LinkedIn 个人资料,请登录到 LinkedIn。
后续步骤
- 查看多租户解决方案的体系结构注意事项。
- 查看多租户的体系结构方法。
- 查看多租户的服务特定指南。
- 查看其他适合多租户解决方案架构师和开发人员的资源。