HashiCorp Vault 成功案例:Vault 帶領 Pandora 以音速前進

HashiCorp Vault 成功案例:Github 在 Vault 的陪伴下成為全球首屈一旨的開源社群
2022-02-08
Vault 成功案例:eBay 以 HashiStack 的基礎架構即程式碼達成全面容器化平台
2022-02-11

全球串流音樂媒體的領導者使用 HashiCorp 將應用程式上線時間從幾天縮短至分鐘,引起許多共鳴。

vault-pandora

公司介紹

Pandora 是領先的音樂和 podcast 串流平台,透過其手機應用程式、網路以及與 2,000 多種連接產品的整合,無論是在家中還是在旅途中,都提供高度個人化的收聽體驗。 Pandora 是 Sirius XM Holdings Inc.(股票代碼:SIRI)的子公司。Pandora 和 SiriusXM 共同創立了全球最大的音訊娛樂公司。

 

整治及擴大規模

每個月都有 6,000 萬用戶湧向 Pandora,尋找他們喜愛的歌曲。Pandora 特有的音樂和 Podcast Genome 提供了一個隨選的串流音樂和 podcast 平台,為用戶提供個人化的體驗。

然而,儘管 Pandora 新穎的工具助長了蓬勃的串流媒體產業,但它們也迎來了越來越多的挑戰。該公司長期以來「do-it-yourself」的企業文化導致了許多臨時的開發工作流程、不同的基礎架構部署流程,以及一系列的自製工具,這使得協調作業更加困難,也降低了企業的敏捷性。

「在我們的產業,除了需快速推出新服務之外,也要確保現有服務有良好的成效,」Pandora 首席工程師 Daniel Greene 說。「手動分配計算資源和配置網路元素對於一個不斷增長、以服務為重心的產業來說是不可靠的。我們需要標準化和自動化一些基礎架構,盡可能減少性能問題,並消除新功能上線方面的延遲。」

 

「每個 HashiCorp 產品的功能都和其他功能搭配,為我們團隊建立一個完整的生態系統,」Cook 說。「Consul 和 Nomad 取代了過去許多冗長的流程,也使其自動化,讓我們能更專注在重要事務上,而不是擔心如何做好工作。」

 

可見性、擴展性和其他需克服的障礙

作為美國最受歡迎的音樂串流應用程式,Pandora 的服務是建立在一個廣泛的基礎架構上,用於快速建立、測試和部署新服務。依照慣例,公司各個工程團隊可以自由選擇最適合其特定團隊或項目的資料庫、程式語言和部署方式。

然而,雖然以自己的方式工作對創造力和生產力很有幫助,但卻默默為基礎架構和營運團隊帶來許多複雜的問題。

對於初學者來說,手動 DNS 管理作業意味著 Pandora 基礎架構團隊必須確認可用的伺服器並將它們手動分配給開發人員,他們將使用該空間並根據特定的操作指引來對新功能編寫程式。

手動管理空間耗費太多時間,讓團隊在多變的環境中紛紛爭相更新其 F5 和 A10 負載平衡器配置。

更糟糕的是,它導致可見性的差距,使得映射應用程式和依賴程式碼幾乎是不可能的 —— 特別是在舊有系統中。工程師必須手動搜索各種伺服器以連接服務,但無法預測正式環境的服務將如何回應開發中的服務。

 

我們一直以精進的營運和開源技術而自豪,」Greene 說。「但在某些時候,如此多樣的部署和手動配置流程會隨時間而逐漸分散到各個部分,變得很複雜,從而影響我們的生產力和新服務上線作業。」

 

流程的不一致阻礙公司成長

雖然探索和連接服務是一項巨大的挑戰,但這些服務的部署方式也存在問題。團隊中由開發人員負責部署的文化最終導致流程的分裂,每個團隊都管理自己的版本和更新自己的工具。但他們最終都需要自己偏好的技術、部署和團隊精神。這些對營運方面是新的挑戰,他們經常不得不在時間內為每個團隊請求資源,指定不同的部署流程,並每天篩選大量 Jira 問題,以確保伺服器在最新狀態。

Pandora 工程總監 Chris Cook 說:「開發人員必須手動檢查部署清單,且可能需要數天時間才能上線新產品,因為步驟太多,而且涉及許多不同的部署方法。」「這對增量生產和可見性來說都很不好,降低了我們的生產力,也危及我們發布新功能和服務的效率,給我們團隊帶來不少的壓力。」

團隊間的不一致也使新開發人員的入職變得更加困難,即使公司對人才的需求也在增加。不同的工作流程增加了新進人員的學習時間和負擔,讓他們無法立即有所表現,這對公司的長期生產來說有負面影響,但也無法立即解決。

「如果我們想要持續推出能同時支援數百萬用戶的產品,並加速新功能的上線,就必須做出改變,」庫克說。「藉由自動化服務和調整容器化環境,使我們團隊的部署和配置標準化,將改善開發人員的現況,也能同時實現目標。」

 

挑戰

  • 標準化整個企業的應用程式部署方式
  • 網路自動化以加速應用程式上線
  • 消除重複的操作和手動流程以提高生產力
  • 提高團隊間的可見性和協作效率

 

自動化帶來的營運優勢

在對其他解決方案進行簡單評估後,Pandora 決定採用 HashiCorp Consul、Nomad 和 Vault,以標準化和簡化其服務。特別的是,該公司被 HashiCorp 的產品組合所吸引,該組合提供完整的端到端解決方案,為 Pandora 提供他們所需的自動化產品,使其工作更有效率、更加智慧化。

 

更快的服務網路,更快的部署

Pandora 廣泛的應用程式導致一個日益複雜的網路生態,以便管理他們的擴展度。為了解決這種複雜性,Pandora 採用了 Consul,利用集中管理的方式大大簡化了服務網路,也簡化了探索、自動化的工作流程。在過去,Pandora 依賴票券系統來分配和配置伺服器,並提供 DNS。Consul 自動化了這一個流程,使新服務和現有服務能夠立即連接。有了 Consul,Pandora 在施行自動化和提高網路性能方面奠定了基礎。

隨著新服務在其環境中部署,Consul 會自動用新服務的資訊更新其負載平衡器。以前可能需要好幾天的手動過程已減少至幾秒鐘,對操作員來說減輕許多負擔。

「Consul 讓我們能在我們的資料環境中完全自動化網路項目,為最耗時的工作提供良好的自助服務替代方案,並大幅加快應用程式上線速度,」Greene 說。「它還用 DNS 和 Consul API 幫我們減少程式碼的依賴性,同時全面標準化我們的流程,達到了以前所沒有的效率和水平。」

除了探索服務和自動化服務之外,Pandora 還部署了 Consul 作為 service mesh,為開發人員提供了另一種方式,可以在預設情況下以最少的權限進行操作。「雖然這聽起來會降低可見性,但映射和追蹤請求的功能確實進步了,到底什麼正在生產以及情況如何,皆能掌握。」Green 説道。「Consul 的 service mesh 能簡化開發人員的部署,也帶來可觀察性。」作為一個 service mesh,在 service mesh 中運行之應用程式的流量是用 TLS 加密的,並且以 Envoy 為基礎的 sidecar 導出跨度資料,讓 Pandora 能在請求在服務之間轉移時追蹤它們。這些資料可用於優化應用程式的性能,並能在發生意外停機時即時做處理。

 

加快開發速度

同時,HashiCorp 的高性能容器編排器 — Nomad 使 Pandora 僅用單一工具就能輕鬆部署和擴展容器化和非容器化 workloads。Nomad 精簡了大型資源庫的管理,也讓新硬體的設定更加容易。

靈活的編排工具支援多種類型的 workloads,使 Pandora 的開發人員能夠定義應用程式或服務的部署要求,並使用內建排程器 (scheduler) 自動將作業部署到客戶端(無論它們是在裸機上還是在容器中執行)。同時,它也整合 HashiCorp 的機密管理解決方案 Consul 和 Vault,以自動保護服務通訊並簡化資料保護作業,大幅精簡整個部署流程。

 

50,000 個容器加速新功能的推出

HashiCorp 產品已經改變了 Pandora 的開發和部署,標準化了過去不良的作業程序,使新功能和服務的推出更快、更一致、更高效率。

有了 Consul 和 Nomad,Pandora 團隊只需幾個指令行即可部署應用程式,使用開發人員喜歡的任何名稱和代理服務,並自動連接它們。

「開發人員過去要做很多工作,像是複製基礎架構,以方便生產,然後在所有步驟完成後等待系統管理員的回覆,」Greene 說。 「Nomad、Consul 和 Vault 將我們整個營運整合到統一的生態系統中,所有功能都集中在同一個地方,這樣過去需要兩到三天的服務架設和部署現在只需 15 分鐘。」

Cook 表示,使用 HashiCorp 的產品也提高了其串流服務的性能和彈性。更確切來說,容錯 Nomad 幫助團隊編排全球數以千計的服務,在發生中斷或其他服務故障的情況下自動將應用程式遷移到備用主機。

隨著公司進一步採用多雲混合基礎架構,該團隊的成功和對 HashiCorp 產品的依賴讓 Cook 和 Greene 期盼能在 HashiCorp 中發現更多新功能。

「開發一個更實際的 service mesh,達到混合雲基礎架構的靈活性和敏捷性是我們近期的目標之一,」Greene 說。「HashiCorp 正好符合我們的需求,同時為我們未來的計劃提供藍圖。HashiCorp 一路上的陪伴讓我們相信 Consul 和 Nomad 將繼續為我們帶來靈活性和效率,以跟上並符合客戶的期待。」

 

成果

  • 在所有開發團隊中採取工作流程的標準化,以提供高效和一致的產品
  • 超過 50,000 個案例進行自動服務探索
  • 將應用程式推出的時間從幾天縮短至 15 分鐘
  • 為開發人員提供更強大的自助服務功能,無需依賴系統管理員即可部署他們的服務