MaxCompute为您提供成本优化(计算资源优化推荐)功能,可基于实际作业请求量和资源配置期望,对包年包月一级Quota类型的计算资源生成更优的资源配置方案,帮助您进一步优化计算成本。本文通过典型场景案例介绍如何通过成本优化(计算资源优化推荐)功能,为您提供降本增效的参考建议。
注意事项
本文所涉及的价格数据均为示例值,实际价格以产品购买页面为准。
以下典型案例的评估方式比较简单,在实际业务实施过程中,您需要综合多方面考虑,建议您依据实际情况逐渐变配至推荐方案,并关注变配后效果。
典型场景一:包年包月计算资源闲置,计算成本高
某公司在数仓建设初期,公司预算充足,且为了确保凌晨一批重要作业在上午八点产出,购买了包年包月预留计算资源200CU供作业使用,每天有520个作业固定运行在这些资源上,每天作业都可以如期、甚至提前完成,但每月计算成本高达3万元。
最近公司给大数据部门下达了降本的OKR,部门领导很是头疼:一是不清楚降本后还能否满足重要作业的产出情况,二是无法确定最合适的降本方案。这时数据运维工程师小K向领导建言,他了解到MaxCompute推出了成本优化功能,马上打开MaxCompute控制台向领导展示了操作:
进入成本优化页面。
登录MaxCompute控制台,在左上角选择地域后,在左侧导航栏,选择成本管理 > 成本优化。
在成本优化页面,选择包年包月一级Quota,呈现出每天所需CU预测值。
小K看到这张CU请求预测,认为很符合现在的业务现状,每小时都有一批请求较少的作业发起,在每天
05:00
~08:00
间有一批请求较多的作业发起。
设置评估时间点。
在设置评估时间点区域,小K结合自身的业务流程,他决定设定
05:00
、08:00
为两个评估时间点。即在较为重要的那批作业发起前保证此前的作业可以于5点运行完毕,5点发起的那批作业可以于8点前运行完毕。
查看现状方案评估结果。
单击现状方案评估,查看当前资源配置情况下,作业产出情况。
通过CU消耗模拟图,小K看到,在当前的CU配置(预留CU=200)下,作业产出均没有延迟,但是也可以看到计算资源出现了明显的闲置情况,说明有较大的降本空间。
设置优化目标。
在评估的CU消耗模拟图下方,是设置优化目标区域,以表格的形式展现了设置的评估时间点的延迟现状,与模拟图展示一致。
小K看到优化目标一栏默认填写了评估时间点,这正是他所期望的作业完成时间,于是单击生成推荐方案。
查看推荐方案。
优化效果依旧以CU消耗模拟的方式呈现,小K看到推荐方案为购买预留50CU,在
04:00~05:00
、06:00~08:00
分别购买弹性预留50CU,重要作业预估仍然可以在08:00
点前完成,而月计算成本仅需8917.5
元,对比现状方案每月可节省约70.3%的费用。领导看到这个方案非常满意,询问小K是否还有降本空间。小K想了想,或许可以允许作业延迟30分钟产出,也不会对业务造成较大影响,于是他进行了优化目标的调整。
调整优化目标。
返回设置优化目标区域,将评估时间点
08:00
点对应的优化目标设置为08:30
。
重新查看推荐方案。
再次单击生成推荐方案。小K看到推荐方案为购买预留50CU,在
04:00~05:00
、06:00~07:00
分别购买弹性预留50CU,重要作业预估仍然可以在08:30
前完成,计算成本降低为8445
元,对比现状方案每月可节省约71.9%的费用。
逐步调整为推荐方案。
为了避免推荐方案实施后效果不稳定,部门开会后决定先不过度降本,先将预留CU整体下调至100,一段时间后重新进行评估,作业量没有明显上涨,系统仍推荐降配并叠加弹性预留CU,于是部门按照不延时的推荐方案进行配置,经过一段时间的试运行,重要作业几乎每天依然可以按时完成,也实现了计算成本的降低。
典型场景二:包年包月计算资源不足,作业完成时间不达预期
某公司在数仓建设初期购买了预留60CU的包年包月计算资源供作业使用,每天有520个作业固定运行在这些资源上,其中有一批较为重要的作业通常在凌晨五点陆续发起,业务侧希望在上午八点前运行完毕。随着业务拓展,作业的扫描数据量持续增加,工程师小K发现这批作业经常延迟完成,经过资源消耗发现是由于预留资源不足导致作业积压,但是他不确定如何调整资源既可以满足作业的完成需求,又不至于费用提升太多。这时他了解到MaxCompute推出了成本优化功能,马上打开MaxCompute控制台进行了操作:
进入成本优化页面。
登录MaxCompute控制台,在左上角选择地域后,在左侧导航栏,选择成本管理 > 成本优化。
在成本优化页面,选择包年包月一级Quota,呈现出每天所需CU预测值。
小K看到这张CU请求预测,认为很符合现在的业务现状,每小时都有一批请求较少的作业发起,在
05:00
~08:00
间有一批请求较多的作业发起。
设置评估时间点。
在设置评估时间点区域,小K结合自身的业务流程,他决定设定
05:00
、08:00
为两个评估时间点。即在较为重要的那批作业发起前保证此前的作业可以于5点运行完毕,5点发起的那批作业可以于8点前运行完毕。
查看现状方案评估结果。
单击现状方案评估,查看当前资源配置情况下,作业产出情况。
通过CU消耗模拟图,小K看到,在当前的CU配置(预留CU=60)下,
05:00
前提交的作业评估有3分钟延迟,05:00
~08:00
点间提交的较为重要的那批作业有高达48分钟的延迟,这与实际感受到的延迟时间相近。
设置优化目标。
在评估的CU消耗模拟图下方,是设置优化目标区域,以表格的形式展现了设置的评估时间点的延迟现状,与模拟图展示一致。
小K看到优化目标一栏默认填写了评估时间点,这正是他所期望的作业完成时间,于是单击生成推荐方案。
查看推荐方案。
优化效果依旧以CU消耗模拟(推荐方案)的方式呈现,包含信息与现状评估图一致,小K看到推荐方案为购买预留50CU,在
04:00~05:00
、06:00~08:00
分别购买弹性预留50CU,即可实现05:00
和08:00
的作业延迟为0。且成本比现有的方案还减少82.5元/月。
配置推荐方案。
小K认为这个推荐方案的预估成本上升是可以接受的,但是为了避免推荐方案实施后效果不稳定,他决定先不下调预留CU量,先只按照推荐方案配置弹性预留CU,观察一段时间。
在MaxCompute管理控制台左侧导航栏,选择工作区 > 配额(Quota)管理。
在Quota管理页面,单击刚刚评估的一级Quota操作列的Quota配置。
在Quota配置页面的Quota计划页签,单击添加。
在新增Quota计划,将弹性预留CU设置为
50
后,单击确定。依据推荐方案的时间配置如下Quota时间计划,详细操作请参见配置Quota。
开始时间
启用Quota计划
00:00
Default
04:00
上一步骤新增的Quota计划。
05:00
Default
06:00
上一步骤新增的Quota计划。
08:00
Default
说明Default计划的弹性预留CU量为
0
。
经过一段时间的试运行,小K发现重要作业几乎每天都可以按时完成,提升了研发效率,计算成本也未提升太多。