BMW云效率分析由Amazon QuickSight和Amazon Athena提供支持 大数据博客
BMW云端效率分析:基于Amazon QuickSight和Amazon Athena
由Philipp Karg、Alex Gutfreund、Cizer Pereira、Nick McCarthy、Miguel Pestana Henriques以及Selman Ay于2023年11月15日发布
关键要点
BMW集团简介:作为全球领先的高端汽车和摩托车制造商之一,BMW在2022年实现税前利润235亿欧元,收入达1426亿欧元。云效率工具介绍:BMW开发了BMW云效率分析CLEA工具,旨在优化其4500个AWS云账户的成本。数据整合与透明度:CLEA通过AWS服务提供数据聚合,确保高水平的透明度,帮助用户优化云成本。数据管理与实时监控:BMW Cloud Data HubCDH成为管理和分析公司数据的中央平台,利用Amazon CloudWatch监控用户活动和仪表板使用情况。未来发展计划:CLEA未来将整合更多数据源,引入智能推荐功能,以助力云操作的进一步优化。宝马集团Bayerische Motoren Werke AG,简称BMW是一家总部位于德国的汽车制造商,在全球拥有149475名员工。在2022财年,BMW实现了235亿欧元的税前利润,相较于1426亿欧元的总收入,展现了其在高端汽车和摩托车市场的领导地位。同时,BMW还提供优质的金融和出行服务。
BMW集团在整个组织中使用了4500个AWS云账户,但面临着降低不必要成本、优化支出以及集中监测成本的挑战。为了应对这些挑战,BMW云效率分析CLEA作为一项内部开发的工具,旨在优化和降低各账户的成本。
本文将探讨BMW集团FinOps卓越中心如何实施由Amazon QuickSight和Amazon Athena驱动的云效率分析工具CLEA。借助这一工具,BMW有效降低了成本并优化了其所有AWS云账户的支出,利用中心化的成本监测系统和关键AWS服务,该CLEA仪表板基于良构架实验室WellArchitected Lab的基础构建。如需了解该基础的更多信息,请参阅A Detailed Overview of the Cost Intelligence Dashboard。
CLEA为云成本、使用情况和效率提供了全面透明的视图,从高层概述到详细的服务、资源和操作级别。它无缝整合来自AWS各数据源的数据,包括AWS Cost Explorer及其预测功能、AWS Trusted Advisor和AWS Compute Optimizer。此外,它结合了BMW集团的内部系统,以整合必要的元数据,提供跨不同维度如集团、部门、产品和应用程序的数据全面视图。
最终目标是提高对云效率的意识,以一种具有成本效益和可持续的方式优化云使用。CLEA于2023年5月成功上线,用户现在可以访问该仪表板,以获得与BMW集团及各种成本相关的全面视角。
BMW云数据中心概述
在BMW集团,云数据中心CDH是管理公司范围内数据和数据解决方案的中央平台。它作为资源的集合,为将数据存储于知名的Amazon Simple Storage ServiceAmazon S3中的特定环境和区域提供支持,具备行业领先的可扩展性、数据可用性、安全性和性能。此外,它在AWS Glue Data Catalog中管理表定义,包含对数据源和提取、转换和加载ETL工作流的目标引用。
CDH数据集的两个基本用户分别为数据提供者和数据消费者。提供者在被分配的域内创建数据集,并作为数据集的所有者负责实际内容及适当的元数据提供。他们可以使用自己的工具集,或依赖提供的蓝图从源系统中提取数据。发布后,消费者可以利用不同提供者的数据集进行分析、机器学习ML工作负载和可视化操作。
每个CDH数据集有三个处理层:源原始数据、准备以Parquet格式存储的转换数据和语义组合的数据集。在每个层中,可以定义阶段开发、集成、生产,以实现结构化发布和测试而不影响生产。在每个阶段中,可以创建存储实际数据的资源。每个层中的数据库与以下两种资源类型相关联:
资源类型描述文件存储用于数据存储的S3桶数据库AWS Glue数据库用于元数据共享CLEA景观概述
下图展示了进行提取、加载和转换ELT阶段的某些技术的高层次概述,以及最终的可视化和分析层。这与传统的ETL略有不同,主要体现在数据转化的时机和地点。在ETL中,数据在加载到数据仓库之前进行转化;而在ELT中,原始数据先被加载到数据仓库中,然后在仓库内进行转化。随着云基础的高性能数据仓库的崛起,ELT过程愈发流行,因为在加载后可以更高效地进行转化。
无论使用何种方法,目标都是提供高质量、可靠的数据,以驱动业务决策。
CLEA架构
在本节中,我们将更详细地关注前面提到的三个重要阶段:提取、加载和转化。
提取
提取阶段在CLEA中发挥着重要作用,这是收集与成本、使用以及优化相关数据的初步步骤,数据来源于AWS的多个渠道。这些来源包括AWS成本和使用报告、成本分析器以及成本分析器的预测功能、受信任顾问和计算优化器。此外,它还从BMW集团内部系统提取必要的元数据,提供跨不同维度如集团、部门、产品和应用程序的全面数据视图,以便在后面的数据转化阶段使用。
以下图示展示了我们用来从近4500个AWS账户收集受信任顾问数据的架构,并随后将其加载到云数据中心CDH中。
接下来,让我们逐步了解架构中列出的每个步骤:
基于时间的规则在Amazon EventBridge中触发CLEA共享工作流AWS Step Functions状态机。根据输入,共享工作流状态机调用账户收集器AWS Lambda函数,以从AWS Organizations检索AWS账户详细信息。账户收集器Lambda函数假设一个AWS身份与访问管理IAM角色以通过Organizations API访问连接的账户详细信息,并将其写入Amazon Simple Queue ServiceAmazon SQS队列中。SQS队列使用SQS Lambda触发器触发数据收集器Lambda函数。数据收集器Lambda函数在每个连接的账户中假设IAM角色以检索相关数据并加载到CDH源S3桶中。在收集所有连接账户数据后,共享工作流状态机触发AWS Glue作业进行进一步的数据转化。AWS Glue作业从CDH源桶读取原始数据并将其转换为紧凑的Parquet格式。加载与转化
在数据转化过程中,我们使用了一种名为dbtData Build Tool的开源数据转化工具,通过多个抽象数据层修改和预处理数据:
源 该层包含数据源提供的原始数据,首选数据格式为Parquet,但也允许使用JSON、CSV或纯文本文件。 准备 源层的数据被转化并以Parquet格式存储为准备层,以实现优化的列访问。此层进行初步清洗、过滤和基本的转化处理。语义 语义层将多个准备层数据集结合为单个数据集,包含转化、计算和商业逻辑,以交付业务友好的洞察。QuickSight QuickSight是最终的展示层,直接从Athena通过增量日常摄取查询注入QuickSight SPICE。这些摄入的数据集用作CLEA仪表板的数据源。总体而言,通过利用dbt的数据建模和Athena的按需计费定价,BMW集团能够通过有效的查询控制成本。此外,借助Athena的无服务器架构与dbt的结构化转化,用户可以在不担心基础设施管理的情况下扩展数据处理。CLEA目前已经实现了120多个dbt模型,涉及复杂的转化。语义层以增量的方式实现并部分地摄入QuickSight,具备高达4TB的SPICE容量。为了部署和调度dbt,我们使用GitHub Actions,使得我们能够方便地引入新的dbt模型和变更,进行自动化部署和测试。

CLEA访问控制
在本节中,我们将解释如何使用QuickSight的行级安全性RLS以及QuickSight嵌入实现访问控制。
QuickSight的RLS
行级安全性RLS是一个关键特性,它管理数据访问和隐私,我们为CLEA实现了RLS。RLS是一种机制,它允许我们根据用户属性控制数据的可见性,确保用户只能访问他们被授权查看的数据,为QuickSight环境中的数据保护添加了另一层防护。
要理解RLS的重要性,需要对数据环境有更广泛的认识。在需要多位用户同时接入同一数据集但因其角色需要不同访问水平的组织中,RLS成为了一个重要工具。它确保数据安全并遵从隐私法规,防止未授权访问敏感数据。此外,RLS通过呈现相关数据,提供个性化的用户体验,从而提高数据分析的有效性。
在CLEA中,我们收集了BMW集团的元数据,如部门、应用程序和组织,这些都是允许用户仅查看其部门、应用和组织内部的账户所需的重要信息。这是通过使用用户名称和组名称来实现的。我们利用用户名进行特定用户的访问控制,同时利用组名将部分用户添加到特定组,以扩展其对不同用例的权利。
最后,鉴于CLEA创建了许多仪表板,我们还控制用户可以查看哪些仪表板及其内容。这是通过组级别进行管理的。默认情况下,所有用户都被分配到CLEAREADER组中,该组被授予访问核心仪表板的权限,但也设有其他组以允许用户在被分配到该组后查看更多附加仪表板。
RLS数据集每天刷新,以捕获有关新用户添加、组变更或其他用户访问变更的最新信息。该数据集也每日摄入到SPICE中,自动更新所有通过此RLS数据集限制的数据集。
QuickSight嵌入
CLEA是一个跨平台的应用程序,安全地提供访问QuickSight嵌入内容,并自定义构建身份验证和授权逻辑,与BMW Group的身份和角色管理服务简称BMW IAM相连接。
CLEA向拥有不同权限的多个用户提供对敏感数据的访问,因此其设计了细粒度的访问控制规则。它在两个不同层面上实施访问控制,以角色为基础的访问控制RBAC和基于属性的访问控制ABAC模型:
通过QuickSight用户组在仪表板级别RBAC通过QuickSight RLS在仪表板数据级别RBAC和ABAC仪表板级别权限定义了用户可以可视化的仪表列表。
仪表板数据级别权限定义了用户看到的仪表板数据的子集,并通过前述用户属性应用RLS。尽管大多数在CLEA中定义的角色用于仪表板级别的权限,但一些特定角色被战略性地定义以在仪表板数据级别授予权限,并优先于ABAC模型。
BMW有一套明确的指南,建议使用其IAM服务作为身份与访问控制的唯一真相源,团队在CLEA的身份和授权流程设计中仔细考虑了这一点。
用户首次登录时,会在CLEA中自动注册并分配基本角色,以授予其访问基本仪表板的权限。
在CLEA中注册用户的过程包括将来自BMW身份提供者IdP的用户身份映射到QuickSight用户,然后将新创建的用户分配到相应的QuickSight用户组中。
对于需要更多权限的用户在前述任何级别,可以通过BMW的自助角色管理门户申请额外的角色分配。授权审查员将对其进行审核并决定接受或拒绝角色分配。
角色分配将在用户下次登录时生效,这时用户在BMW集团IAM中分配的角色将与用户的QuickSight组同步此过程被称为身份与权限同步。如下图所示,同步组步骤计算哪些用户的组成员身份应保持、创建或删除。
飞机加速官网使用洞察
Amazon CloudWatch在提高CLEA仪表板的效率和可用性方面发挥着不可或缺的作用。CloudWatch不仅提供实时监控AWS资源的能力,还可跟踪用户活动和仪表板的使用情况。通过分析使用数据和日志,可以查看哪些用户登录了CLEA仪表板、哪些功能被最频繁地访问以及用户与各个元素的互动时长。这些洞察对改善仪表板以提高用户体验的决策至关重要。通过CloudWatch的直观界面,用户可以设置警报以提醒异常活动或性能问题。最终,使用CloudWatch进行监控提供了对系统健康和用户参与的全面视图,帮助我们持续完善和提升仪表板。
结论
BMW集团的CLEA平台提供了一种全面而有效的解决方案,以管理和优化云资源。通过提供对云成本、使用和效率的完全透明,CLEA能够从高层概述到服务、资源和操作级别的详细信息中提供洞察。
CLEA汇聚来自多个数据源的数据,使得对云操作的详尽路线图成为可能,从而追踪跨部门、产品、应用程序、资源和标签的足迹。这种动态视角有助于识别趋势,预见未来需求,并做出战略决策。
CLEA的未来计划包括增强数据一致性和准确性的能力,整合如Amazon S3 Storage Lens等额外数据源以获取更深入的洞察,并引入Amazon QuickSight Q以实现由机器学习驱动的智能推荐,从而进一步简化云操作。
通过遵循此处的实践,您可以通过实施云智能仪表板释放高效云资源管理的潜力,为您提供对成本、节省和操作效率的精准洞察。
关于作者
Philipp Karg是BMW集团的首席FinOps工程师,CLEA平台的创始人。他专注于推动云效率倡议并在公司内部建立以成本为导向的文化,以便最终可持续地利用云。
Alex Gutfreund是BMW集团产品与技术集成负责人。他领导数字化转型,特别关注平台生态系统和效率。在商业与IT的交界处拥有丰富经验的他,致力于推动变革并在不同组织中产生影响。其行业知识涵盖汽车、半导体、公共交通和可再生能源。
Cizer Pereira是AWS专业服务的高级DevOps架构师。他与AWS客户紧密合作,加速他们向云的迁移。他对于云原生和DevOps充满热情,闲暇时也喜欢为开源项目作贡献。
Selman Ay是AWS专业服务团队的数据架构师。他曾与多个行业如电子商务、制药、汽车和金融客户合作,构建可扩展的数据架构并从数据中生成
介绍 AWS 生成性 AI 创新中心的 Anthropic Claude 自定义模型计划 机器学习博
AWS 生成性 AI 创新中心的自定义模型计划简介重要信息总结自 2023 年 6 月以来,AWS 生成性 AI 创新中心与全球数百名客户合作,帮助他们创造和实施定制的生成性 AI 解决方案。现在,我...