由 Austin Gundry、Travis Chun、Zian Hu 供稿
介绍在 Netflix,我们的核心使命之一是在客户所在的地方提供娱乐。这意味着创建直观的注册流程,使客户能在他们喜欢的设备上轻松注册,或将 Netflix 订阅与他们已经熟悉和信任的服务捆绑在一起。为了做到这一点,我们大量投资于合作伙伴关系,以激励和补偿合作伙伴,使这些互动点尽可能可靠。
这些激励协议可以有多种形式,但两种常见的模式是合作伙伴集成Netflix SDK以帮助在其设备上增加注册用户,或将Netflix订阅与他们的产品或服务捆绑销售。作为回报,Netflix会向这些合作伙伴提供补偿,这样Netflix和合作伙伴都能从中获益,同时扩大会员群体。
随着我们流媒体业务的迅速增长,我们面临着几个分散的系统来管理这些合作伙伴协议及其下游财务交易。为了未来重新调整方向,我们最近建立了一个新工具来存储合同内容,自动化所有相关财务交易的过程,并加入新的创新元素,使我们能够保持卓越的运营状态。最为重要的是,这些合同现在被集中在一个位置管理,大大简化了合同维护过程。我们很高兴向大家分享这个项目,作为我们如何利用软件促进我们的业务并让我们的利益相关者感到满意的一个例子。
动机合作伙伴合同涵盖了广泛的伙伴关系,这些关系可以包含各种各样的条款和条件,规定合作伙伴的报酬方式。这种多样性值得支持,因为合作伙伴带来的订阅是我们会员基础的重要组成部分。这部分收入带来的是严格的安全指南要求、政府审计要求,以及确保与我们合作伙伴的交易既完整又准确。
我们每个月都需要关闭财务账目,我们力求在3到5天内完成,相比之下,大多数同规模的公司需要7到10天。为了做到这一点,我们有一个出色的收入会计团队成员,但他们需要一些工具来发挥他们的最佳效能。这篇博客文章详细介绍了我们是如何打造新的协议工具的。
需求:Netflix 每天为数百万订阅者生成财务事件。所有这些事件都需要处理,以确定对合作伙伴的补偿承诺。此外,我们的系统处于新成员注册流程中,因此必须不惜一切代价避免停机。由此产生的财务影响非常重大,因此审计、监控、版本控制和安全性对于该工具的成功至关重要。最后,从用户体验的角度来看,对这些约定的更改需要直观且易于操作,因为配置错误可能会带来严重的财务后果。
下面是一个信息流程的高层次示意图:
数据模型从我们的数据模型说起,这些合同以前分布在五个独立的子系统中,因此我们第一步是确定一个具有可扩展性的数据模型。为此,我们列出了五个主要组件:
元数据:高级元数据,如ID、到期日期或链接到原始PDF合同的链接。
责任:指明我们需赔偿的那种产品种类
资格标准:用于确定哪些财务活动适用于特定期间
量化机制术语:用于计算合作伙伴补偿的术语,适用于符合条件的金融活动
处理器:定义任何额外的聚合处理步骤
下面是一个可能的示例协议:
数据存储我们对这种数据模型充满信心,它能够适应未来合作伙伴关系的发展。因此,我们转向确定一个满足我们功能需求的存储解决方案。因为它们的灵活性,文档存储系统看起来是最自然的选择,但合同中的子条款频繁重复,我们的数据更具有了关系化的特性。关系型数据库的ACID一致性特性也确保了要么全部成功要么全部失败的保证,解决了之前由于多个合同子系统中的编辑可能出现不同步的痛点。最后,这些合同只有在合作伙伴协议重新谈判时才会被更新,因此系统的写入量预计相对于读取量会非常低。最终,CockroachDB成为了Netflix已经选择好的路径上的关系型数据库技术。我们的前端团队或下游客户可以使用gRPC或GraphQL接口来获取这些信息。
合同版本管理和审批是在数据库模式层实现的功能,但我们还能够利用内部变更数据捕获解决方案来增强对编辑操作的观察。最后,对于与注册优惠码相关的某些协议,我们需要额外的冗余,因为客户注册路径在Netflix中至关重要。为了这个目的,我们定期将这些协议备份到S3存储桶中。即使我们的整个数据库集群失效,应用程序仍然可以启动并处理这些特定的促销请求。
迁移与启动将这些协议付诸实施,我们构建了一个事件处理架构,该架构监听Kafka上的金融事件,并根据我们的新合同数据来计算合作伙伴补偿的影响。当合同更新时,我们的系统可以重放最近期间的所有相关金融事件,从而自动纠正任何差异。我们还构建了迁移工具,用于汇总每个遗留系统中的合同详情,然后将这些详情转换为新工具所需的现代定义。随后,我们还在计算管道中设置了影子写入,以便审计三个月财务数据的比较,以确保没有倒退。在我们内部审计团队进行全面审查并批准之后,我们准备启动。
展望未来吧现在系统已经投入生产,我们可以开始探索令人兴奋的合同启用功能。我们的设计和前端团队打造了出色的用户体验,我们希望添加一些新功能,例如,追溯性地更新合同变更或预估变更影响的工具,来预估合同变更的影响。
这一创新离不开我们会计、税务、法律和业务发展团队的大量时间和努力。如果你对这种工作感兴趣,可以考虑加入收入基础设施团队,这还只是冰山一角。我们对未来的机会感到兴奋,敬请关注!我们的团队很快会发布更多关于如何维护奈飞财务数据的博客文章,敬请期待!
感谢特别感谢以下同事为该项目的成功做出的贡献,他们是:Abbey Wang, Christine Kyauk, Eric Snell, Jessee Johnson, Jéssica Joaquim, Eugene Chiriliuc, Kalina Panayotova, Kamran Kotobi, Mario Camacho, Natali Itzler, Nicholas Pedroso, Sripaul Chidambaram Asokan
共同学习,写下你的评论
评论加载中...
作者其他优质文章