关键字: [Amazon Web Services re:Invent 2024, 亚马逊云科技, Content Drive, Media Asset Management, Content Lifecycle Management, Amazon S3 Storage, Netflix Studio Ecosystem, Data Tiering Policies]
Netflix的工作室应用程序生成了数以PB计的数据,包含数十亿的多媒体资产,如图像、视频和文本,这些资产被安全地传输和存储在Amazon S3中。本次讨论将探讨Netflix媒体存储层的演变,包括这些资产的组织、跟踪以及访问控制和生命周期管理。此外,Netflix不断增长的内容规模给其存储后端基础设施的扩展带来了多项挑战。您将深入了解Netflix如何应对扩展挑战,并了解他们为有效服务于媒体合作伙伴和应用程序而添加的特定于媒体的功能。
以下是小编为您整理的本次演讲的精华。
在数字娱乐领域,Netflix开创了一种革命性的内容创作和分发方式,利用云计算的力量赋能来自世界各地的艺术家。这种突破性的云工作室生态系统使故事讲述者和创意专业人士能够无缝协作,跨越地理界限。在这一变革性努力的核心,是一个强大且可扩展的媒体存储解决方案,利用亚马逊云科技和Amazon Simple Storage Service (Amazon S3)的能力来管理整个生产生命周期中产生的大量数据。
展开剩余93%在Netflix,媒体资产的旅程始于摄入点,数据由相机捕获并摄入系统。从这一初始阶段开始,资产经历了一系列复杂的转换,涉及各个阶段和环节的频繁上传和下载。这一复杂过程需要一个高效且高性能的媒体云基础架构来支持全球分布的工作流程。
Netflix的工作室生态系统由众多与工作室资产和数据交互的应用程序组成,其中大部分运行在亚马逊云科技云环境中。这些媒体资产,包括各种文件和文件夹,构成了观众在Netflix流媒体平台上欣赏的最终内容的基础。在制作和后期制作过程中产生的数据以对象的形式存储在Amazon S3中,其身份和基本metadata由存储基础架构层维护。这些metadata使艺术家和他们的应用程序能够无缝访问和操作数据,提供了熟悉的文件/文件夹界面,无需中间翻译代理。
认识到为艺术家和工作室工作流提供无缝体验的至关重要性,Netflix着手开发了Content Drive,这是一个解决管理数十亿媒体文件的多方面挑战的突破性解决方案。Content Drive作为一个建立在Amazon S3之上的metadata抽象层,促进了这些海量数据存储库的存储、管理和跟踪,同时保留了用户习惯的直观文件/文件夹界面。
Content Drive的一个关键优势是能够实现快速文件操作,允许用户创建副本或移动数据,而无需物理传输或复制底层字节。这一能力是通过在存储在Amazon S3中的对象之上创建文件/文件夹metadata抽象层实现的。此外,Content Drive使用户能够进行动态访问控制,根据特定应用程序、工作流或用户角色来控制文件和文件夹的访问权限。
Content Drive还通过创建授权传输会话并提供必要的令牌来促进数据传输,实现安全上传和下载。此外,它还提供了丰富的文件/文件夹通知功能,如上传完成提醒,使用户能够了解数据操作的状态。审计功能也集成到Content Drive中,允许用户跟踪和监控对工作空间、应用程序或资产所做的每一次移动或更改。
Content Drive的高级架构包括几个关键组件,包括REST和GraphQL层,为用户提供访问和管理文件和文件夹的端点。文件服务层是负责对metadata结构执行实际操作的核心组件。访问控制层支持跨不同用户和应用程序共享文件和文件夹,而数据传输层生成授权令牌并跟踪上传和下载的传输。
Content Drive的一个突出特点是能够表示和管理分层树结构,文件和文件夹被组织成称为CNode的节点。这些CNode可以采取多种形式,如根或工作空间节点(类似于磁盘分区或操作系统)、文件夹节点(简单容器)、文件节点(引用Amazon S3中实际数据位置的叶节点)、序列节点(表示媒体文件如场外镜头的特殊容器)和快照节点(捕获子树状态的不可变容器)。
Content Drive通过存储每个CNode父节点的引用来维护父子层次结构,确保文件/文件夹结构的一致性和准确性。为了保持数据完整性和正确性,Content Drive实施了唯一文件路径不变量,即在任何给定时间,每个文件路径都由一个唯一的CNode表示,由其名称、父ID和分区ID标识。
分布式事务支持复杂的批量操作,如复制、移动或列出文件和文件夹。此外,Content Drive采用数据位置规范化,确保只存储一份数据位置的副本,每个文件CNode都引用同一份副本。持久层中的强一致性和复杂查询支持进一步提高了批量操作和即时复制/移动功能的可靠性和性能。
在整个生命周期中,CNode会经历各种状态,包括创建、可用(上传完成后)、校验和验证、软删除(基于用户操作)、恢复(也是用户启动)、归档(数据字节存储在Amazon Glacier中以优化成本)以及根据生产需求可能的恢复或清除。
Content Drive支持三种不同的工作空间类型:用户和个人工作空间(由个人用户拥有和完全访问)、项目或应用程序拥有的工作空间(访问由应用程序或项目团队控制)以及团队工作空间(旨在供多个用户共享和协作)。Content Drive中的授权由工作空间类型决定,用户工作空间授予所有者完全控制权,而应用程序拥有的工作空间将授权请求委托给拥有应用程序。
Content Drive提供了一系列权限,包括读取、写入、共享和下载,这些权限存储为授权服务中的访问控制列表。对权限的细粒度控制使Netflix能够根据特定用户角色、应用程序或工作流量身定制访问权限。
为了说明典型的用户工作流程,考虑数据摄入技术人员上传资产的场景。技术人员打开工作站并通过Content Drive访问云中的个人工作空间后,可以将文件和文件夹从本地工作站拖放到工作空间UI中。这一操作会在Content Drive内触发一系列步骤,包括创建目录结构、建立传输跟踪会话以及生成传输授权令牌。
工作空间UI从Content Drive获取这些授权令牌,并将它们传递给本地传输代理,然后执行实际的字节传输到Amazon S3。数据传输完成后,Content Drive从对象访问层接收通知,表明字节已可用。然后,Content Drive对整个传输执行校验和验证,并通知用户上传已成功完成。随后,按需启动资产创建过程。
随着Netflix工作室运营的不断发展,Content Drive将在支持全球工作室内的混合存储环境方面发挥关键作用。在这种未来场景中,由Content Drive管理的单个文件可能位于多个位置,包括本地供应商环境或Netflix为其供应商提供的内部基础设施。通过在Content Drive中创建这些分布式数据的表示,Netflix可以跟踪和维护对这些文件的可见性,实现诸如将文件上传或备份到云(Amazon S3)、为其他位置提供这些文件以及执行校验和验证等操作。
为了强调Content Drive的规模和影响,Isha分享了一些有见地的统计数据和数字。截至2024年10月,Content Drive管理了惊人的145亿个节点,其中约848,000个是工作空间。Netflix每周平均创建约5000万个新CNode,其中大部分是文件节点。每日在Content Drive支持的UI页面上的活跃访问量在50,000到60,000用户之间,这凸显了该解决方案在各个工作室制作部门(包括营销、后期制作、内容采购、公共关系和配音)的广泛采用和依赖。
性能指标显示Content Drive即使在大规模情况下也能保持低延迟,在两小时窗口内,每秒服务器级请求的P90延迟持续低于0.5秒。为进一步提高效率和可扩展性,Netflix实施了几种优化,如持久对象的分布式缓存、非敏感数据查询的追随者读取、基于时间的视觉ID用于节点ID生成(确保分页查询中基于ID的默认排序)、高吞吐写入操作的具体批量写入支持,以及在适当时将事务卸载到数据库的公共表表达式的使用。
虽然Content Drive作为媒体资产管理的基础,但Netflix公司还开发了一个全面的数据生命周期管理解决方案,以应对数据爆炸增长和不断上涨的存储成本带来的挑战。Isha的同事Ankur深入探讨了这一解决方案的复杂性,阐明了内容从创建到最终删除或永久存档的整个过程。
Netflix内容的生命周期始于其创建,无论是通过上传摄像机拍摄的镜头,还是内部系统在处理过程中生成的数据。这个初始阶段之后是关键的处理阶段,内容在这个阶段被标记、分类、编辑、为各种下游系统编码,并用metadata丰富——本质上是创建最终在Netflix平台上供观众消费的内容。
在处理阶段,内容存储在活动存储中,这是其生命周期中最活跃的状态。这个阶段经常发生用户交互、修改,并需要高性能存储来支持关键业务运营。
随着内容的老化或使用模式的演变,Netflix采用分析和基于策略的决策,自动将数据迁移到存档阶段的更经济的存储层。这个过渡阶段的主要目标是长期数据保存、确保不可变性,并在存档多年后仍能检索。
生命周期的最后阶段(如果适用)涉及安全合规的删除流程。Ankur强调,删除往往是数据管理中最具挑战性的方面,因为它需要非常谨慎,以确保只删除预期的数据,而不会无意中删除有价值的资产。
Netflix关注数据生命周期管理的动力源于一系列增长因素的叠加。公司的内容量每年翻一番,这是由地理扩张引入新的数据流、供应商网络扩展到数千个贡献者,以及为缩短内容制作时间线而需要大量数据移动(上传和下载)所推动的。
然而,这种爆炸式增长带来了沉重的成本,Netflix的存储和访问费用每年增长50%。加剧这一挑战的是未使用或“暗数据”的同比增长,这给Netflix带来了重大的效率问题,因为它不得不为无实际业务价值的数据支付高昂费用。
为了应对这些挑战,Netflix利用了分析内容随时间推移的访问模式所获得的见解。一个引人注目的趋势浮现出来:在一部作品上线前,53%的访问活动都发生在处理阶段,各种应用程序在这个阶段积极利用内容。然而,上线后,访问率骤降,一个月后下降到8%左右,三个月后为5%,六个月后为3%,到12个月时几乎降至最低水平。
这些访问模式对于制定明智的存储分层决策至关重要。通过认识到很少访问的内容无需存储在最昂贵的高性能存储层,Netflix可以优化存储基础设施、降低成本,并在最重要的地方保持适当的性能水平。
在构建生命周期管理系统时,Netflix确定了几个关键要求,包括基于策略的自动化以消除大规模手动干预的需求、强大的安全措施以确保每次数据移动和转换都经过适当授权、实时了解存储和使用模式、对象级别的数据分层粒度以适应独特的使用模式或业务价值、存档期间保持数据完整性、安全合规的清除流程、全面的审计功能、便于检索机制以促进存档策略的广泛采用,以及灵活的临时批量移动功能以响应即时业务需求或意外情况。
虽然Amazon S3提供了各种存储层,如S3 Standard、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval和S3 Glacier Deep Archive,但Netflix最初评估了Amazon S3的Intelligent Tiering功能。然而,该公司发现了一些与其特定需求不符的限制。
首先,缺乏对过渡规则的细粒度控制是一个挑战,因为Netflix需要比S3 Intelligent Tiering提供的预定义时间段更大的灵活性。其次,无法跳过过渡层并根据业务规则直接将数据移动到冷存储是一个限制。最后,S3 Intelligent Tiering无法利用Netflix拥有的关于其数据的丰富指标和上下文。
为了克服这些限制,Netflix开发了一种混合解决方案,提供了细粒度控制,同时保持了成本效益。这一解决方案的核心是在Netflix系统中实现的对象级别的自定义标记功能。这个标记系统不仅基于基于时间的规则,还基于内容类型、业务单位、项目阶段和单个对象特征,从而实现智能分层决策。
当一个项目达到特定里程碑时,Netflix可以触发直接过渡到冷存储,完全绕过中间层。通过利用业务上下文主动恢复数据,可以简化检索流程,减少等待时间。值得注意的是,这个框架被设计为与存储无关,允许将相同的原理和流程应用于边缘的本地解决方案,为Netflix未来的扩展提供了巨大的灵活性。
构成Netflix生命周期管理系统的组件包括资产(在制作过程中生成的文件、文件夹和metadata的集合)、生命周期策略(规定数据应存储或删除的时间和位置的规则和程序)、Policy管理器(将业务上下文转化为可执行的生命周期请求)、存储元数据层(Content Drive系统)、存储生命周期管理器(协调生命周期操作)和S3抽象层(将生命周期操作转化为对Amazon S3的请求)。
Policy管理器在提供存储和管理资产生命周期策略的能力方面发挥着关键作用。其Policy引擎评估单个策略定义,以确定哪些资产有资格进行特定的生命周期操作,通常是响应生产生命周期中触发的事件。合格任务随后由Policy执行工作者安排执行,后者与Content Drive协调以启动存档、恢复或清除操作。
Content Drive将metadata与存储在Amazon S3中的数据分离的架构特征是实现高效生命周期管理的基础。通过维护一个跟踪资产与底层S3对象之间关系的引用计数系统,Content Drive可以确定生命周期操作的范围,以及是否仅修改metadata或包括对S3对象本身的操作。
存储生命周期管理器是所有生命周期操作背后的编排引擎,负责管理与S3对象的交互。它建立在一个完全异步的架构之上,将传入的请求持久化以确保持久性和高吞吐量。一个分布式处理模型利用Kafka的分区分配功能,确保不同资产的操作分散在集群中的节点上,任何给定时间每个资产都由单个节点拥有。这种分片方法提高了可缓存性,消除了冲突,并确保了工作负载在Netflix基础设施中的均匀分布。最终,存储生命周期管理器与S3抽象层通信,根据在Amazon S3中定义的生命周期配置为S3对象添加标记,从而促进适当的过渡。
Netflix生命周期管理举措对成本优化的影响是显著的。如果不加干预,存储成本预计将继续线性增长,这是由数据增长和未使用资产的保留所推动的。然而,两个关键干预措施极大地改变了这一轨迹。
短期内,Netflix实施了将资产迁移到Amazon S3 Glacier Instant Retrieval的策略,利用S3内置的生命周期配置。这一迁移单独就将成本降低了20%至30%。
更重要的是,通过实施基于策略的存储生命周期管理,Netflix预计将节省高达70%的成本,方法是自动识别未使用的资产、应用智能保留规则,并将冷数据移动到更经济的存储层。这些干预措施有效地重塑了成本轨迹,使Netflix步入了稳定存储支出的轨道。
为了量化生命周期管理系统的影响,Ankur分享了令人信服的统计数据。Netflix已成功存档约77PB的数据,并在过去一年中临时恢复了约200TB以满足生产需求。也许最令人印象深刻的是,该公司已经安全删除了约33PB的内容,未来还将进行更多删除操作。Ankur承认删除存在固有挑战,并强调仍有大量数据等待实施适当的策略。
展望未来,Netflix已经概述了三项关键举措来进一步增强其生命周期管理能力。首先,该公司计划将生命周期管理扩展到混合存储环境,实现跨本地和云存储解决方案的无缝管理。这种方法将为Netflix提供无与伦比的数据放置和成本优化灵活性。
其次,Netflix正在实施一个智能标记系统,该系统将在内容制作阶段本身就对内容进行标记,为下游的存储生命周期管理系统留下面包屑。
最后,Netflix正在探索metadata分层,认识到在其规模下,不仅数据,而且metadata成本也可能变得相当可观。通过在工作室制作的整个生命周期内优化metadata的存储和管理,Netflix旨在开启额外的节省成本机会。
总之,Netflix的云原生媒体资产管理解决方案Content Drive使该公司的工作室能够摄取媒体内容、管理metadata、应用生命周期策略并提供内容共享的访问控制。通过利用Amazon S3的存储能力和对其各种层级的智能利用,并结合对内容使用模式的细致分析,Content Drive实现了卓越的成本优化。这一创新解决方案与Netflix全面的数据生命周期管理策略相结合,使该公司在可扩展和经济高效的媒体存储解决方案领域处于领先地位,为全球观众无缝创建和分发引人入胜的内容。
下面是一些演讲现场的精彩瞬间:
Isha 来自 Netflix 的内容基础设施和解决方案团队,概述了议程,涵盖了制作生命周期、Netflix 工作室生态系统、Content Drive 平台、其架构和演进、数据生命周期管理以及问答环节。
Netflix 为艺术家和工作室工作流程提供了无缝体验,实现了数十亿媒体文件的高效管理和协作。
Amazon Content Drive 是一个建立在 Amazon S3 之上的元数据抽象层,支持快速文件操作、动态访问控制、数据传输促进以及全面的审计功能,实现高效的数据管理。
在 Content Drive 中,CNode 在其生命周期中经历了创建、可用性、校验和验证、软删除、恢复、归档和清除等各种状态。
Content Drive 的引用计数系统通过将元数据与存储在 S3 中的数据分离,实现了高效的生命周期管理,支持资产级别的重复数据删除和智能生命周期操作处理。
Amazon S3 的存储生命周期管理器采用了分布式、异步架构,利用 Kafka 分区,高效地管理 S3 对象的生命周期操作。
演讲者强调了 Amazon 在优化元数据存储和管理方面所做的努力,旨在在工作室制作生命周期中实现显著的成本节约。
在不断演进的媒体制作和存储领域中,Netflix开创了一种称为Content Drive的革命性解决方案,这是一个建立在Amazon S3之上的云原生平台。这种创新系统充当元数据抽象层,为艺术家和工作流程提供无缝文件夹界面,轻松管理数十亿媒体文件。
Content Drive旨在简化整个内容生命周期,为用户提供动态访问控制、协作功能和快速文件操作,同时确保数据完整性和可扩展性。它的分层结构包括工作空间、文件夹、文件以及诸如序列和快照等专用节点,提供了类似于本地文件系统的熟悉和直观体验。
然而,内容的指数级增长和相关存储成本对Netflix构成了重大挑战。为了解决这一问题,他们开发了一种全面的数据生命周期管理解决方案,利用Content Drive的功能和Amazon S3的存储层。通过分析访问模式并实施基于策略的自动化,Netflix可以将数据智能迁移到成本效益更高的存储层(如Amazon S3 Glacier),同时保持适当的性能和可访问性。
展望未来,Netflix旨在将其生命周期管理能力扩展到混合存储环境,实施智能标记系统,并探索元数据分层,进一步优化成本并确保前所未有规模的高效数据管理。凭借Content Drive和其数据生命周期管理解决方案,Netflix将继续重新定义媒体制作和存储的边界,为行业树立创新和效率的新标准。
亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。做为全球生成式AI前行者,亚马逊云科技正在携手广泛的客户和合作伙伴,缔造可见的商业价值 – 汇集全球40余款大模型,亚马逊云科技为10万家全球企业提供AI及机器学习服务,守护3/4中国企业出海。
发布于:韩国