公司 Bose Corporation 地点 马萨诸塞州弗雷明汉 行业 消费电子产品

挑战

Bose 在高品质音频设备领域家喻户晓,提供联网产品已超过五年。随着需求的增长,基础设施也必须随之改变以支持这一需求。首席云工程师 Josh West 表示:“我们需要为开发者提供一种机制,让他们能够快速地原型设计并将服务部署到生产环境。”2016 年,公司决定从头开始构建一个平台。云架构经理 Dylan O'Mahony 表示,主要目标是:“领先于不同的产品组一到两步,这样我们就永远不会手忙脚乱地追赶它们的规模。”

解决方案

从一开始,团队就知道他们想要一个微服务架构。在评估并原型设计了几种编排解决方案后,团队决定采用 Kubernetes,将其扩展的物联网平台即服务运行在 AWS 上。该平台还集成了 Prometheus 监控,于 2017 年投入生产,从一开始就为超过 300 万联网产品提供服务。Bose 此后还采用了许多其他 CNCF 技术,包括 FluentdCoreDNSJaegerOpenTracing

影响

目前,该平台已入驻约 100 名工程师,每年支持数十个微服务的 30,000 次非生产环境部署。2018 年,生产环境部署超过 1250 次。仅一个生产集群就拥有 1,800 个命名空间和 340 个工作节点。O'Mahony 表示:“我们有一个全新的服务,从概念到编码再到部署,一直到生产环境,包括强化、安全测试等等,都在不到两周半的时间内完成。”

Bose 在高品质音频设备领域家喻户晓,提供联网产品已超过五年。随着需求的增长,基础设施也必须随之改变以支持这一需求。

首席云工程师 Josh West 表示:“我们需要为开发者提供一种机制,让他们能够快速地原型设计并将服务部署到生产环境。我们希望提供许多云功能来支持我们的音频设备和体验。”

2016 年,公司决定从头开始构建一个物联网平台。云架构经理 Dylan O'Mahony 表示,主要目标是:“领先于不同的产品组一到两步,这样我们就永远不会手忙脚乱地追赶它们的规模。如果他们发布了一款新的联网产品,我们希望能够提前做好准备,处理他们将面临的任何规模。”

从一开始,团队就知道他们想要一个微服务架构和平台即服务。在评估并原型设计了包括 Mesos 和 Docker Swarm 在内的编排解决方案后,团队决定采用 Kubernetes,将其平台运行在 AWS 上。Kubernetes 当时仍处于 1.5 版本,但该技术已经能够满足团队当前和未来所需的许多功能。对于 West 来说,这意味着存储和网络都得到了处理。O'Mahony 指出,Kubernetes 的可移植性可以在 Bose 决定采用多云策略时发挥作用。

West 表示:“Bose 是一家着眼长远的公司。采用快速的商用现成解决方案可能在当时可行,但它无法推动我们前进,而这正是我们从 Kubernetes 和 CNCF 中所需要的。”

团队花时间选择工具,以使开发人员的体验更轻松。O'Mahony 说:“我们的开发人员与运营团队提供的工具交互,运营团队在 Kubernetes 之上运行所有工具。我们尽量不让直接访问 Kubernetes 成为唯一的途径。事实上,理想情况下,我们的开发人员甚至不需要知道他们正在 Kubernetes 上运行。”

该平台从一开始就集成了 Prometheus 监控,并于 2017 年悄然投入生产,从一开始就为超过 300 万联网产品提供服务。O'Mahony 说:“尽管我们为之设计这个平台的扬声器和产品距离发布还有一段距离,但我们确实在市场上销售了一些联网扬声器。我们基本上开始将这些扬声器和随之而来的应用程序的某些功能指向这个平台。”

如今,Bose 的一个生产集群就拥有 1,800 个命名空间/独立服务和 340 个节点。目前已有大约 100 名工程师入职,该平台基础设施每年支持数十个微服务的 30,000 次非生产环境部署。2018 年,生产环境部署超过 1250 次。与 Bose 之前支持部署和服务数量少得多的部署流程相比,这是一个惊人的改进。

O'Mahony 说:“我们有一个全新的服务,从概念到编码再到部署,一直到生产环境,包括强化、安全测试等等,都在不到两周半的时间内完成。每个人都以自动化的角度思考,精简流程,尽快完成任务。当你退一步,看看一个拥有 50 多年历史的音响公司拥有这种文化意味着什么时,这确实令人难以置信,我认为我们使用的工具和我们构建的基础是其中很大一部分。”

其中许多技术——例如 FluentdCoreDNSJaegerOpenTracing——都来自 CNCF Landscape,West 和 O'Mahony 在 Bose 的云原生之旅中一直依赖于此。West 说:“CNCF Landscape 快速解释了从存储到云提供商再到自动化等等所有不同领域正在发生的事情。这是我们构建云基础设施的购物清单。我们可以从不同的‘货架’中选择。”

他补充道:“如果没有 Kubernetes 和其他 CNCF 项目作为免费开源软件拥有如此强大的社区,我们永远无法实现规模,甚至无法按时发布。”

云原生的另一个好处是:“我们甚至吸引了更多人才来到 Bose,因为我们非常积极地参与 CNCF 生态系统,”West 说(是的,他们正在招聘)。“它让许多人能够做许多伟大的事情,真正将 Bose 带入了云的未来。”

在接下来的一年里,团队希望在服务网格和无服务器方面下功夫,并在全球范围内进行扩展。O'Mahony 说:“通过多区域部署降低延迟将是我们的一个主要重点。为了确保我们在日本、澳大利亚和其他地方的客户拥有良好的体验,我们希望将服务点设在离他们更近的地方。这在 Bose 以前从未有过。”

这不会阻止他们,因为团队的目标都很远大。West 说:“我们希望连接数十亿产品!除了我们目前所做的消费电子部门之外,Bose 还有很多工作要支持更多的业务部门。正是因为有了云原生生态系统以及可用的工具和功能,我们才能为所有试图实现一些非常棒体验的开发人员和部门提供如此出色的云平台。”

事实上,考虑到该平台已经支持的规模,O'Mahony 说:“我认为,此时做任何 Kubernetes 之外的事情都是愚蠢的。”