包年包月资源隔离

对于使用MaxCompute的企业,通常会根据业务的差异性来创建多个MaxCompute项目进行数据隔离。由于每个MaxCompute项目对计算资源(CU)的需求不一致,需要对CU按照项目进行隔离,以便实现CU使用率最大化。本文为您介绍如何通过MaxCompute管理控制台的配额(Quota)管理功能隔离MaxCompute包年包月CU。

背景信息

您可以通过MaxCompute管理控制台的配额(Quota)管理功能对购买的包年包月CU进行隔离。配额(Quota)管理支持的配额组如下:

  • 默认预付费Quota:购买包年包月计算资源后,系统默认创建的配额组。该配额组不支持修改。升级或降配时,对应的CU量都在该配额组中进行增减。

  • 自定义配额组:在自定义的配额组中,预留CU量[minCU,maxCU]minCU的值将从默认预付费Quota配额组对应的值里进行扣减。maxCU可以设置为购买的预留CU量。其中:

    • minCU:为最小保障CU量。

    • maxCU:可使用的最大CU量。当有多个配额组且配置了minCU<maxCU时,一旦有配额组的CU处于空闲状态时,其他配额组可以占用空闲CU。该实现会导致所有配额组在当前账号当前区域内都是共享资源组。

所有配额组的minCU相加等于购买的预留CU量。

使用案例

场景

数据仓库团队使用MaxCompute进行开发、分析、挖掘的业务大致为:数据仓库开发和生产、运营分析需求、算法挖掘。基于不同的业务创建不同的MaxCompute项目:

  • 数据仓库开发和生产:按照数据仓库模型分层划分MaxCompute项目,分为数据仓库开发项目和数据仓库生产项目。

  • 运营分析需求:根据业务需求创建不同部门专用的MaxCompute项目,获取日常数据并进行分析。

  • 算法挖掘:根据作业周期特点划分MaxCompute项目,分为算法开发项目和算法生产项目。

根据前期业务评估结果,购买的预留CU量为1000 CU。现在需要将这些CU合理地进行隔离分配,以便能最大化提升CU使用率。

划分CU

划分CU时,您可以关注如下内容:

  • 预留CU量minCU要根据实际配置避免滥用。

  • 对于非高保障,优先级也不高但是可能请求大量CU的MaxCompute项目,建议控制对应配额组预留CU量maxCU,以免影响其他配额组。

  • 对于平均占用CU时间较长的MaxCompute项目可以设置独立配额组,同时控制对应配额组的预留CU量maxCU

  • 您可以根据实际情况结合分时功能实现CU利用最大化。更多分时信息,请参见分时配置

  • 默认预付费Quota配额组不支持修改CU配额,如果您不希望出现某些项目发起的作业可能会占用所有CU量的情况,可以考虑默认预付费Quota配额组不关联项目。由于默认预付费Quota配额组预留CU量minCU不能为0,可以保留1 CU,然后设置其他配额组中的minCU<maxCU,其他配额组依然能占用这1 CU。

设计配额组

配额组

特点

预留CU量的minCU

预留CU量的maxCU

关联项目

分时设置

数据仓库生产配额组

高保障,有较为突出的CU请求波峰时段,小时作业CU请求较平稳。

  • 时段1:600

  • 时段2:300

  • 时段1:700

  • 时段2:700

数据仓库生产项目

  • 时段1:00:00:00~09:00:00

  • 时段2:09:00:00~23:59:59

数据仓库开发配额组

高保障,有较为突出的CU请求波谷时段。

  • 时段1:20

  • 时段2:100

  • 时段1:100

  • 时段2:100

数据仓库开发项目

  • 时段1:00:00:00~09:00:00

  • 时段2:09:00:00~23:59:59

算法生产配额组

高保障,部分作业的CPU占用量较高且运行时间较长。

300

300

算法生产项目

00:00:00~23:59:59

算法开发配额组

高保障,部分作业的CPU占用量较高且运行时间较长。

50

50

算法开发项目

00:00:00~23:59:59

运营分析配额组

使用的人员多,需要一定的CU保障,有较为突出的CU请求波谷时段,会有一些大作业长时间占用资源。

  • 时段1:30

  • 时段2:250

  • 时段1:300

  • 时段2:250

运营分析项目

  • 时段1:00:00:00~09:00:00

  • 时段2:09:00:00~23:59:59

考虑到上述业务的特点,对应配额组预留CU量maxCU都进行了限制,避免严重影响其他配额组的最低保障值。设计配额组时,默认预付费Quota配额组不关联MaxCompute项目,但预留CU量minCU又必须大于0,可以保留1 CU,将数据仓库开发项目的minCU减1。

设置步骤

  1. 设置分时时段,增加00:00:00~09:00:00、09:00:00~23:59:59两个时段,操作详情请参见分时配置

  2. 基于配额组规划,新增配额组,设置数据仓库生产配额组、数据仓库开发配额组、算法生产配额组、算法开发配额组、运营分析配额组。操作详情请参见配置Quota

  3. 将项目关联对应的配额组,默认预付费Quota配额组不关联项目。

参考文档

随着业务的不断变化,配额组的划分也需要随之改变,所以您有必要随时监控配额组的使用情况,以便及时对配额组进行调整。您可以通过阿里云监控服务的MaxCompute-包年包月Quota组资源指标进行监控,详情请参见监控报警

您还可以结合MaxCompute更多的资源管理功能实现更精细的资源管理,例如弹性预留CU最佳实践计算资源使用作业优先级

包年包月资源分时配额最佳实践请参见包年包月资源分时配额