Sling TV 是 DISH Network 旗下的美国顶级互联网电视服务,于 2015 年 2 月 9 日正式推出,现已拥有约 400 万付费用户。Sling TV 是一个虚拟多渠道视频节目分销商,为用户提供订阅视频点播服务。各个有线频道上的视频内容,可以由 Sling TV 推流到各类智能设备(如智能电视、手机、平板电脑、电脑等)上,通过数字媒体播放器和应用程序供用户观看。
挑战
Sling TV 于 2015 年推出后立刻广受欢迎,迎来了巨大的客户增长。推出仅一年之后,Sling TV 的 IT 团队就感受到“遗留系统给我们带来了与日俱增的痛苦,因此我们迫切需要一个更合适的系统架构为 Sling TV 的未来发展赋能,” Sling TV 的云原生与大数据布道者 Brad Linder 如是说。
Sling TV 面临着特殊的挑战:“我们的电视节目采用直播的形式,通过互联网将节目分发给观众,而观众使用的设备不受我们的控制,”Linder 表示,“从很多方面来说,我们就仿佛在狂野的西部工作一样:互联网就是如此,一旦服务出现任何问题,客户丝毫不会在乎这是什么原因导致的,因为他们只希望一切正常,出现故障就会让他们不满。我们必须确保最大程度的稳定性,尽量排除一切可能导致故障的不定因素。我们必须尝试在网络规模上实现可选性并提供良好的客户体验。”
解决方案
Sling TV 认为云原生架构和模式为他们提供了满足这类客户群需求的灵活性,秉持这一信念,Sling TV 与 Rancher Labs 合作,围绕 Kubernetes 构建了 Sling TV 的下一代平台。
使用 Rancher 2.0 可以大大提高我们的效率,让我们的工程师团队能有更多时间专注于下一个伟大的创新,以帮助 Sling TV 建立其领导地位。
——Brad Linder,Sling TV 云原生与大数据布道者
2017 年底,Sling TV 上线了他们的首个生产环境中的 Kubernetes 集群——用于 Sling TV 向超过 200 万用户进行新推送的通知,由 Rancher 支持整个堆栈。
“Rancher Kubernetes 平台帮助我们加快了容器落地的速度,”Linder 说,“ Rancher 使得 Kubernetes 的设置更容易 ,上游 Kubernetes 安装需要无数的 YAML 文件,而 Rancher 让我们的管理员无需再被复杂的 YAML 文件难倒,可以快速轻松设置与启动 Kubernetes 集群。Rancher 还帮助 Sling TV 团队更轻松快速地使用其他容器工具,例如开源 Prometheus 监控实用程序和虚拟网络覆盖。”
Linder 还分享说,Sling TV 在分布式微服务的日志以及解决容器网络的复杂性方面都曾遇到了一些令人头疼的问题,而 Rancher 集成好的日志功能以及网络方案为他们提供了很大帮助 。同时,Rancher 的新版本产品 Rancher 2.0 进一步增加的一些功能非常有助于容器管理,例如与 CI/CD 工具 Jenkins 的全新集成,使 CI /CD 管道和 Kubernetes 之间的连接更为平滑。
“为了满足业务的需求,Sling TV 启用了混合云战略, 包括多个公共云和一个内部部署的 VMWare 多数据中心环境 ,”Linder 表示,“这也是我们选择 Kubernetes 的最大原因之一。”该团队在 Sling TV 的两个内部数据中心推出了首个 Kubernetes 应用程序。同时,以 AWS 作为数据中心的工作正在进行中,计划在 2018 年底正式推出。团队现在使用 Prometheus 用于监控,使用 Jaeger 用于追踪,Prometheus 与 Jaeger 会与公司现有的工具集协同工作,包括 Zenoss、New Relic 和 ELK。
结语
“一键部署整个数据中心对我们而言越来越成为可能——计算、网络、Kubernetes、日志、监控和所有应用程序,”Linder 说。
“Sling TV 现在完全启用了平台思维,通过使用通用工具和 CI / CD 流程,我们只需不到一小时即可启动新应用程序。这一收益是巨大的,毕竟以前,仅仅是将部署新应用程序所需的东西归整好,这一工作都需要花掉至少几天时间,这还未将培训运维人员来管理该程序的时间算在内。 Rancher 与 Kubernetes 为 Sling TV 节省了两到三个数量级的时间和成本 ,使我们有机会让我们才华横溢的运维工程师组成的核心团队得以管理共同的基础架构和工具,从而在网络规模上提供我们的应用程序。”
评论