本網站內容使用人工智慧(AI)或機器翻譯技術翻譯,可能存在錯誤。

Skip to content

基礎設施團隊如何推動 Roblox 各項業務的未來發展

  • 我們的基礎設施團隊負責設計、建置及營運支撐全球 Roblox 平台的底層儲存、運算、網路、安全及工程生產力系統。
  • 這些系統以大規模運作——支援 7,770 萬* 日活躍用戶、傳輸數艾字節的內容,以及超過 2.5 億個同時連線,全數運行於超過 135,000 台伺服器之上。
  • 本團隊的所有工作皆旨在最大化系統的可靠性與效率,並協助工程師發揮最高生產力。

Roblox 的產品工程師每天每秒都能利用運行於我們全球內部雲端基礎架構上的 2,000 多個服務。我們的平台支援數百萬次的讀寫操作、處理數太字節的吞吐量,並處理數千萬個 HTTP 請求。當我們 7,770 萬* 的每日活躍用戶造訪 Roblox 時,他們透過超過 2.5 億個並發連線進行互動。 

這便是 Roblox 技術系統的規模,也是我們基礎架構團隊(Infra)的職責範疇。該團隊負責設計、建置及營運公司的儲存、運算、網路、安全與工程生產力系統,以及我們的資料中心。Infra 的目標是提供可擴展、可靠且易於使用的系統。最重要的是,該團隊重視三項關鍵指標:

  • 可用性——系統的可靠性
  • 服務成本——系統的運作效率
  • 生產力——這些系統能讓在基礎架構上進行開發的 Roblox 工程師發揮多高的生產力

正如基礎設施團隊負責人、工程副總裁 Max Ross 所言:「我們所做的一切,都是為了推進這三項指標中的一項或其組合——可用性、服務成本與生產力。」

我們所做的一切,皆旨在提升這三項要素中的一項或多項的組合——可用性、服務成本與生產力。
Max Ross,工程與基礎設施副總裁暨部門負責人

每日解決嶄新挑戰

當大型更新後,超過百萬名用戶湧入熱門的 Roblox 體驗時,這種現象被稱為「雷霆之群」,但我們的創作者大可放心。這是因為 Infra 的職責在於確保 Roblox 產品工程師能打造一個平台,為用戶提供最佳且最穩定的體驗。而要達成這一點,意味著 Infra 團隊每天都必須處理複雜的系統並解決嶄新的問題。

為什麼?因為我們並非將數千萬日活躍用戶(DAU)連接到一個集中式的交易處理中心——這是一個眾所周知的問題。相反地,我們讓他們在全球範圍內即時相互連接。總而言之,Infra 的數千項服務運行於兩個核心資料中心、全球眾多邊緣資料中心,以及部分公有雲供應商所提供的超過 135,000 台伺服器上

可用性——系統的可靠性

undefined

我們業務成功的關鍵因素之一,在於使用者在 Roblox 上停留的時間長短,而我們深知,可靠的基礎設施與使用者停留時間的長短之間存在直接關聯。

我們期望每月達到 99.99% 的用戶正常運行時間,這意味著我們的系統對用戶互動時長的干擾不得超過 0.01%。此外,我們的產品工程師期望內部雲端基礎設施的運作效能至少能與任何公有雲媲美。「我們的基礎設施應盡可能順暢地運行,」技術總監 Danny Yuan 表示,「如此一來,其他工程師才能打造出讓用戶驚喜的產品。」

我們的基礎架構應盡可能順暢運作,以便其他工程師能打造出讓使用者驚喜的產品。
元丹尼,技術總監

我們正在採取的一種做法,是將可觀察性與網路連通性更緊密地整合至驅動 Roblox 體驗的應用程式中。我們正在每個服務執行個體旁部署 Envoy 代理側車,並透過 eBPF 進行實驗,以觀察代理與外部服務之間底層連線的狀態。技術總監 Rob Cameron 解釋道:「這有助於我們理解,更重要的是,減少封包遺失。」

萬聖節服務中斷事件

基礎架構團隊許多提升可靠性的努力,都源自於我們在 2021 年那場持續 73 小時、連鎖反應式的服務中斷事件中所汲取的教訓。幾年前的那一刻,最終成為我們建構韌性基礎架構方法論的關鍵轉捩點,也讓我們深刻體認到必須同時規劃短期長期的應對策略。 「那是一個『停下所有工作』的時刻,」羅斯表示,「在那之前,我們唯一該思考的,就是如何向 Roblox 的全體同仁保證,這種情況絕不會再發生。」

未定義
從單一基礎架構單體轉變為 34 個叢集節點

服務成本(效率)

如今,科技公司鮮少自行建置雲端基礎架構,因為公有雲供應商已提供網路、叢集管理等必要工具。

但以我們的規模和去中心化的特性而言,維護私有雲對我們來說更具成本效益。我們始終致力於識別並克服自行維護此類複雜系統所帶來的挑戰。 

為了確保達成預期的成本節省,我們必須審慎規劃系統設計。我們的全球私有雲需要高度重視效率,如此我們才能投入更多資源來支持創作者與使用者的社群。

我們致力於讓產品工程師能輕鬆開發出能在大規模環境下高效運行的功能。與此同時,我們正開發精簡的生產工具,讓小型團隊也能管理大型基礎設施。「基礎設施部門以外的人可能未必總是意識到,」技術總監 Michael Wolf 表示,「我們正在徹底重塑基礎設施的幾乎每個環節。」

這意味著我們將從裸機配置,轉型為基於 Linux、採用容器化架構的系統,並在核心與邊緣資料中心之間建立共通的控制平面。因此,Roblox 工程師將能運用龐大的新開源軟體工具庫,同時也能更輕鬆地在同一台機器上並行執行多項工作負載。

「我們不畏懼迎接重大挑戰,」技術總監安迪·威爾科克斯(Andy Wilcox)說道,他以此暗指基礎設施團隊近期向新的遙測、運算及部署堆疊的轉型。「這些是基礎性的課題,而我們作為一個樂於迎接挑戰的工程團隊,已經成功攻克了這些難關。」

這並非一蹴可幾。由於我們無法簡單地重啟 Roblox——我們的機器必須持續運作——因此將需要數年的時間。這意味著必須透過手動流程來重寫軟體並適應新工具。「這就像是在高速公路上行駛時,同時更換汽車的輪胎,」沃爾夫(Wolf)說道。

生產力

每天,我們的工程團隊都高效地處理大規模的重大問題,並盡可能地發揮系統的最大效能。 

為此,我們定期蒐集關於工程師生產力的定量與定性數據。這有助於找出瓶頸,並透過第三方解決方案或我們自製的客製化工具加以改善。

一個例子是我們於三月發布的儀表板,旨在解決工程師在代碼審查流程中的痛點。該工具根據我們定義的多項標準,協助工程師追蹤需要審查的 PR。它還整合了代碼審查任務,並支援排程通知。自此儀表板廣泛採用以來,我們的 P75 PR 至合併時間已縮短 30%

當然,提升工程生產力的終極關鍵在於擁有穩定且可擴展的基礎架構,因此我們始終在底層系統上進行長期投資。

這體現了 Roblox 的兩大核心價值觀:放眼長遠與務實執行。作為以客戶為中心的基础設施團隊,我們秉持務實態度,致力於提升客戶的成功率與生產力。若客戶需要我們尚未提供的託管服務,我們可考慮將供應商解決方案與內部工具整合於我們的私有雲中。

undefined

然而,儘管短期內「維持運作」的解決方案往往頗具吸引力,但必須與前瞻性的工程規劃取得平衡。

其回報在於,最大化生產力不僅能為公司帶來效益,更能讓我們順利完成專案以達成商業目標。

鼓勵探索的文化

隨著我們致力於以文明與安全的方式連結十億人,總會有重大的技術挑戰亟待解決。我們已解決許多問題並學到了很多。但我們正著眼於打造更具擴展性的基礎架構,同時致力於降低系統的複雜性。 

這兩項相互交織的目標將在未來數年帶來無數新啟示,特別是在我們承擔日益增加的人工智慧工作負載之際。我們確信,要實現目標,基礎設施系統必須隨著時間推移而顯著演進。

對基礎設施工程師而言,每個專案都是公司轉型的潛在契機,而每個人的工作都至關重要。「基礎設施部門是一個讓人們能做出真正對 Roblox 和我們用戶至關重要傑出工作的組織,」Wolf 表示,「而且這裡沒有什麼是真正不可觸碰的。」

以客戶為中心的思維

歸根結底,我們的使命是協助其他 Roblox 工程師提升當下與未來的效能,並肩負著迅速汲取經驗教訓、據此提供解決方案的責任。

我們正正面迎接這項挑戰。「我希望確保我們能為 Roblox 創造價值——無論是今天、本季或今年,」Ross 表示。「我也希望確保我們正在建立一個基礎,讓我們在未來 5 到 10 年間都能處於有利位置。」

* 截至 2024 年 3 月 31 日止的 3 個月期間