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