跳转到主要内容
Chinese, Simplified

卓越运营支柱包括运行和监控系统以实现业务价值并持续改进支持流程和程序的能力。

卓越运营支柱概述了设计原则、最佳实践和问题。您可以在卓越运营支柱白皮书中找到有关实施的规定性指南。

设计原则

在云计算中,有许多原则可以推动卓越的运营。

定义

 

云计算中有三个最佳实践领域可实现卓越运营:

  • 准备
  • 运转
  • 发展

运营团队需要了解他们的业务和客户需求,以便他们能够有效地支持业务成果。运营部创建并使用程序来响应运营事件,并验证其有效性以支持业务需求。运营部门收集用于衡量预期业务成果实现情况的指标。一切都在不断改变您的业务环境、业务优先级、客户需求等。重要的是,设计运营以支持随着时间的推移而发生的变化,以应对变化,并将从其绩效中吸取的经验教训纳入其中。

最佳实践

话题

准备(Prepare)

SaaS应用程序没有独特的操作实践。

运转(Operate)

SaaS OPS 1:如何有效地监控和管理多租户环境的运行状况?

在多租户环境中,一个组织的所有客户都可能部署在一个共享的基础架构模型中,需要更详细的运行状况视图,这对于SaaS业务的成功和增长至关重要。任何停机或运行状况问题都有可能在系统的所有租户之间级联,并导致所有客户的SaaS服务中断。这意味着SaaS组织必须重视创建运营体验,使运营团队能够有效地分析和响应SaaS环境不断变化的工作负载。

构建强大的多租户运营体验需要SaaS公司创建或定制工具,以引入SaaS环境中所需的更精细的健康和活动视图。这通常意味着使用现有工具和定制解决方案的组合来创建一种支持租赁和租户层作为运营体验中的一流概念的体验。

例如,SaaS运营仪表板应包括通过租户和租户层的视角呈现的健康状况视图。虽然查看全球健康状况仍然是这种体验的一部分,但SaaS运营团队也需要能够查看租户的健康状况和活动。图12中的图表提供了SaaS提供商将租户活动作为一级结构呈现的一种方式的概念视图。

该图中的简化视图突出显示了一些操作视图的示例,这些示例将在多租户环境中增加价值。在页面的左上方,您将看到最活跃租户的健康状况视图。所显示的颜色指示器可以将注意力集中在租户身上,这些租户可能遇到的问题在从全球健康角度来看时尚未浮出水面。这使得运营部门能够对租户可能不太明显的任何问题做出反应和主动响应。



Tenant-aware operations views

图12:租户感知操作视图

在该视图的右上方,您将看到租户资源消耗的数据。这里的想法是逐个租户查看AWS资源的使用情况,允许您查看特定租户是如何使用特定服务的。在底部,您将看到一个消费视图,说明租户如何消费应用程序的各种微服务。通过这里的数据,操作人员可以了解租户如何使用系统的各种服务,并确定特定租户或层是否正在饱和特定的微服务。

除了提供租户活动的一般视图外,您的运营经验还应包括深入了解各个租户和层的运营数据的能力。设想特定租户或租户层遇到问题的支持场景。在这些情况下,您希望能够访问运营数据,并通过特定租户或层的视角查看数据。这对于能够在多租户环境中解决和诊断问题至关重要。

创建这些操作视图依赖于能够访问操作数据,其中包括租户和分层上下文,而创建操作视图需要这些上下文来分析租户或租户层的见解。这需要SaaS架构师仔细考虑如何以及在何处将租户上下文注入用于记录健康和活动事件的各种机制。例如,日志应包含确保租户上下文(如租户标识符和层)注入系统日志数据的机制。

然而,您选择构建的视图将根据应用程序设计和架构的性质而有所不同。通常,团队应该考虑运营视图,这些视图将使运营团队能够有效地监控租户趋势,并从一开始就将工具构建到他们的环境中。在稍后的开发过程中将这些概念添加到应用程序中更具挑战性,并且可能会破坏开发和操作体验。

笔记

本白皮书中的问题编号已更改,以符合AWS良好架构工具的SaaS镜头中的顺序。SaaS OPS 2在以下最佳实践Evolve中进行了描述。

SaaS OPS 3:新租户如何加入您的系统?

SaaS解决方案高度关注最大化灵活性和创新。租户入职在这个敏捷故事中扮演着关键角色。通过创建一个促进无摩擦、可重复的入职流程的架构,SaaS组织能够简化、优化和扩展其能力,将新租户引入其SaaS环境。这使SaaS公司能够支持快速增长,并为客户提供加速其整体价值实现时间的体验。

需要注意的是,自动入职适用于B2C和B2B SaaS环境。虽然一些SaaS产品可能不包括自助入职体验,但这并不能减少对无摩擦入职体验的需求。即使当入职是一个内部执行的过程时,它仍然应该自动化租户创建的所有元素。减少摩擦的需求是创建符合SaaS最佳实践的解决方案的基础。

通常,SaaS应用程序的入职流程需要协调一系列共享服务,这些服务可以配置和提供引入新租户所需的所有资源。图13中的图表提供了如何通过一系列微服务实现这种入职的高级视图。

本图所示的入职体验流程涵盖了引入租户并让他们开始使用SaaS系统所需的所有步骤。在这个过程的前端,租户调用我们的注册服务,请求创建一个新租户。从这一点开始,注册服务将位于入职流程的中间,协调创建新租户环境所需的所有服务。

此过程的下一步是创建新用户。此新用户将代表此新租户的管理员。为了支持这个过程,我们提供了一个用户管理服务。该服务不保存用户的数据,但它在身份提供者中创建用户(在本例中是AmazonCognito)。它还创建支持此租户的隔离要求所需的任何IAM策略。

图13:无摩擦租户入职

在这个模型中,我们还依赖于为每个租户使用单独的Amazon Cognito用户池的策略。这允许我们为系统的每个租户定制身份体验(密码策略、多因素身份验证等)。通过选择此方法,我们必须将每个用户ID映射到相应的用户池。此映射由用户管理服务管理。

创建用户后,我们的流程现在创建一个租户。租户作为一种独特服务的这种分离对于SaaS环境至关重要。它提供了一种集中的方式来管理租户的状态和属性,与租户关联的用户完全分离。例如,租户的层或状态将由租户管理服务控制。

作为入职培训的一部分,SaaS系统通常必须在计费系统中建立足迹。在本例中,您将看到我们通知计费集成服务,我们正在创建一个新租户。然后,该服务负责向计费提供商创建新帐户。这包括为租户配置计划或层(免费、青铜、白金等)。

图中所示流程的最后一步与租户基础设施的配置有关。一些SaaS架构将包括专用租户资源。在这些情况下,我们的入职流程必须在激活租户之前提供这些新资源。

虽然此处所表示的流程可能会因环境的性质而有所不同,但此处所示的概念对于入职流程来说是通用的。自动化租户资源的创建、配置和供应是创建丰富、可扩展的多租户体验的基础。

SaaS OPS 4:您如何支持租户特定定制的需求?

SaaS架构师面临的一个重大挑战是,需要确保所有租户都运行相同版本的产品。对于已经迁移到SaaS并且已经习惯于通过一次性版本的产品支持独特客户需求的公司来说,这一点尤其如此。

尽管这看起来很诱人,但任何背离统一的客户管理、运营、支持和部署经验的做法都会直接损害SaaS组织的整体灵活性。随着每一个新的定制环境的引入,SaaS组织都会慢慢走向传统的软件模型。最终,这最终会侵蚀成本、运营效率和SaaS业务模式核心的一般创新目标。

因此,挑战是找到一种策略,使您能够满足这些偶尔的一次性需求,而不必创建产品的分叉版本。这里的妥协是通过引入添加到整体产品中的定制选项来实现的。因此,您可以投入额外的时间和精力来研究如何添加这些新功能,从而使所有客户都可以使用这些功能,而不是剥离单独的版本。然后,通过租户配置,您可以确定哪些租户将启用这些新功能。

解决这个问题的常见方法是使用功能标志。功能标志通常被应用程序开发人员用作在一个公共代码库中具有多个执行路径的一种方式,其中包含在运行时启用或禁用每个不同功能的标志。这种技术通常被用作通用开发策略,它提供了一种将定制引入SaaS环境的有效方法。每个功能标志将与租户配置选项相关。此配置将在运行时进行评估,并影响为每个租户启用的功能。

图14中的图表提供了如何应用这些标志的概念视图。将为单个租户打开和关闭一系列标志,以确定为租户启用了哪些功能。当租户注册SaaS产品的新功能时,将更改这些配置选项。在某些情况下,这些标志可以与层(而不是单个租户)相关联。

图14:使用功能标志管理租户需求

功能标志只是实现这一点的一种方式。这里的关键是,即使单个租户需要一个独特的功能,该功能也应该作为核心平台的定制而引入。根据系统的堆栈和设计,应用自定义的方式可能会有所不同。其目的是确保我们可以部署和管理产品的单一版本。

虽然这可能是一个强大的构造,但应谨慎应用。如果通过引入功能标志,您创建了一个复杂的选项迷宫,最终为每个租户提供了独特的体验,那么您的系统将很快变得无法管理。尝试选择如何以及何时引入这些标志。根据经验,企业不应将其视为一种销售工具,使组织能够为新客户提供一次性定制。

 

发展(Evolve)

SaaS OPS 2:您如何捕获和呈现可用于分析单个租户的使用和消费趋势的度量数据?

要不断发展您的SaaS运营体验,您需要访问丰富的运营数据集合,这些数据可用于分析您的多租户SaaS环境。这通常意味着从您的应用程序中检测和发布更丰富的租户指标集合,这些指标可以准确捕捉正在使用您的环境的租户的活动和消费模式。

SaaS指标超出了基础设施消耗(CPU、内存等)的基础,确定了对理解环境中多租户负载的操作至关重要的特定操作使用模式。对这些数据的分析将使SaaS组织能够评估其系统中正在发生的趋势,并确定对基础架构引入策略或更改的机会,从而不断提高SaaS产品的可靠性、可扩展性、成本效率和整体灵活性。

捕获和显示度量数据有两个不同的元素。首先,应用程序必须发布度量数据,这些数据可以为SaaS环境提供有用的运营见解。您需要确定应用程序中要捕获和发布这些度量的关键点。

这里的另一个难题是这些数据的摄取、聚合和呈现。您可以从AWS或AWS合作伙伴网络(APN)合作伙伴中选择多种工具。最终,这其中的摄取部分更像是一个数据仓库和商业智能问题。本文档前面列出的SaaS架构场景包括Tenant Insights场景。此场景概述了用于接收度量数据的体系结构。该体系结构代表了可以应用于解决这一需求的模式之一。

虽然我们这里的重点是这些租户指标的操作视图,但您可以想象这些指标在SaaS业务的多个上下文中都有使用。运营要求是您的体系结构,以确保组织积极收集和分析租户活动和消费趋势,以确定发展SaaS系统的机会。这符合构建基础工具的更广泛主题,该工具可用于评估租户和租户工作负载不断变化的组合。

Resources

Refer to the following resources to learn more about our best practices related to operational excellence.

Documentation & Blogs

Videos

原文地址
https://docs.aws.amazon.com/wellarchitected/latest/saas-lens/operational-excellence-pillar.html
本文地址
Article

微信

知识星球

微信公众号

视频号