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