公司 Sling TV 地点 科罗拉多州恩格尔伍德 行业 流媒体电视

挑战

Sling TV 于 2015 年由 DISH Network 推出,自成立以来便经历了巨大的客户增长。仅仅一年后,“我们正在经历一些传统系统带来的增长阵痛,并试图找到合适的架构来支持我们的未来,”Sling TV 的云原生和大数据布道师 Brad Linder 说。该公司面临着特殊的挑战:“我们将直播电视通过互联网分发到我们无法控制的用户设备上,”Linder 说。“在很多方面,我们都在‘蛮荒西部’工作:互联网就是它本来的样子,如果客户的服务因任何原因无法工作,他们不在乎原因。他们只是希望一切都能正常运行。这些是我们需要尝试解决的等式中的变量。我们确实需要努力实现选择性和良好的网络规模客户体验。”

解决方案

秉持着“云原生架构和模式确实为我们提供了很大的灵活性,可以满足这类客户群的需求”的信念,Linder 与 Rancher Labs 合作,围绕 Kubernetes 构建 Sling TV 的下一代平台。他说:“我们将在某个时候需要启用混合云策略,包括多个公共云和本地 VMware 多数据中心环境,以满足业务需求,因此获得这种抽象是一个真正的目标。”“这是我们选择 Kubernetes 的最大原因之一。”团队在 Sling TV 的两个内部数据中心推出了首批 Kubernetes 应用程序。启用 AWS 作为数据中心选项的工作正在进行中,预计将于 2018 年底完成。团队增加了 Prometheus 用于监控,Jaeger 用于追踪,与公司现有的工具集 Zenoss、New Relic 和 ELK 协同工作。

影响

Linder 说:“我们正在达到可以一键部署整个数据中心的水平——计算、网络、Kubernetes、日志、监控和所有应用程序。”“我们真正实现了基于平台思维的方法,允许应用程序使用通用工具。使用通用工具和 CI/CD 流程,一个新的应用程序可以在大约一个小时内上线。这方面的收益是巨大的。以前,一个新应用程序部署至少需要几天才能搞定。这还不包括培训我们的运营人员来管理这个新应用程序。它在时间和成本上节省了两到三个数量级,并且在运营上,它使我们有机会让一个由才华横溢的运营工程师组成的核心团队来管理通用基础设施和工具,以使我们的应用程序在网络规模上可用。”

流媒体电视(例如 Sling TV 提供的服务)的魅力在于,您可以随时随地通过任何设备观看。

当然,从提供商的角度来看,这带来了一系列特殊的挑战。“我们将直播电视通过互联网分发到我们无法控制的用户设备上,”Sling TV 的云原生和大数据布道师 Brad Linder 说。“在很多方面,我们都在‘蛮荒西部’工作:互联网就是它本来的样子,如果客户的服务因任何原因无法工作,他们不在乎原因。他们只是希望一切都能正常运行。这些是我们需要尝试解决的等式中的变量。我们确实需要努力实现选择性,而且我们必须在网络规模上做到这一点。”

事实上,Sling TV 自 2015 年由 DISH Network 推出以来,便经历了巨大的客户增长。仅仅一年后,“我们正在经历一些传统系统带来的增长阵痛,并试图找到合适的架构来支持我们的未来,”Linder 说。Linder 的任务是为“个性化客户体验”构建下一代网络规模平台,他过去一年一直致力于将 Kubernetes 引入 Sling TV。

秉持着“云原生架构和模式确实为我们提供了很大的灵活性,可以满足客户需求”的信念,Linder 与 Rancher Labs 合作,围绕 Kubernetes 构建平台。他说:“他们确实帮助我们理解了如何使用 Kubernetes。”“我们需要灵活性来支持我们的用例,而不仅仅是一个简单的编排器。以一种不会导致供应商锁定的方式支持我们的未来也是我们战略的关键部分。我认为这是 Rancher 价值主张的一部分。”

他选择 Kubernetes 的一个重要原因是,它提供了一种抽象级别,使公司能够“启用混合云战略,包括多个公共云和本地 VMware 多数据中心环境,以满足业务需求,”他说。另一个因素是 Kubernetes 生态系统在过去几年中已经非常成熟。“我们投入了大量时间和精力,使日志、监控和警报达到生产就绪状态,从而为我们提供应用程序健康状况的洞察,”Linder 说。团队增加了 Prometheus 用于监控,Jaeger 用于追踪,与公司现有的工具集 Zenoss、New Relic 和 ELK 协同工作。

Linder 说,在强调通用工具的情况下,“我们正在达到可以一键部署整个数据中心的水平——计算、网络、Kubernetes、日志、监控和所有应用程序。”“我们真正实现了基于平台思维的方法,允许应用程序使用通用工具和服务。使用通用工具和 CI/CD 流程,一个新的应用程序可以在大约一个小时内上线。这方面的收益是巨大的。以前,一个新应用程序部署至少需要几天才能搞定。这还不包括培训我们的运营人员来管理这个新应用程序。它在时间和成本上节省了两个或三个数量级,并且在运营上,它使我们有机会让一个由才华横溢的运营工程师组成的核心团队来管理通用基础设施和工具,以使我们的应用程序在网络规模上可用。”

该团队于 2018 年第一季度初在 Sling TV 的两个内部数据中心推出了首批 Kubernetes 应用程序,并开始将 AWS 作为数据中心选项。该公司计划未来扩展到其他公共云。

第一个投入生产的应用程序是基于 Web Socket 的后端通知服务。Linder 说:“它允许后端更改触发消息到现场客户端,而无需轮询。”“我们正在谈论这个应用程序的巨大消息量。如果没有像 Kubernetes 这样的工具能够进行伸缩,并支持整体工作负载,那是很难做到的。我甚至敢说,我们现在构建的大多数应用程序,如果没有云原生模式和 Kubernetes 带来的灵活性,是不可能实现的。”

Linder 负责监督三个团队,共同构建下一代平台:一个平台工程团队;一个企业中间件服务团队;以及一个大数据和分析团队。Linder 说:“我们真正努力将所有内容整合在一起,使客户端应用程序能够与云原生中间件层进行交互。该中间件层必须在平台上运行,使用平台服务,然后由人工智能代理监控日志和事件,以确保一切顺利运行。”

他补充说,归根结底,这项任务旨在“将 Kubernetes 与人工智能结合,以实现简单可用的网络规模”。“我们希望人工智能代理和大数据平台利用应用程序、Kubernetes、基础设施、后端服务和环境变化中产生的实际日志和事件来做出决策,例如‘嘿,这个服务需要更多容量,请添加更多节点。’ 从平台角度来看,如果你真正在做网络规模的事情,但没有使用人工智能和大数据,在我看来,你最终会自毁。这不是一个‘是否’的问题,而是一个‘何时’的问题。如果你身处一个拥有‘数百万用户’的环境,那么这种自毁将是灾难性的。我们正在朝着这个目标前进,并在此过程中学到了很多。”

对于 Sling TV 来说,转向云原生正是他们所需要的。Linder 说:“我们必须能够对矩阵中的变化和故障做出反应。”“这是我们为客户提供高质量服务能力的基础。在现场构建智能平台、工具和客户端来使用这些服务,必须是这一切的一部分。在我看来,这就是云原生的重要组成部分。它正在将这些分布式、可能不可靠的实体转化为他们所期望的强大客户体验。”