资料平台上云后更要控管成本!BBVA如何拥抱FinDataOps?

BBVA在资料平台的资料开发层设置了九个护栏机制,分别对EMR服务和AWS Glue服务设置了7个和2个护栏。针对使用者层级,BBVA设置了33个护栏机制,分别针对SageMaker、Athena、AWS Glue、QuickSight、EC2、Availability Sandbox、Aurora Serverless、AWS Budgets等八项常用服务设置护栏。图片来源/BBVA

「资料平台正式上线后最重要的事,就是控管成本。」西班牙对外银行全球资料架构主管Federico Esteban在一场活动上强调。

为了控管资料平台上云后的成本,西班牙对外银行(BBVA)成立了一个名为FinDataOps的部门,延伸自FinOps的概念,团队仅专注在控管资料领域的上云成本。

这个部门负责的工作包含六大项,第一是要协助财务部门进行预算编列和管理帐单。Federico Esteban解释,按使用付费(pay-per-use)对企业来说是全新的概念,财务部门过去不熟悉这种计费模式,因此,FinDataOps团队要负责协助财务部门规画策略,制定预算和预估来年的云端支出。

第二项工作是将资料平台上云的成本可视化。「这在任何FinOps策略中都非常重要。」Federico Esteban强调,他们花了许多心力来让成本可视化,特别要让资料平台的使用者了解自己在使用平台的过程中,产生了多少成本,「让他们知道自己的行为带来多少支出,他们才会正确使用资源。」他说。

第三则是制定治理模型,清楚定义FinDataOps中所需的流程、角色和各部门分工职责。第四则是制定成本防护机制,包括设计护栏机制和定义预警门槛,避免因使用者错误使用资源,出现不必要的成本,并让使用者符合企业制定的FinOps政策。

第五,是定义出资料平台的最佳使用案例,根据不同业务需求和使用角色设计不同使用方式,协助使用者提升资源使用效率,并建立使用者对成本影响的认知。

例如,每当有新的服务要部署在沙盒环境时,FinDataOps会先分析、设计适当的护栏机制,来确保每项服务都建立了最佳的成本控管机制。最后则是持续以成本效率为导向,来持续改善资料平台的使用。


在BBVA的ADA平台中,每个沙盒都必须受到严格的预算控管。使用者要先透过成本计算工具与沙盒控制台和仪表板等工具,向财务部门提交年度预算和预估资源使用状况的报告。财务部门确认细项后,才授权每个沙盒的预算额度。最后由FinOps团队将核准预算纪录到ADA控制台后,才能启用沙盒。

当使用者开始在沙盒中消耗云端资源后,平台会持续监控预算使用状况。一旦达到特定的预算使用门槛(例如20%、40%、60% 等),ADA控制台会显示警示通知,并同步发送通知给使用者。使用者可以透过各种成本控管工具,来分析预算爆增的原因。

若预算用量超过原订预算的200%,平台会自动关闭沙盒。使用者必须先厘清预算爆涨原因,重新调整预算后,FinOps团队才会重启沙盒。图片来源/BBVA


FinDataOps作法一:成本保护机制

Federico Esteban进一步揭露了BBVA如何避免上云费用超支的成本保护作法。

针对分析和机器学习服务,BBVA建立了两种成本护栏机制。一种称为预防型,BBVA会透过IaC自动化脚本或服务目录表等工具建立预防型护栏,当使用者申请资源或建置云端服务时,这类护栏机制就会启动。

例如,限制Amazon EMR丛集中以Java程式执行的任务,或限制如Amazon Athena查询平台服务每次查询能处理的资料量。

另一种护栏机制则称为侦测型,透过CloudWatch、CloudTrail等日志、追踪或时间戳记工具,来即时监控云端服务的实际执行情况,侦测异常使用行为。例如,当某项资源使用量达到预设的最高值,系统就会触发警示,强制中止执行中的任务。

BBVA的做法是,透过Lambda服务来自动触发检查机制,若侦测到正在执行的EMR任务数量超过门槛,系统就会发送电子邮件警示通知,同时传送通知至存取管理服务,要求暂时拒绝执行EMR任务,避免资源快速被消耗。

另一方面,BBVA也区分出资料平台中不同架构的风险,设计了相应的成本控制措施。

他们依据风险层级,将平台功能分成三个区域,分别是由技术团队操作的底层核心平台区、资料工程师汇入资料流程的中层开发区,以及资料分析师和资料科学家等一般使用者操作的上层业务沙盒区。

Federico Esteban解释,由于一般使用者不会直接操作核心平台区,出错风险相对较低。

相对起来,中层的开发区风险则较高,「因为每天会有数百至数千位资料工程师在中层开发超过上千条资料汇入流程。」Federico Esteban解释,即便资料工程师具备一定的技术能力,但BBVA仍然在中层资料平台开发区部署了九道护栏机制,例如自动侦测特定任务执行的时间是否过长,若超过限制,平台则会强制关闭服务运作,避免资源被过度浪费。

而上层的业务沙盒区则是风险最高的区域,「因为有成千上万来自各业务部门的使用者。」Federico Esteban解释,这些使用者多数不具备技术背景,在使用平台时较容易出错,造成资源浪费。这是业务沙盒区风险最高的主因。

在这块区域中,BBVA针对每项使用者会用到的服务设置护栏机制。例如,限制Amazon Athena单次查询的资料处理量,若查询超过上限,平台则会自动终止服务。

不过,即便如此,BBVA的财务部门仍然担忧预算失控问题,例如,工程团队或业务部门使用者没有即时停止某个正在超支的沙盒实验。

因此,BBVA针对沙盒环境设计了专门的护栏机制,能即时监控每个沙盒的预算使用情况,当用量达到 40%、50%和100%时,平台会自动发送警示通知给使用者。

若预算使用量达到200%,平台则会自动暂停沙盒环境的所有任务。使用者事后需要检查预算飙升原因,调整相关预算后,才能重启沙盒。

FinDataOps作法二:成本可视化

针对资料平台上云的成本可视化,BBVA除了运用云端服务来控管成本,还有自行打造一套仪表板工具,让资料平台使用者可以清楚观察自己的花费,大至事业群的花费,小至单一部门的花费,甚至各个使用者的开销都能查询。使用者也能观看各个使用者或各单位使用的服务种类。

这套仪表板其中一个特别的功能,是能比对不同资料平台使用者或业务部门的资源使用效率,来找出可供大家参考的学习榜样。

另外,BBVA还有设置一个名为沙盒负责人的角色,专门负责监控仪表板,确保资料平台的使用情形,若发现某位使用者操作发生问题,他们就会主动介入,协助处理问题。