- 获取新的数据库从5天变成了5秒
- 95%的部署是在白天完成的,没有任何影响
- 25人小组支援700位开发者
行业:电信
地点:美国
云类型:混合
挑战:可用性、效率、伸缩性和速度
产品类型:托管
使用的CNCF项目包括:Kubernetes
挑战
美国第三大无线运营商T-Mobile发现自己不够敏捷,无法跟上业务目标:2015年,新代码投产花了7个月时间。第二年,公司采用了Pivotal Cloud Foundry。虽然迁移最关键的应用程序产生了很大的效果 — 生产时间缩短到不到一天 - 但并不是所有的应用程序,特别是Docker容器中的应用程序,都能在PaaS上顺利运行。技术人员James Webb说:“我们需要一个容器编排器,它不仅满足应用程序团队的价值需求,还满足我们管理它的能力需求。”主要需求:各个级别的高可用性、持久存储以及无缝修补和升级基础设施而不影响客户的能力。
解决方案
该团队花了6个月的时间与一家外部公司合作,为T-Mobile构建了一个完全开源的Kubernetes平台,但当Pivotal推出PKS时,他们决定转换方向,目标是为2018年第三季度末开始的零售旺季做好准备。在去年9月新款iPhone发布期间,Kubernetes上运行着少量的生产流量。平台架构总监Brendan Aye表示,今年9月,“我们将有很大一部分应用程序在Kubernetes上运行,尤其是在iPhone的销售渠道上。”
影响
T-Mobile对Kubernetes的采用仍处于早期阶段,但“团队将从5到6天的等待时间,变为5到6秒的复制yaml并粘贴它并部署某些东西,或者单击按钮并立即获得这些东西,”Aye说。在整个企业中启用它将对交付速度产生很大的影响。“由于他们能够更加接近自己的团队来控制这些服务,他们将能够更有能力利用我们提供的所有不同硬件区域以主动方式运行应用程序,无论是在我们的两个数据中心之一作内部部署,或者是多个云提供商上。”Aye说。
2015年,T-Mobile花了7个月时间才将新代码投入生产。这当然不是美国第三大无线运营商实现其商业目标所需要的交付速度,所以第二年,这家公司采用了Pivotal的平台即服务产品 - Pivotal Cloud Foundry。
“它为我们解决了很多问题,”平台架构主管Brendan Aye说:“因为我们可以有非常一致的体验,从开发到测试再到生产。”
Aye和技术人员James Webb花费了2017年的大部分时间,将T-Mobile最关键的应用程序分解为微服务,并将其迁移到Cloud Foundry。这次迁移产生了巨大的成果:7个月的生产时间缩短到不到一天。到今年年底,每天有2.5亿个呼叫通过Cloud Foundry进行,主要是通过无状态中间件层的自研应用程序进行的。
但是,并不是所有的应用程序,特别是供应商交付的、以Docker容器装载到T-Mobile的应用程序,在更新期间都能在PaaS上顺利运行。“因此,我们开始考虑我们必须采取什么样的选择来运行更多的临时容器。”Webb说:“我们需要一个容器编排器,它不仅满足应用程序团队所提供的价值方面的特定需求,而且还满足我们管理它的能力。”主要需求是:各个级别的高可用性、持久存储以及无缝修补和升级基础设施而不影响客户的能力。
“Kubernetes满足了很多这样的需求,”Webb说,那时候,“它已经成为主导力量。”Aye和Webb的团队花了6个月的时间与一家外部公司合作,为T-Mobile构建了一个完全开源的Kubernetes平台,但当Pivotal推出PKS时,他们决定转换方向。“我们以一种非常特殊的方式部署云计算,如果我们可以用Kubernetes做同样的事情,这将在我们如何操作、我们构建的自动化和我们所做的监控方面给我们带来很多效率,”Aye说:“这是三赢。”他们的目标是为2018年第三季度末开始的零售旺季做好准备。在去年9月新款iPhone发布期间,Kubernetes上运行着少量的生产流量。Webb说:“我们希望在2019年推出更多的应用程序。”Aye说,今年9月,“我们将有很大一部分应用程序在Kubernetes上运行,尤其是在iPhone的销售渠道上。”
事实上,转移到容器和云原生的任务来自T-Mobile的高层,Webb说:“我们正在使用Kubernetes为企业带来更多的容器好处。”在未来的几个月里,该团队预计各种关键任务应用程序将被迁移到Kubernetes平台,包括像流动销售点这样的零售商店应用程序,让T-Mobile商店的销售助理能够在他们的iPad上记录你的购买。但还有许多其他类型的应用程序最终在平台上提供,所以“我们试图建立一个系统,我们可以优化,使它适合所有通用的,然后我们开始越来越个别的用例,可以帮助我们关注的过程中出现的问题。”Webb说。
随着Kubernetes带来的承诺,人们排起了长队上线。但是有一个学习曲线,Webb和Aye的团队是从平台工程师发展到客户成功工程师,策略是“建筑内部对如何使用Kubernetes卓越中心,如何作云原生开发,然后确保这些人与公司的其他人分享这些知识,”Webb说。这意味着要与Pivotal合作开发一些内部培训,但其理念是,并非每个人都需要成为Kubernetes的专家。“你的价值来自于为应用程序交付特性,而不是学习Kubernetes和部署容器。”Aye说:“如果你不需要管理这些事情,你就不应该去尝试。”
“我们正在使用Kubernetes为企业带来更多容器的好处。” - James Webb,T-Mobile技术人员
T-Mobile对Kubernetes的采用还处于早期阶段,但是“我们已经看到了运行管理容器的大型平台的影响,并从我们的开发过程中消除了低效,”Webb说:“我们预计Kubernetes也会有同样的影响;这只是时间问题。”
迁移到容器和Cloud Foundry已经将生产部署的时间从7个月减少到同一天,现在95%的部署是在白天完成的,没有任何影响。对于Kubernetes, Aye有更多的期望。“我们将看到,不仅能够提供内部开发的服务,还能提供其他服务,以更快地支持业务。”他表示:“我们不说我们是一个团队,现在给你一个数据库,而是:我们是一个团队,提供一个操作器,让你给自己一个数据库。所以这些团队将从5到6天的等待时间,到5到6秒的复制yaml、粘贴和部署,或者单击按钮并立即得到它。”
在整个企业中启用它将对交付速度产生很大的影响。“由于他们能够更加接近自己的团队来控制这些服务,他们将能够更有能力利用我们提供的所有不同硬件区域以主动方式运行应用程序,无论是在我们的两个数据中心之一作内部部署,或者是多个云提供商上。”Aye说。
“我们很难找到那些拥有Kubernetes或Cloud Foundry 经验的非在职人士。所以,我们尽可能地让组织里其他愿意学习的人提供培训。” - Brendan Aye,T-Mobile平台架构总监
与此同时,T-Mobile的文化受到了积极的影响。在这个项目开始的时候,Webb和Aye是独立的,在2017年的迁移过程中只增加了几个人。从那时起,他们已经为平台工程团队增加了20多人。“我们很难找到那些拥有Kubernetes或云计算经验的非在职人士。”Aye表示:“所以,我们尽可能地让组织其他部门中愿意学习的人提供培训。即使他们时间花在Unix操作团队,或者是Puppet构建团队,我们还是将他们引入了我们的团队。我们发现,这些人都是真正热情的问题解决者,渴望学习,并对客户有着执着的关注。”
Webb补充道:“我们拥有这种灵活性,这证明了公司认为这些产品对他们未来的成功有多么重要。”
同样重要的是,容器化和Kubernetes带来的变化已经体现在公司内部的思维方式上。“如果出了什么问题,你知道你可以部署一个新版本,如果它崩溃得很厉害,你可以在几分钟或几秒钟内回到旧版本,”Aye说。“所以你可以因此承担更多的风险,尝试新事物。从领导层到个人贡献者,我们看到他们更愿意承担这种风险。”