公司 培生 地点 全球 行业 教育

挑战

培生是一家服务全球7500万学习者的全球性教育公司,其目标是到2025年将这一数字翻一番,达到2亿。数字学习体验是这一增长的关键组成部分,而培生在扩展和适应不断增长的在线受众方面面临困难。他们需要一个能够快速扩展并更快地将产品推向市场的IaaS平台。

解决方案

培生云平台和SRE总监 Chris Jackson 表示:“为了改造我们的基础设施,我们必须超越简单地实现自动化配置的思维。”“我们意识到必须构建一个平台,让培生开发人员能够以完全不同的方式构建、管理和部署应用程序。”团队选择了 Docker 容器技术和 Kubernetes 编排“因为它具有灵活性、易于管理,并且能够提高我们工程师的工作效率。”

影响

借助该平台,生产力和交付速度得到了显著提升。云平台团队首席站点可靠性工程师 John Shirley 表示:“在某些情况下,我们从在数据中心配置物理资产需要九个月,缩短到只需几分钟即可配置并将新想法呈现在客户面前。”Jackson 估计他们节省了 15-20% 的开发人员生产力。此前,在他们最繁忙的返校季,中断是一个问题。现在,他们有高度的信心能够满足严格的客户SLA。

2015 年,培生作为全球最大的教育公司,已经为 7500 万学习者提供从学前班到大学及更高阶段的课程和评估工具。该公司认识到,创新数字教育体验是未来所有教育形式的关键,因此,目标是在 2025 年之前将受众扩大到 2 亿人。

这一目标需要对其现有的数据中心基础设施进行改造。在某些情况下,配置物理资产需要九个月的时间。为了适应不断增长的在线受众的需求,培生需要一个能够快速扩展并将关键业务产品更快推向市场的IaaS平台。培生云平台和 SRE 总监 Chris Jackson 表示:“我们必须超越简单地实现自动化配置的思维。”“我们意识到必须构建一个平台,让培生开发人员能够以完全不同的方式构建、管理和部署应用程序。”

培生拥有 400 个开发团队和各种具有不同业务和技术需求的品牌,因此采用了 Docker 容器技术,这样每个品牌都可以尝试使用他们偏好的技术构建新型内容,然后使用容器交付。Jackson 表示,他选择 Kubernetes 编排“因为它具有灵活性、易于管理,并且能够提高我们工程师的工作效率”。

该团队在 Kubernetes 仍是 1.2 版本时就采用了它,现在仍在 1.7 版本上持续发力;他们使用 Terraform 和 Ansible 将其部署到基本的 AWS 原生服务上。“我们试图了解如何通过这项技术为培生创造价值,”云平台首席架构师 Ben Somogyi 说。“事实证明,Kubernetes 的优势巨大。我们正在努力帮助使用我们平台的应用程序开发团队加快速度,因此我们通过一个 CI/CD 管道填补了这一空白,该管道为他们构建镜像,对其进行标准化,修补所有内容,允许他们将不同的环境部署到集群中,并隐藏了底层工作的复杂细节。”

这项工作促成了两个用于在集群中构建和部署应用程序的工具,培生已将其开源。“我们是一家教育公司,所以我们希望分享我们能分享的一切,”Somogyi 说。

现在,开发团队不再需要担心基础设施,生产力和交付速度得到了显著提升。云平台团队首席站点可靠性工程师 John Shirley 表示:“在某些情况下,我们从在数据中心配置物理资产需要九个月,缩短到只需几分钟即可配置并将新想法呈现在客户面前。”

Jackson 表示,云平台团队“可以在几分钟内为开发团队配置一个新的概念验证环境,然后他们可以尽快将其投入生产。这是所有主要技术服务的价值主张,我们必须像它们一样竞争,才能成为开发人员的首选。仅仅因为你在同一家公司工作,你无权强迫人们使用平庸的服务。你的内部客户需要感觉他们正在为自己选择最好的选择。我们正在亲身经历这种采用的增长。我们看到该服务每年都有三位数的增长。”

Jackson 估计,采用该平台的开发团队的生产力提高了 15-20%。他们还看到对客户造成影响的事件数量有所减少。此外,Jackson 说:“以前每个学年只能发布 1-2 次代码的团队,现在每天可以发布多次代码!”

可用性也受到了积极影响。返校季是公司一年中最繁忙的时候,“你必须保持应用程序正常运行,”Somogyi 说。在此之前,这是传统基础设施的一个痛点。现在,对于已迁移到 Kubernetes 平台的应用程序,“我们有 100% 的正常运行时间。我们不担心 99.999% 的可用性。根本没有。它是 100%,这对于我们来说是相当惊人的,与一些存在传统挑战的现有平台相比,”Shirley 说。

“你甚至无法估量这为公司节省了多少,”Jackson 解释道。“支持案例数量的减少减轻了我们运营的负担。客户对可靠产品的信任度推动了客户留存和增长。它让我们能够将更多精力投入到数字化转型中,并将更高质量的教育带到全球范围。”

Somogyi 说,平台本身也在进行分解,“因此我们可以快速发布平台的更小部分,例如升级我们的 Kubernetes 或构成我们平台的所有不同模块。”“2018 年的一大重点是这个交付方案,用于更新平台本身。”

在培生达到 2 亿用户的总体目标的指导下,团队对平台的可扩展性进行了内部测试。“我们面临一个挑战:在 10 分钟内处理 2800 万个请求,”Shirley 说。“我们证明我们可以达到这个目标,并且延迟在可接受的范围内。我们看到我们实际上可以相当容易地实现这个目标,而且我们完全使用开源工具在几秒钟内完成了扩展。向 Locust 致敬。这真是太棒了。”

Jackson 表示,仅仅两年时间,“我们已经从 Kubernetes 中看到了巨大的好处——提高了工程生产力、加快了应用程序交付速度并简化了基础设施。”“但这仅仅是个开始。Kubernetes 将有助于改变在线教育内容的交付方式。”

到目前为止,大约有 15 款生产产品正在新平台上运行,其中包括培生新的旗舰数字教育服务——全球学习平台。云平台团队将继续为适合该平台的客户提供准备、入门和支持。一些现有产品将重构为 12 因素应用程序,而其他产品正在开发中,以便它们可以从一开始就存在于平台上。“当然,引入新客户会面临挑战,因为我们必须帮助他们看到不同的开发方式、不同的构建方式,”Shirley 说。

但他补充道:“这是我们的公司座右铭:永不停止学习。我们鼓励那些尚未开启云原生之旅的团队,去展望技术的未来,去学习,去探索。这会激发你的兴趣。持续学习。”