Sling TV是美国顶级的互联网电视服务商,本文分享了Sling TV如何构建生产级Kubernetes集群,让一键部署整个数据中心成为可能。网络
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云原生与大数据布道者3d
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节省了两到三个数量级的时间和成本,使咱们有机会让咱们才华横溢的运维工程师组成的核心团队得以管理共同的基础架构和工具,从而在网络规模上提供咱们的应用程序。”