挑战
作为一家服务全球 7500 万学习者的教育公司,Pearson 设定了到 2025 年将这一数字翻倍至 2 亿的目标。这一增长的关键部分在于数字学习体验,而 Pearson 在扩展和适应不断增长的在线受众方面遇到了困难。他们需要一个能够快速扩展并将产品更快地推向市场的底层基础架构平台。
解决方案
Pearson 云平台和 SRE 总监 Chris Jackson 表示:“为了改造我们的基础架构,我们必须超越简单地启用自动化资源调配的思维。”“我们意识到必须构建一个平台,让 Pearson 的开发人员能够以完全不同的方式构建、管理和部署应用程序。”团队选择了 Docker 容器技术和 Kubernetes 编排,“因为它具有灵活性、易于管理以及能够提高我们工程师工作效率的方式。”
影响
通过该平台,生产力和交付速度都得到了大幅提升。云平台团队的首席站点可靠性工程师 John Shirley 说:“在某些情况下,我们从数据中心物理资产的九个月调配时间缩短到仅需几分钟即可调配并在客户面前展示新想法。” Jackson 估计他们已将开发人员的工作效率提高了 15-20%。以前,在一年中最繁忙的返校期间,停机是他们面临的问题。现在,他们对满足严格的客户 SLA 有着高度信心。
2015 年,作为全球最大的教育公司,Pearson 已经服务了 7500 万学习者,为学前至大学及更高阶段提供课程和评估工具。公司认识到,创新数字教育体验是所有教育形式未来的关键,因此着手到 2025 年将服务范围扩大到 2 亿人。
这一目标需要改造其现有的位于数据中心的基础设施。在某些情况下,物理资产的调配需要九个月。为了适应不断增长的在线受众的需求,Pearson 需要一个能够快速扩展并将业务关键型产品更快地推向市场的底层基础架构平台。Pearson 云平台与 SRE 总监 Chris Jackson 表示:“我们必须超越简单地启用自动化资源调配的思维。”“我们意识到必须构建一个平台,让 Pearson 的开发人员能够以完全不同的方式构建、管理和部署应用程序。”
Pearson 拥有 400 个开发团队和多样化的品牌,它们具有不同的业务和技术需求,因此 Pearson 采用了 Docker 容器技术,以便每个品牌都可以使用他们偏好的技术试验构建新类型的内容,然后使用容器交付。Jackson 说,他之所以选择 Kubernetes 编排,是“因为它具有灵活性、易于管理以及能够提高我们工程师工作效率的方式”。
团队在 Kubernetes 仍处于 1.2 版本时就采用了它,并且现在在 1.7 版本上依然进展顺利;他们使用 Terraform 和 Ansible 将其部署到基础的 AWS 原生服务上。云平台首席架构师 Ben Somogyi 说:“我们试图了解如何利用这项技术为 Pearson 创造价值。”“结果证明,Kubernetes 的好处巨大。我们正在努力帮助使用我们平台的应用程序开发团队加快速度,因此我们通过 CI/CD 流水线弥补了这一差距,该流水线负责为他们构建镜像、对其进行标准化、修补所有内容,并允许他们将不同的环境部署到集群上,同时隐藏了底层工作的复杂细节。”
这项工作产生了两个用于在集群中构建和部署应用程序的工具,Pearson 已将其开源。“我们是一家教育公司,所以我们想分享我们所能分享的,”Somogyi 说。
现在开发团队不再需要担心基础设施,生产力和交付速度都得到了大幅提升。云平台团队的首席站点可靠性工程师 John Shirley 说:“在某些情况下,我们从数据中心物理资产的九个月调配时间缩短到仅需几分钟即可调配并在客户面前展示新想法。”
据 Jackson 称,云平台团队“可以在几分钟内为开发团队调配一个新的概念验证环境,然后他们就能尽快地将其推向生产。这是所有主要技术服务的价值主张,而我们必须像其中之一那样竞争,才能成为开发人员的首选。仅仅因为你在同一家公司工作,你没有权利强迫人们使用平庸的服务。你的内部客户需要觉得他们选择的是对他们来说最好的方案。我们亲身经历了采用率的增长。我们看到这项服务正在实现三位数的同比增长。”
Jackson 估计,采用该平台的开发团队的生产力提高了 15-20%。他们还看到影响客户的事件数量减少了。此外,Jackson 表示:“以前每个学年只能发布 1-2 次版本的团队,现在每天可以多次发布代码!”
可用性也受到了积极影响。返校期间是公司一年中最繁忙的时候,Somogyi 说,“你必须保证应用程序正常运行。”以前,这对于传统基础设施来说是一个痛点。现在,对于已迁移到 Kubernetes 平台的应用程序,“我们实现了 100% 的正常运行时间。我们不担心有多少个 9。一个都没有。它是 100%,与一些面临遗留挑战的现有平台相比,这令我们感到相当惊讶,”Shirley 说。
“这为公司节省了多少成本,简直无法估量,”Jackson 解释道。“支持案例数量的减少减轻了我们运营的负担。拥有可靠产品带来的客户满意度推动了客户保留和增长。它使我们能够更多地考虑投资于数字转型,并将更高质量的教育推向全球。”
Somogyi 说,平台本身也在进行拆分,“这样我们就可以快速发布平台的更小部分,例如升级 Kubernetes 或构成我们平台的所有不同模块。”“2018 年的一个重点是更新平台本身的交付方案。”
在 Pearson 达到 2 亿用户的总目标的指导下,团队对平台的扩展性进行了内部测试。Shirley 说:“我们面临一个挑战:在 10 分钟内处理 2800 万个请求。”“我们证明了我们可以达到这个目标,并且延迟可接受。我们看到我们可以非常容易地实现这一点,并且完全使用开源工具在短短几秒钟内就扩展了。特别鸣谢 Locust。这真是太棒了。”
Jackson 表示,短短两年内,“我们已经看到了 Kubernetes 带来的巨大好处——提高了工程效率、加快了应用程序交付速度并简化了基础架构。但这仅仅是个开始。Kubernetes 将有助于改变在线教育内容的交付方式。”
到目前为止,大约有 15 个生产产品正在新平台上运行,其中包括 Pearson 的新旗舰数字教育服务——全球学习平台 (Global Learning Platform)。云平台团队继续为适合该平台的客户进行准备、引导和支持。一些现有产品将被重构为 12 要素应用,而另一些产品正在开发中,以便从一开始就可以运行在平台上。Shirley 说:“当然,引入新客户会面临挑战,因为我们必须帮助他们看到不同的开发方式和构建方式。”
但他补充说:“这是我们的企业座右铭:始终学习 (Always Learning)。我们鼓励那些尚未开始云原生之旅的团队,去看技术的未来,去学习,去探索。这会激起你的兴趣。持续学习。”