技术简报:自动缩放

概述

设计不佳的电源管理方案可能会使云计算成本比组织支持用户所需的成本增加 70% 以上。基于云的服务通常使用即用即付模式,在这种模式下,组织按计算时间、网络吞吐量、存储消耗和交易计费,有时每秒计费。为了最大限度地降低成本,组织需要智能地利用、分配和撤消分配资源,这与传统的内部部署模式形成鲜明对比,在这种模式中,组织将资源无限期地保留分配。在虚拟桌面部署中,组织必须考虑永久分配数百或数千台使用的虚拟机的成本。这种方法使得解决方案过于昂贵,不可行。

Citrix DaaS 使用具有垂直负载平衡功能的 AutoScale 作为帮助降低云成本的方法之一。这些功能使组织能够充分利用虚拟桌面、识别使用趋势,并将这些趋势转换为基于计划和负载的规则,动态分配和取消分配资源以维持良好的用户体验。

以下是客户在 Citrix 环境中从 AutoScale 中获得的一些关键好处:

  • 混合多云负载平衡 -支持对仅托管在资源位置或运行成本更高的资源进行选择性电源管理,同时本地或预留实例的资源可以全天候运行。支持按需突发到基于云的资源和灾难恢复使用案例。
  • 服务集 成-AutoScale 已集成到 Citrix Cloud 控制台中,无需部署额外的组件、应用程序和脚本。只需单击几下即可从 UI 轻松启用,并按交付组进行配置。
  • 订阅范围广泛的支持 -Power 在整个订阅过程中管理计算机,从而使灾难恢复
  • 基于计划的扩展 — 允许在高峰时段保持定义数量的计算机保持通电状态,此计划可以在一周的不同日期进行配置。
  • 缓冲容 量-预定义数量的虚拟机可以在预期的并发登录时间段(例如工作日早上)之前打开电源,以确保所有用户都能快速顺利地登录。缓冲容量是可配置的,可以在高峰时段和非高峰时段单独设置。
  • VDI 支持 -支持单会话和多会话交付组。
  • 漏出模式 — 可以隔离用户计数较低且不为其分配新会话的虚拟机,以便即使在高峰时段也可以关闭它们。
  • 动态置备 -可以使用 Citrix Machine Creation Services 创建和删除计算机,通过在不需要计算机时取消分配磁盘来节省额外的存储成本。
  • 更多决策参数 -电源管理决策规则可以自定义为 CPU、内存、磁盘利用率和会话数的任意组合。
  • Director 报告 -监控控制台中报告的容量规划和电源管理成本节省情况。
  • 关闭电源延迟 — 确保计算机不会在打开和关闭状态之间保持拍动。可以关闭电源的计算机之后的时间段是可配置的。

成本与体验

电源管理计算机对用户体验的主要影响在于将用户连接到请求的会话所花费的时间。如果电源管理过于激进,且任何未托管会话的计算机被关闭,则池容量(来自运行中的计算机)将耗尽。当其他用户请求会话且已打开电源的计算机没有可用容量时,用户必须等待计算机打开电源。等待会对用户体验产生负面影响,使会话启动时间长达几分钟。当多个用户同时登录时(例如在轮班开始时),由于需要同时打开多台计算机,启动时间可能会更长。

关闭未使用的计算机可节省成本的原因是计算成本为零,以及降低网络入口/出口和数据交易(读取和写入存储)成本。这种情况导致管理员需要执行平衡操作,确保用户可以快速登录会话,同时通过最佳方式关闭尽可能多的未使用计算机来降低成本。

为了有效地平衡成本与体验,Citrix 采用了以下技术:

  1. AutoScale
  2. 负载平衡算法
  3. 区域首选项和标记

AutoScale

AutoScale 是一组功能,旨在自动执行管理属于部署一部分的虚拟机的过程。AutoScale 旨在降低在 Citrix 环境中运行计算机的成本。

交付组包含对应用程序和桌面有类似要求的用户。这组用户很可能有类似的工作时间;例如,伦敦办事处的一家公司的人力资源部门。因此,管理员可以在交付组级别配置 AutoScale。 交付组中的用户被分配在可以为其请求提供服务的计算机池(计算机目录)上运行的资源。 要做出关于打开和关闭池中计算机电源的准确决策,AutoScale 必须知道交付组的容量。为确保 AutoScale 能够准确查看可以接受会话请求的主机,AutoScale 仅包括在确定给定交付组的容量时已注册到服务的计算机。

AutoScale 使管理员能够根据以下两个设置执行电源管理:

  1. 基于计划的扩展
  2. 基于负载的扩展

注意:两者都可以结合使用来定义电源管理设置。

AutoScale-基于计划和负载的扩展配置对话框

基于计划的扩展

在具有规定工作时间的典型办公室中,高峰时段和非高峰时段是有区别的。管理员定义在工作时间和非工作时间内打开电源的计算机数量。 工作时间(例如平日上午 9 点至下午 5 点)通常需要打开最少数量的机器才能满足需求。如果工作日从上午 9 点开始,则虚拟桌面必须已经可用。在用户开始登录计算机之前,最好启动计算机,然后给它们一段时间完成启动后任务。因此,在工作时间开始之前的某个时候(在我们的示例中为上午 8 点),多台主机被启动以处理预期的负载,这导致用户获得积极的登录体验。因此,时间表将从上午 8 点到下午 6 点。

工作时间结束后(在我们的示例中,下午 5 点)用户开始注销。管理员想关闭未使用的主机。下午 6 点左右 AutoScale 开始关闭主机电源,只有非高峰期使用所需的主机数量才会保持开机状态。这将大大降低云消耗成本,而不是全天候运行整个主机库存。Citrix 为管理员提供了定义这些时间的灵活性,粒度为 30 分钟。对于多会话交付组,管理员可以为每半小时分别设置运行主机的最低数量。对于汇集的单会话交付组,管理员可以为每小时单独设置正在运行的主机的最小数量。管理员可以单独设置不同的日期的工作时间。

注意: 当用户连接到特定计算机时,基于计划的扩展不适用于静态单会话交付组。在特定时间启动其他计算机没有帮助,除非用户尝试第一次登录。

基于负载的扩展

基于负载的扩展允许管理员在需要托管会话的情况下创建计算机的容量缓冲区。容量缓冲区是 SafetyNet,用于支持意外增加的使用量,而不会对用户体验产生负面影响。确定容量缓冲区的正确值(占池容量的百分比)取决于使用情况和对客户环境中负载差异的了解。对于交付组,如果会话总容量为 100,管理员将容量缓冲区定义为 10%,则在高峰时段,将备用容量保持在 10 个会话以上所需的计算机数量将被打开。

用户登录时,交付组的可用容量将耗尽。当它低于容量缓冲区值时,池中的另一台计算机将开始使容量缓冲区恢复到定义值之上。另一方面,当用户开始注销时,负载最小的计算机将处于耗尽模式。计算机清除会话后,计算机将关闭,直到池容量减少到设置的容量缓冲区值。

自动缩放-节省的图示

注意: 单个会话桌面交付组不可用基于负载的扩展,因为根据计算机是否运行会话,每台计算机上的负载为零或已满。因此,当为单个会话交付组设置容量缓冲区时,它将基于交付组中的计算机数量。

排水模式

当会话容量超过容量缓冲区时,会话数最少的计算机将处于耗尽模式。处于耗尽模式的计算机不会接受新的会话,即使它可能有备用容量。AutoScale 尝试注销计算机上的所有会话,以便可以关闭计算机。

注意:如果交付组中没有剩余的备用容量,则 AutoScale 将以耗尽模式在计算机上启动会话,而不是启动另一台计算机。

负载平衡算法

Citrix 默认使用水平负载平衡算法来管理云中的计算机。传入会话进行负载均衡以优化用户体验。每个新会话都分配给负载最少的计算机。启动目录中的新计算机后,它的负载最小,并将用于所有后续登录,直到负载不再是最低的。

在以下示例中,交付组中有 6 台计算机。如果容量缓冲区设置为 20%,则只要可用容量低于 5 个会话,新计算机就会打开电源。现在,当新用户登录时,该用户将被分配给新打开电源的计算机。下一个用户将被分配负载最少的计算机。您可以在下图中看到分配的发生方式。会话的平均分配减少了任何计算机能够关闭的机会。例如,如果前 5 个会话中的一个注销,则可用容量最多可达 5 个会话,但是没有一台计算机可以关闭,因为每台计算机至少有一个会话运行。

自动扩展-水平负载平衡

使用垂直负载平衡,管理员可以对其进行配置,以便对传入会话进行负载平衡,以优化最少打开电源的计算机数量。只要计算机未达到最大负载的高水位线,就会将会话分配给加载最多的计算机。这可以确保只打开维护当前负载所需的最少数量的计算机,从而更具成本效益。考虑我们前面的示例,如果前 5 个会话中的一个会话注销,将计算机 1 上的会话数量减少到 4,则可用容量将恢复到 5 个会话。机器 3 现在可以关闭,节省额外费用。另外,将为计算机 1 分配一个新的会话,而不是新的机器启动。此外,首先将负载最少计算机上的会话标记为注销。

自动缩放-垂直负载平衡

考虑管理员不确定服务用户请求需要多少台计算机的情况。管理员很可能会为交付组过度分配计算机。使用垂直负载均衡,只有所需数量的计算机才能为用户负载打开电源。在这种情况下,容量缓冲区有助于保持额外的计算机可用来处理负载。

区域首选项和标签限制

在混合部署中,云和本地都有资源。混合部署可以将单个交付组划分为不同的区域:

  • 主要:资源利用率的首选位置。
  • 辅助:主区域充分利用时点击的资源位置。

例如,在突发云方案中,组织将充分利用主要的本地资源。当需要额外容量时,将从云中消耗辅助实例。交付组将由两个目录组成,一个用于本地资源位置,另一个用于云位置。

与本地和基于云的实例进行混合部署

在混合部署模型中,本地资源是您的主要区域,而基于云的即用即付实例构成辅助区域。

AutoScale-区域首选项混合部署

使用预留实例和即用即付实例进行云部署

在仅云部署中,预留实例将是主区域,辅助区域包含根据需要使用的即付实例。

AutoScale-区域首选项仅限云部署

区域首选项和标记对于降低混合部署中的成本至关重要。主实例计算机需要预付费。关闭这些资源可以节省有限的成本。在使用辅助实例之前,组织首先使用这些资源。

Citrix DaaS 支持通过区域首选项选项使用多个资源位置。管理员使用区域首选项来定义首先使用哪个资源位置来满足需求,以及在会话需求下降时首先关闭哪个位置。一旦主区域的容量得到充分利用,主机将标记为辅助引导以满足会话需求。当需求下降时,辅助区域(云资源)中的主机将首先关闭,从而实现最佳云利用率。 这些设置在计算机目录级别完成。

自动缩放-区域首选项配置

管理员必须使用标签限制和区域首选项,以便让 AutoScale 知道交付组中的特定主机集(云位置)是否要进行电源管理。标签限制指定由 AutoScale 管理的主机。这些主机专为突发/灾难恢复负载提供服务。

自动缩放-标记

有关更多信息,请参阅 区域首选项标记。按照 此处的说明配置自动缩放限制

通过基于计划的扩展自动缩放成本节约

注意: 结果因每个组织的使用情况和负载特征而有所不同。在您自己的系统中观察这些模式,以微调适合您环境的 AutoScale 设置。以下是基于我们对 LoginVSI 负载进行内部测试的结果。

要衡量使用 AutoScale 实现的云成本节约,我们需要确定在云中运行计算机的成本。使用 Azure 定价计算器 计算的美国西部按使用量付费的 VM 的大小和成本(截至撰写本文时)如下所示:

虚拟机实例 虚拟机规格 每月成本 每小时成本 每月存储成本
D3_V2 4 vCPU\ 14 GB $367.92 $0.504 $5.94
D4_V2 8 vCPU\ 28 GB $735.84 $1.008 $5.94
F16 16 个核心\ 32 GB $1264.36 $1.732 $5.94

每月成本计算假定计算机运行整个月(730 小时)。无论计算机是打开还是关闭,存储成本都是固定的每月成本。

借助 AutoScale,我们可以缩短计算机保持通电源的时间,以更好地与用户行为保持一致。

为了更好地确定 AutoScale 可能的成本节约,Citrix 通过以下设置进行了 LoginVSI 单服务器可扩展性测试

  • Citrix Virtual Apps and Desktops 1902
  • Citrix Workspace 应用程序 1903
  • Windows Server 2016 多会话操作系统 Azure 虚拟机
    • D3_V2
    • D4_V2
    • F16
  • LoginVSI 工作负载:知识工作者

这导致每个虚拟机实例的用户负载如下:

自动缩放-针对不同 Azure 虚拟机大小的每个计算机的会话

可扩展性数字用于为以下三种情况提供大小指导。

场景 1-使用定义的高峰和非高峰时段进行水平扩展。非高峰时段-零活跃用户

  • 高峰时段的用户计数:1,000 个用户
  • 每个非高峰时间的用户计数:0 个用户
  • 非高峰周末时段的用户计数:0 个用户
  • 高峰登录时间:上午 9 点
  • 高峰注销时间:下午 5 点
  • 高峰开始时间:上午 8:30
  • 高峰结束时间:下午 5:30
  • 每天有效:9 小时
  • 每月活动时间:198 小时
  • 负载平衡算法:水平

根据这种情况,白天的活动会话如下:

AutoScale-场景 1 活动会话图表

如果所有计算机都在非高峰时段开始后关闭,则计算机在一个月内的开启时间为 198 小时。成本节约计算如下:

知识工人-机器大小 D3_V2 D4_V2 F16
VSImax - 会话/计算机 25 50 74
不需要任何机器 40 20 14
每小时计算成本(以美元为单位) 0.504 1.008 1.732
1000 个用户的每小时成本(包括 128 GB 磁盘) 20.48548 20.32274 24.36192
每月成本(100% 开时) 14954.4 14835.6 17784.2
使用自动缩放的每月成本(198 小时) 4229.28 4110.48 4884.26
成本节省百分比 71.72 72.29 72.54

下图显示了在此情况下始终打开计算机时运行成本与 AutoScale 管理的电源的成本差异。

自动缩放-场景 1 成本节省图表

从表中看,当计算机由 AutoScale 进行电源管理时,始终打开电源的计算机的成本超过 350%。在这种情况下,管理员可以使用 AutoScale 节省约 70% 的计算成本。

场景 2-使用定义的高峰和非高峰时段进行水平扩展。非高峰时段 — 10% 的活跃用户

  • 高峰时段的用户计数:1,000 个用户
  • 每个非高峰时段的用户计数:100 个用户(与场景 1 不同)
  • 非高峰周末时段的用户计数:0 个用户
  • 高峰登录时间:上午 9 点
  • 高峰注销时间:下午 5 点
  • 高峰开始时间:上午 8:30
  • 高峰结束时间:下午 5:30
  • 每天有效:9 小时
  • 每月活动时间:198 小时
  • 负载平衡算法:水平

根据这种情况,本周的活动会话如下:

AutoScale-场景 2 活动会话图表

在一个月内,所有计算机的开机小时数为 198 个。此外,10% 的机器(向上四舍五入)将在本月额外运行 15 小时乘以 18 天。成本节约计算如下:

知识工人-机器大小 D3_V2 D4_V2 F16
VSImax - 会话/计算机 25 50 74
不需要任何机器 40 20 14
每小时计算成本(以美元为单位) 0.504 1.008 1.732
1000 个用户的每小时成本(包括 128 GB 磁盘) 20.48548 20.32274 24.36192
每月成本(100% 开时) 14954.4 14835.6 17784.2
使用自动缩放的每月成本(198 小时) 4773.6 4564.8 5819.54
成本节省百分比 68.08 68.62 67.28

下图显示了在此情况下始终打开电源与 AutoScale 管理的电源运行成本的差异:

自动缩放-场景 2 成本节省图

从表中看,计算机始终打开电源的成本超过了 AutoScale 管理计算机时成本的 300% 以上。在这种情况下,管理员可以使用 AutoScale 节省约 68% 的计算成本。将每月 AutoScale 成本与之前的情况相比,D_V2 虚拟机大小的每月非峰值成本约为 545 美元,而较大的 F16 虚拟机在非高峰时段为每月 935 美元。该图清楚地显示,对于相同数量的会话,较小尺寸的计算机不仅总体上具有成本效益,而且在需求较低的情况下,成本也会降低。

场景 3-交错高峰时段的垂直缩放。非高峰时段 — 10% 的活跃用户

  • 高峰时段的用户计数:1,000 个用户
  • 每个非高峰时间的用户计数:100 个用户
  • 非高峰周末时段的用户计数:0 个用户
  • 高峰登录时间:上午 9 点
  • 高峰注销时间:下午 5 点
  • 高峰开始时间:上午 8:30
  • 高峰结束时间:下午 5:30
  • 每天有效:9 小时
  • 每月活动时间:198 小时
  • 负载平衡算法:垂直(与场景 2 不同)
  • 登录\ 注销率:每小时 25%

根据这种情况,本周的活动会话如下:

AutoScale-场景 3 活动会话图表

一天初需要的机器数量减少。由于计算将计算机数和小时数乘以,计算小时数每天减少 1 小时,即每月 22 小时。如前所述,注销用户将来自随机计算机,因此我们假设在工作日结束后,所需的计算机数量下降到 10%。成本节约计算如下:

知识工人-机器大小 D3_V2 D4_V2 F16
VSImax - 会话/计算机 25 50 74
不需要任何机器 40 20 14
每小时计算成本(以美元为单位) 0.504 1.008 1.732
1000 个用户的每小时成本(包括 128 GB 磁盘) 20.48548 20.32274 24.36192
每月成本(100% 开时) 14954.4 14835.6 17784.2
使用自动缩放的每月成本(198 小时) 3893.6 4214.4 5511.54
成本节省百分比 73.96 71.59 69.01

下图显示了在此情况下始终打开计算机时运行成本与 AutoScale 管理的电源的成本差异。

自动缩放-场景 3 成本节省图

从表中看,计算机始终打开电源的成本超过了 AutoScale 管理计算机时成本的 300% 以上。对于最小的机器,D3_V2 为 384%。与较大的计算机相比,机器尺寸越小,可以关闭其中的数量就越多,以便为相同的负载提供服务。同样,他们可以更快地关闭,当用户开始注销时,他们能够更快地达到运行在其上的任何会话。

考虑到所有三种情况,并查看成本节约图表,显然,启用 AutoScale 时,机器尺寸越小,就越经济效益。

重要说明: 要使 AutoScale 能够关闭计算机,用户必须断开连接或注销计算机。因此,请考虑在 Autoscale 设置中为交付组配置断开连接和注销计时器,以便节省更高的成本。

监视

管理员可以通过监控选项卡监控 AutoScale 托管计算机的以下指标。该选项卡显示了每个交付组的资源消耗的图表。这些图表用于确定交付组的实际使用情况,以帮助管理员正确调整目录的大小。下面显示了以下图表:

  • 计算机使用情况
  • 预计节省量
  • 计算机和会话的警报通知
  • 计算机状态
  • 负载评估趋势

节省费用是根据管理员在配置 AutoScale 设置时输入的计算机的每小时成本计算的。管理员选择“所有交付组”时,将显示所有交付组的“预计节省额”的平均值。

自动缩放-监控

摘要

  1. AutoScale 可以在不牺牲用户 Exp 的情况下更好地节省成本(约 300%)。它通过基于计划/负载的设置实现这一点
  2. 在横向负载平衡场景下,使用较小尺寸的 VM 可以更好地节省成
  3. 使用区域偏好和标记来节省更多成本

进一步阅读:在我们的 技术文档中了解有关 AutoScale 的更多信息。