Sling TV是DISH Network旗下的美国顶级互联网电视服务,于2015年2月9日正式推出,现已拥有约400万付费用户。Sling TV是一个虚拟多渠道视频节目分销商,为用户提供订阅视频点播服务。各个有线频道上的视频内容,可以由Sling TV推流到各类智能设备(如智能电视、手机、平板电脑、电脑等)上,通过数字媒体播放器和应用程序供用户观看。


媒体服务巨头Sling TV构建生产级K8S集群,服务400万付费用户_第1张图片


挑   战


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监控实用程序和虚拟网络覆盖。”


媒体服务巨头Sling TV构建生产级K8S集群,服务400万付费用户_第2张图片


Linder还分享说,Sling TV在分布式微服务的日志以及解决容器网络的复杂性方面都曾遇到了一些令人头疼的问题,而Rancher集成好的日志功能以及网络方案为他们提供了很大帮助。同时,Rancher的新版本产品Rancher 2.0进一步增加的一些功能非常有助于容器管理,例如与CI/CD 工具Jenkins的全新集成,使CI /CD管道和Kubernetes之间的连接更为平滑。


媒体服务巨头Sling TV构建生产级K8S集群,服务400万付费用户_第3张图片


“为了满足业务的需求,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节省了两到三个数量级的时间和成本,使我们有机会让我们才华横溢的运维工程师组成的核心团队得以管理共同的基础架构和工具,从而在网络规模上提供我们的应用程序。”