挑战
作为高质量音频设备的知名品牌,Bose 已经提供联网产品超过五年,随着需求的增长,基础设施必须改变以满足需求。 “我们需要提供一种机制,让开发人员能够快速地将原型和部署服务一直部署到生产环境中,”首席云工程师 Josh West 说。2016 年,该公司决定从头开始构建一个平台。主要目标是:“领先于不同的产品团队一到两个步骤,这样我们就永远不会为赶上它们的规模而手忙脚乱,”云架构经理 Dylan O'Mahony 说。
解决方案
从一开始,团队就知道他们想要一个微服务架构。在评估和原型化了几个编排解决方案后,团队决定采用 Kubernetes 作为其运行在 AWS 上的按需提供服务的物联网平台。该平台还集成了 Prometheus 监控,于 2017 年投入生产,从一开始就为超过 300 万台联网产品提供服务。Bose 此后采用了其他一些 CNCF 技术,包括 Fluentd、CoreDNS、Jaeger 和 OpenTracing。
影响
随着大约 100 名工程师加入,该平台现在能够每年在数十个微服务中进行 30,000 次非生产部署。2018 年,有 1250 多次生产部署。只有一个生产集群包含 1,800 个命名空间和 340 个工作节点。“我们有一个全新的服务,从概念到编码和部署一直到生产,包括加固、安全测试等等,不到两周半就完成了,”O'Mahony 说。
“我们需要提供一种机制,让开发人员能够快速地将原型和部署服务一直部署到生产环境中,”首席云工程师 Josh West 说。“我们想要提供很多云功能来支持我们的音频设备和体验。”
2016 年,该公司决定从头开始构建一个物联网平台。主要目标是:“领先于不同的产品团队一到两个步骤,这样我们就永远不会为赶上它们的规模而手忙脚乱,”云架构经理 Dylan O'Mahony 说。“如果他们发布了一个新的联网产品,我们希望能够提前做好准备,以应对他们带来的任何规模。”
从一开始,团队就知道他们想要一个微服务架构和平台即服务。在评估和原型化了编排解决方案后,包括 Mesos 和 Docker Swarm,团队决定采用 Kubernetes 作为其运行在 AWS 上的平台。Kubernetes 当时还处于 1.5 版本,但其技术已经能够满足团队现在和将来所需的大部分功能。对于 West 来说,这意味着存储和网络可以得到处理。O'Mahony 指出 Kubernetes 的可移植性,如果 Bose 决定采用多云策略,这一点非常重要。
“Bose 是一家着眼于长远的公司,”West 说。“使用一个快速商用的现成解决方案可能在当时有效,但它不会让我们继续前进,而这正是我们从 Kubernetes 和 CNCF 需要的。”
该团队花费时间选择工具来简化开发人员的体验。“我们的开发人员与 Ops 团队提供的工具进行交互,而 Ops 团队在 Kubernetes 之上运行所有工具,”O'Mahony 说。“我们尽量避免将直接访问 Kubernetes 作为唯一方式。事实上,理想情况下,我们的开发人员甚至不需要知道他们正在 Kubernetes 上运行。”
该平台还从一开始就集成了 Prometheus 监控,于 2017 年投入生产,从一开始就为超过 300 万台联网产品提供服务。“尽管我们为这个平台设计的扬声器和产品还远未发布,但我们确实有一些联网扬声器在市场上销售,”O'Mahony 说。“我们基本上开始将这些扬声器的某些功能以及与这些扬声器配套的应用程序指向这个平台。”
如今,Bose 的一个生产集群包含 1,800 个命名空间/独立服务和 340 个节点。随着大约 100 名工程师加入,平台基础设施现在能够每年在数十个微服务中进行 30,000 次非生产部署。2018 年,有 1250 多次生产部署。与 Bose 之前支持的部署数量和服务数量相比,这是一个巨大的进步。
“我们有一个全新的服务,从概念到编码和部署一直到生产,包括加固、安全测试等等,不到两周半就完成了,”O'Mahony 说。“每个人都以自动化为导向,精简流程,尽可能快地完成任务。当你退一步看看这对一家 50 多年的扬声器公司来说意味着什么,真的非常不可思议,我认为我们使用的工具以及我们构建的基础是其中很大的一部分。”
许多这些技术——例如 Fluentd、CoreDNS、Jaeger 和 OpenTracing——来自 CNCF Landscape,West 和 O'Mahony 在 Bose 的云原生之旅中一直依赖它。“CNCF Landscape 快速解释了从存储到云提供商到自动化等等各个领域发生的事情,”West 说。“这是我们的购物车来构建云基础设施。我们可以从不同的货架上选择。”
他补充说:“如果没有 Kubernetes 和其他 CNCF 项目提供的免费开源软件以及强大的社区,我们永远无法实现规模,甚至无法按计划发布。”
转向云原生带来的另一个好处是:“我们吸引了更多的人才加入 Bose,因为我们非常参与 CNCF Landscape,”West 说。(是的,他们正在招聘。)“它让许多人能够做很多伟大的事情,并且真正将 Bose 带入了云的未来。”
在未来一年,该团队希望在服务网格和无服务器方面进行工作,以及在全球范围内进行扩展。“降低我们的延迟,实现多区域部署将是我们的一个重要目标,”O'Mahony 说。“为了确保我们位于日本、澳大利亚和其他地区的客户都能获得良好的体验,我们希望在他们附近建立一些服务节点。这在 Bose 以前从未做过。”
这不会阻止他们,因为该团队的目标远大。“我们希望达到数十亿台联网产品的规模!”West 说。“除了我们目前服务的消费电子产品部门之外,我们还有很多工作要做,以支持 Bose 的更多业务部门。只有因为云原生环境以及可用工具和功能,我们才能为所有试图实现一些非凡体验的开发人员和部门提供如此出色的云平台。”
事实上,考虑到平台目前支持的规模,O'Mahony 说,“我认为,此时此刻,除了 Kubernetes 之外,选择任何其他方式都是不明智的。”