公司 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 之外的事情都是愚蠢的。”