CASE STUDY: Spotify
Spotify:容器的早期采用者,Spotify正在从本地编排迁移到捕鱼大亨网络版

Company  Spotify     Location  全球的      Industry  娱乐

挑战

音频流平台于2008年启动,现已增长到每月超过2亿活跃用户。 “我们的目标是增强创作者的能力,并为我们今天拥有的所有消费者以及未来希望拥有的消费者提供真正身临其境的聆听体验,”工程,基础架构和运营总监Jai Chakrabarti说。 Spotify是微服务和Docker的较早采用者,它使用名为“容器编排”的本地容器编排系统在其VM机群中运行容器化微服务。 太阳神。他说,到2017年末,很明显,“拥有一支由小型团队来开发功能的软件,其效率不如采用更大社区所支持的功能。”

解决方案

Chakrabarti说:“我们看到了捕鱼大亨网络版周围一个惊人的社区,我们希望成为其中的一部分。” 捕鱼大亨网络版比Helios具有更多功能。另外,“我们希望从提高速度和降低成本中受益,并且还希望与业界其他部门在最佳实践和工具上保持一致。”同时,该团队希望在蓬勃发展的捕鱼大亨网络版社区中贡献自己的专业知识和影响力。 Chakrabarti说,迁移将与Helios运行同时进行,因此可以顺利进行,因为“ 捕鱼大亨网络版非常适合作为Helios的补充和替代品。”

影响

该团队在2018年的大部分时间里解决了迁移所需要的核心技术问题,该工作于当年晚些时候开始,并且是2019年的重点。“我们的机队中有一小部分已迁移到捕鱼大亨网络版,而我们我们内部团队的消息是,他们不再需要专注于手动容量配置,而有更多时间专注于为Spotify提供功能,” Chakrabarti说。站点可靠性工程师James Wen说,当前在捕鱼大亨网络版上运行的最大服务每秒可接收约1000万个请求,这是一项聚合服务,并从自动扩展中受益匪浅。另外,他补充说:“在此之前,团队必须等待一个小时才能创建新服务,并获得可运行的主机才能在生产环境中运行它,但是使用捕鱼大亨网络版,他们可以在几秒钟和几分钟的时间内完成。”此外,借助捕鱼大亨网络版的bin-packing和多租户功能,CPU利用率平均提高了2到3倍。
“我们看到了一个在捕鱼大亨网络版周围成长的令人惊叹的社区,我们希望成为其中的一部分。我们希望从提高的速度和降低的成本中受益,并希望与业界其他成员在最佳实践和工具上保持一致。”

-Spotify工程,基础架构和运营总监Jai Chakrabarti

Spotify工程,基础架构和运营总监Jai Chakrabarti表示:“我们的目标是增强创作者的能力,并为当今的所有消费者以及未来的消费者提供真正的身临其境的聆听体验。 。自2008年推出音频流平台以来,该平台已在全球每月活跃用户超过2亿,对于Chakrabarti的团队来说,目标是巩固Spotify的基础架构,以支持所有这些未来的消费者。



自从2014年以来,Spotify便是微服务和Docker的早期采用者,其容器化微服务已在其VM团队中运行。该公司使用了开源的本地容器编排系统Helios,并于2016-17年度完成了从内部数据中心到Google的迁移云。 Chakrabarti说:“支持这些决定的基础是:“我们拥有围绕自主团队的文化,有200多个自主工程团队正在研究不同的领域,他们需要能够快速迭代。” “因此,让我们拥有允许小队快速移动的开发人员速度工具非常重要。”

但是到了2017年底,很明显,“有一个小型团队 太阳神 Chakrabarti说:“功能并没有采用更大的社区支持的方法有效。我们看到了在捕鱼大亨网络版周围成长的令人惊叹的社区,我们希望成为其中的一员。我们希望从增加的速度和降低的成本中受益,并且还与行业中的其他最佳实践和工具保持一致。”同时,该团队希望在蓬勃发展的捕鱼大亨网络版社区中贡献自己的专业知识和影响力。
“社区为使我们更快,更轻松地使用所有技术提供了极大帮助。它帮助我们验证了我们所做的所有事情。”

-Spotify基础架构和运营软件工程师Dave Zolotusky
Chakrabarti说:另一个优点是:“ 捕鱼大亨网络版非常适合作为Helios的补充,现在可以替代Helios,因此我们可以与Helios一起运行以减轻风险。” “在迁移过程中,服务同时运行在这两者上,因此,我们不必在所有负载和压力条件下都可以验证捕鱼大亨网络版的情况下,将所有精力都放在一个篮子里。”

团队在2018年的大部分时间里解决了迁移所需的核心技术问题。站点可靠性工程师James Wen说:“我们能够使用捕鱼大亨网络版的许多捕鱼大亨网络版 API和可扩展性功能来支持我们的旧基础架构并与之交互,因此集成非常简单。”

迁移开始于当年下半年,并在2019年加速。“我们的重点实际上是无状态服务,一旦我们解决了剩下的最后一个技术障碍,那就是我们希望增长的地方,” Chakrabarti说。 “对于有状态服务,我们需要做更多的工作。”

到目前为止,包含150多种服务的Spotify机队中只有一小部分已迁移到捕鱼大亨网络版。 Chakrabarti说:“我们从客户那里听说,他们不再需要专注于手动容量配置,而有更多时间专注于为Spotify提供功能。” Wen说,目前在捕鱼大亨网络版上运行的最大服务每秒可接收超过1000万个请求,这是一项聚合服务,并且可以从自动扩展中受益匪浅。另外,Wen补充说:“在此之前,团队必须等待一个小时才能创建新服务,并获得可运行的主机才能在生产环境中运行它,但是使用捕鱼大亨网络版,他们可以在几秒钟和几分钟的时间内完成。”此外,借助捕鱼大亨网络版的bin-packing和多租户功能,CPU利用率平均提高了2到3倍。
“我们能够使用许多捕鱼大亨网络版 API和可扩展性功能来支持我们的传统基础架构并与之交互,因此集成既简单又容易。”

-Spotify网站可靠性工程师James Wen
Chakrabarti指出,对于Spotify研究的所有四个顶级指标(交付时间,部署频率,解决时间和运营负载),“ 捕鱼大亨网络版都具有影响力”。

捕鱼大亨网络版早期的一个成功故事是一个名为Slingshot的工具,该工具是一个基于捕鱼大亨网络版的Spotify团队。 Chakrabarti说:“通过请求请求,它会创建一个临时的登台环境,该环境会在24小时后自我破坏。” “所有这些都得到了捕鱼大亨网络版的推动,因此,这是一个令人兴奋的例子,说明一旦技术问世并准备好使用,人们便开始在此技术的基础上构建自己的解决方案,甚至超出了我们可能设想的范围。它的最初目的。”

Spotify也已经开始使用 gRPC使者,就像捕鱼大亨网络版一样,替换现有的本地解决方案。基础架构和运营软件工程师Dave Zolotusky说:“我们之所以能够创造东西,是因为我们当时的规模,而且没有其他解决方案。 “但是后来社区赶上了我们,甚至超越了我们,即使是在如此规模的工具上也是如此。”
“与我们想要的任何人保持联系,获得与我们合作的任何事物的专业知识都非常容易。这帮助我们验证了我们所做的所有事情。”

-Spotify网站可靠性工程师James Wen
这两种技术都处于早期采用阶段,但是“我们已经有理由相信,通过解决诸如架构管理,API设计,怪异的向后兼容性问题之类的许多问题,gRPC将在早期开发期间产生更大的影响。那样。”佐洛图斯基说。 “因此,我们非常依赖gRPC在该领域提供帮助。”

随着团队继续填写Spotify的云原生堆栈(下一步是跟踪),它使用CNCF格局作为有用的指南。佐洛图斯基说:“我们着眼于需要解决的问题,如果有很多项目,我们将对它们进行同等评估,但是作为CNCF项目,该项目绝对有价值。”

到目前为止,Spotify在捕鱼大亨网络版方面的经验证明了这一点。 Zolotusky说:“社区为使我们更快,更轻松地使用所有技术提供了极大的帮助。” “与我们想要的任何人保持联系,获得与我们合作的任何事物的专业知识都非常容易。这帮助我们验证了我们所做的所有事情。”