使用成本优化功能实现降本增效

MaxCompute为您提供成本优化(计算资源优化推荐)功能,可基于实际作业请求量和资源配置期望,对包年包月一级Quota类型的计算资源生成更优的资源配置方案,帮助您进一步优化计算成本。本文通过典型场景案例介绍如何通过成本优化(计算资源优化推荐)功能,为您提供降本增效的参考建议。

注意事项

  • 本文所涉及的价格数据均为示例值,实际价格以产品购买页面为准。

  • 以下典型案例的评估方式比较简单,在实际业务实施过程中,您需要综合多方面考虑,建议您依据实际情况逐渐变配至推荐方案,并关注变配后效果。

典型场景一:包年包月计算资源闲置,计算成本高

某公司在数仓建设初期,公司预算充足,且为了确保凌晨一批重要作业在上午八点产出,购买了包年包月预留计算资源200CU供作业使用,每天有520个作业固定运行在这些资源上,每天作业都可以如期、甚至提前完成,但每月计算成本高达3万元

最近公司给大数据部门下达了降本的OKR,部门领导很是头疼:一是不清楚降本后还能否满足重要作业的产出情况,二是无法确定最合适的降本方案。这时数据运维工程师小K向领导建言,他了解到MaxCompute推出了成本优化功能,马上打开MaxCompute控制台向领导展示了操作:

  1. 进入成本优化页面。

    1. 登录MaxCompute控制台,在左上角选择地域后,在左侧导航栏,选择成本管理 > 成本优化

    2. 成本优化页面,选择包年包月一级Quota,呈现出每天所需CU预测值。image.png

    小K看到这张CU请求预测,认为很符合现在的业务现状,每小时都有一批请求较少的作业发起,在每天05:00~08:00间有一批请求较多的作业发起。

  1. 设置评估时间点。

    设置评估时间点区域,小K结合自身的业务流程,他决定设定05:0008:00为两个评估时间点。即在较为重要的那批作业发起前保证此前的作业可以于5点运行完毕,5点发起的那批作业可以于8点前运行完毕。

  1. 查看现状方案评估结果。

    单击现状方案评估,查看当前资源配置情况下,作业产出情况。

    image.png

    通过CU消耗模拟图,小K看到,在当前的CU配置(预留CU=200)下,作业产出均没有延迟,但是也可以看到计算资源出现了明显的闲置情况,说明有较大的降本空间。

  1. 设置优化目标。

    在评估的CU消耗模拟图下方,是设置优化目标区域,以表格的形式展现了设置的评估时间点的延迟现状,与模拟图展示一致。

    image.png

    小K看到优化目标一栏默认填写了评估时间点,这正是他所期望的作业完成时间,于是单击生成推荐方案

  1. 查看推荐方案

    优化效果依旧以CU消耗模拟的方式呈现,小K看到推荐方案为购买预留50CU,在04:00~05:0006:00~08:00分别购买弹性预留50CU,重要作业预估仍然可以在08:00点前完成,而月计算成本仅需8917.5,对比现状方案每月可节省约70.3%的费用。

    image.png

    领导看到这个方案非常满意,询问小K是否还有降本空间。小K想了想,或许可以允许作业延迟30分钟产出,也不会对业务造成较大影响,于是他进行了优化目标的调整。

  1. 调整优化目标。

    返回设置优化目标区域,将评估时间点08:00点对应的优化目标设置为08:30image.png

  1. 重新查看推荐方案。

    再次单击生成推荐方案小K看到推荐方案为购买预留50CU,在04:00~05:0006:00~07:00分别购买弹性预留50CU,重要作业预估仍然可以在08:30前完成,计算成本降低为8445,对比现状方案每月可节省约71.9%的费用。image.png

  1. 逐步调整为推荐方案。

    为了避免推荐方案实施后效果不稳定,部门开会后决定先不过度降本,先将预留CU整体下调至100,一段时间后重新进行评估,作业量没有明显上涨,系统仍推荐降配并叠加弹性预留CU,于是部门按照不延时的推荐方案进行配置,经过一段时间的试运行,重要作业几乎每天依然可以按时完成,也实现了计算成本的降低。

典型场景二:包年包月计算资源不足,作业完成时间不达预期

某公司在数仓建设初期购买了预留60CU的包年包月计算资源供作业使用,每天有520个作业固定运行在这些资源上,其中有一批较为重要的作业通常在凌晨五点陆续发起,业务侧希望在上午八点前运行完毕。随着业务拓展,作业的扫描数据量持续增加,工程师小K发现这批作业经常延迟完成,经过资源消耗发现是由于预留资源不足导致作业积压,但是他不确定如何调整资源既可以满足作业的完成需求,又不至于费用提升太多。这时他了解到MaxCompute推出了成本优化功能,马上打开MaxCompute控制台进行了操作:

  1. 进入成本优化页面。

    1. 登录MaxCompute控制台,在左上角选择地域后,在左侧导航栏,选择成本管理 > 成本优化

    2. 成本优化页面,选择包年包月一级Quota,呈现出每天所需CU预测值。image.png

      小K看到这张CU请求预测,认为很符合现在的业务现状,每小时都有一批请求较少的作业发起,在05:00~08:00间有一批请求较多的作业发起。

  1. 设置评估时间点。

    设置评估时间点区域,小K结合自身的业务流程,他决定设定05:0008:00为两个评估时间点。即在较为重要的那批作业发起前保证此前的作业可以于5点运行完毕,5点发起的那批作业可以于8点前运行完毕。

  1. 查看现状方案评估结果。

    单击现状方案评估,查看当前资源配置情况下,作业产出情况。

    image.png

    通过CU消耗模拟图,小K看到,在当前的CU配置(预留CU=60)下,05:00前提交的作业评估有3分钟延迟,05:00~08:00点间提交的较为重要的那批作业有高达48分钟的延迟,这与实际感受到的延迟时间相近。

  1. 设置优化目标。

    在评估的CU消耗模拟图下方,是设置优化目标区域,以表格的形式展现了设置的评估时间点的延迟现状,与模拟图展示一致。

    image.png

    小K看到优化目标一栏默认填写了评估时间点,这正是他所期望的作业完成时间,于是单击生成推荐方案

  1. 查看推荐方案

    优化效果依旧以CU消耗模拟(推荐方案)的方式呈现,包含信息与现状评估图一致,小K看到推荐方案为购买预留50CU,在04:00~05:0006:00~08:00分别购买弹性预留50CU,即可实现05:0008:00的作业延迟为0。且成本比现有的方案还减少82.5元/月

    image.png

  1. 配置推荐方案。

    小K认为这个推荐方案的预估成本上升是可以接受的,但是为了避免推荐方案实施后效果不稳定,他决定先不下调预留CU量,先只按照推荐方案配置弹性预留CU,观察一段时间。

    1. 在MaxCompute管理控制台左侧导航栏,选择工作区 > 配额(Quota)管理

    2. Quota管理页面,单击刚刚评估的一级Quota操作列的Quota配置

    3. Quota配置页面的Quota计划页签,单击添加

    4. 新增Quota计划,将弹性预留CU设置为50后,单击确定

    5. 依据推荐方案的时间配置如下Quota时间计划,详细操作请参见配置Quota

      开始时间

      启用Quota计划

      00:00

      Default

      04:00

      上一步骤新增的Quota计划。

      05:00

      Default

      06:00

      上一步骤新增的Quota计划。

      08:00

      Default

      说明

      Default计划的弹性预留CU量为0

    经过一段时间的试运行,小K发现重要作业几乎每天都可以按时完成,提升了研发效率,计算成本也未提升太多。