公司: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 指出,如果 Bose 决定采用多云战略,Kubernetes 的可移植性将是一个优势。

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 项目是拥有如此强大社区的免费开源软件,我们永远无法实现规模化,甚至无法按计划推出产品。”

West 表示,采用云原生技术的另一个好处是:“我们甚至吸引了更多人才加入 Bose,因为我们积极参与了 CNCF Landscape。”(是的,他们正在招聘。)“它让这么多人能够做这么多伟大的事情,并将 Bose 真正带入了云的未来。”

在未来一年,该团队希望致力于服务网格和无服务器,以及在全球范围内的扩张。O'Mahony 表示:“通过多区域部署来降低延迟将是我们的一大重点。为了确保我们在日本、澳大利亚和世界各地的客户都能获得良好的体验,我们希望在离他们更近的地方设立分支机构。这在 Bose 以前从未有过。”

但这并不能阻止他们,因为该团队的目标都很远大。West 表示:“我们希望拥有数十亿台联网产品!除了我们目前服务的消费电子部门外,我们还在做很多工作来支持 Bose 的更多业务部门。只有借助云原生领域以及现有的工具和功能,我们才能为所有试图创造令人惊叹体验的开发人员和部门提供如此出色的云平台。”

事实上,O'Mahony 表示,考虑到该平台目前支持的规模,“我认为,除了 Kubernetes 之外,任何其他选择都是不明智的。”