你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 上的 SaaS 工作负载的设计方法
独立软件供应商(ISV)必须仔细规划其软件即服务(SaaS)解决方案的要求,因为解决方案 是他们的业务。 业务客户(如其他企业或个人消费者)是解决方案的直接用户。 此业务模型设定了很高的预期,因为你必须将工作负荷要求和客户需求视为设计架构师。
本文介绍一种设计方法,可用于系统地定义和优化要求。 如果不确定各种设计决策和技术选项,请重新访问此方法,使其符合业务需求。 构建 SaaS 工作负载是一个迭代过程,需要灵活地适应不断发展的市场和客户需求。 此框架可帮助你与营销和销售团队协作,以验证技术决策并评估客户反馈以获取持续改进。
为业务模型设计
了解业务要求如何影响下游解决方案,这一点非常重要。 请考虑以下决策点:
部署资源的位置会限制可以使用的体系结构模式。 可以在 Azure 订阅中部署所有资源,或者客户可以购买解决方案并将其部署到自己的 Azure 订阅中。 或者,工作负荷可以使用客户在其 Azure 订阅中部署的资源。
例如,如果在客户环境中部署软件,则不能使用基于共享资源的体系结构模式,因为每个客户都有自己的独立环境,具有专用资源。
有关详细信息,请参阅 ISV 部署模型。
定价模型决定了业务的收入,这反过来又会影响所售商品的允许成本。 此动态直接影响你的技术体系结构。
有关详细信息,请参阅 定价模型。
你提供的功能或产品可能会影响体系结构。 选择特定功能时,可能需要更改或添加技术体系结构。 向各种客户提供不同的产品也可能导致更复杂的体系结构,因为它必须支持这些变体。
针对客户要求进行设计
考虑到客户要求设计解决方案。 客户可能对其解决方案有额外的要求,这将创建解决方案必须满足的超集。 这些额外要求有时可能会与业务需求或其他客户的需求相冲突。 当这些要求与业务需求不同或添加更多限制时,为解决方案做出决策可能非常困难。 例如,你的解决方案可能满足你的安全标准,但客户可能具有更严格的安全要求,你必须满足这些要求来保护他们的业务。
创建灵活的体系结构,以满足这些额外要求。 如果客户要求不影响自己的要求,请尝试将它们集成到业务模型中。 计算这些调整的成本。 如果客户的独特要求会产生额外费用,请考虑相应地收取费用。
确保具有符合客户期望的实际 可靠性目标 ,并设计体系结构以实现这些目标。
设计租赁模型
大多数 SaaS 解决方案依赖于多租户作为主要技术策略,以最大限度地提高成本效益。 多租户涉及一系列没有标准模式的选择。 租户模型会影响体系结构的各个方面,包括管理开销、成本和数据隔离。 找到解决方案的正确平衡点。 你选择的租赁模型至关重要,因为它必须平衡客户和业务需求。
若要帮助你做出明智的决策,请参阅以下文章:
体系结构应灵活地根据新的或传入的客户需求更改租赁模型。 例如,可以使用完全多租户的体系结构,但在需要额外安全性的高度管控行业获得新客户。 可以垂直分区其部署以提供专用戳记。 此更改引发了一个业务决策,即他们是否应该比其他租户支付更多费用。 此设置会增加资源成本和复杂性,因此他们支付更多费用是有意义的。
设计为设计良好
设计 SaaS 工作负荷时,请特别注意确保系统具有弹性、安全、高效、高性能并平衡客户需求。 与企业应用程序不同,SaaS 应用程序中的故障也会影响业务、客户及其用户。
对于每个决策,评估 Azure 架构良好的框架支柱之间的权衡。 有关每个支柱的战略方法的信息,请参阅 设计原则。
运营设计
SaaS 工作负荷操作需要不同的视角。 需要考虑可支持性等因素。 确定如何提供全天平台支持并雇用具有适当技能集的人员。 不要将操作视为事后考虑或仅专注于构建新功能。 从一开始就在设计中包含可操作性。 考虑流程在获取更多客户时如何缩放。 例如,手动操作最初可能正常工作,但它们通常不会随时间推移而很好地缩放。
如果你有旧平台,请考虑如何将客户迁移到新的 SaaS 平台。 顺利迁移路径是让客户在业务转型期间保持快乐的关键。