Netflix 雲端遷移大功告成

我們 Netflix 的雲端之旅始於 2008 年 8 月,當時我們經歷了一次嚴重的資料庫損毀,有三天的時間無法將 DVD 寄給我們的會員。這時,我們意識到,我們必須避免類似於我們資料中心關聯式資料庫的縱向擴張單點故障,改用高度可靠的雲端橫向擴張分散式系統。我們選擇了亞馬遜網路服務系統 (AWS) 作為我們的雲端服務提供商,因為他們提供最大的擴張度和最多樣的服務和功能。我們大部分的系統,包括所有客戶面的服務,在 2015年 之前已經遷移到雲端。然而,我們希望能好好花點時間,為我們的帳單基礎結構及顧客和員工數據管理找到一個安全、持久的雲端路徑。我們很高興在此報告,在 2016 年 1 月上旬,經過七年的勤奮努力,我們終於完成了雲端遷移,並關閉了串流服務在資料中心最後使用的軟體!

移轉至雲端為 Netflix 帶來諸多好處。我們的串流服務會員是 2008 年的八倍,而且因為他們更加投入,八年內的總觀賞數量級增長了三倍:

Netflix 產品本身持續迅速演變,納入許多耗用資源的新功能,並且仰賴不斷增長的資料量。僅僅靠我們自己的資料中心支持這種高速增長,本來是非常困難的;我們根本沒法讓伺服器跟上腳步。雲端的彈性讓我們能在幾分鐘內增加幾千個虛擬伺服器和千兆位元的儲存空間,得以完成這種擴張。2016 年 1 月 6 日,Netflix 擴展服務至超過 130 個新國家,成為一個真正的全球網路電視服務網。我們利用亞馬遜遍布世界各地的多個雲端地區,動態轉移及擴大我們的全球基礎設施能力。無論 Netflix 會員身在何處,都能享受更好、更愉快的串流體驗。

我們所有可調整規模的運算和儲存需求都依賴雲端 ,這包括我們的業務邏輯、分散式資料庫和大數據處理/分析、建議、轉碼,和數以百計其他構成 Netflix 應用程式的其他功能。視訊通過全球分佈的內容發佈網路 Netflix Open Connect 提供,以有效地將我們的位元發佈到會員的裝置上。

雲端也讓我們大幅增加服務提供能力。我們的資料中心有幾次停機,但雖然我們在雲端遇到一些不可避免的難關,尤其是在雲端遷移的早期,我們還是看到整體提供能力穩步上升,已接近我們所期望的目標:99.99% 的正常服務運作時間。任何大規模分散式系統都發生不可避免的故障,包括雲端式系統。然而,雲端讓我們用基本上不太可靠的冗餘組件,打造出高度可靠的服務。採納冗餘原則,適度降低架構,並使用 Simian Army 有紀律地進行定期製作操練,讓我們能在不影響會員體驗的情況下,在自己的系統中成功克服雲基礎設施的故障。

降低成本不是我們決定遷移至雲端的主要原因。然而,我們的串流雲端成本最後居然只佔資料中心的一小部分,而這是一項我們歡迎的附帶好處。雲端的彈性成就了這個可能,讓我們能不斷優化執行個體類型組合,並以接近瞬間的速度放大和縮小我們的足跡,卻無須維持巨大的緩衝容量。我們也因而得利於大型雲端生態系統的規模經濟。

雲端的好處顯而易見,為什麼我們還需要花費整整七年的時間完成遷移?其實,遷移至雲端的工程艱鉅浩大,我們一路上還不得不做出幾個困難的選擇。或許有人可以說,遷移至雲端的最簡單方法,就是將所有系統原封不動從資料中心搬出來,丟到亞馬遜網路服務系統上。但這樣做的結果,就是把資料中心的所有問題和限制一起搬了過去。相反,我們選擇了雲端原生的做法,幾乎完全重建了我們的技術,從根本上改變了我們公司的運作方式。在結構上,我們從一個龐大的應用程式遷移到數百個微服務,並使用 NoSQL 資料庫,將我們的數據模型反正規化。預算審批、集中式的發行協調與耗時多週的硬體佈建週期,變成持續交付、工程團隊用自助服務工具在零散結合的 DevOps 環境獨立決策,這些改變都有助於加速創新。許多新系統有待打造,新技能有待學習。將 Netflix 改造成雲端原生公司耗時費力,但卻讓我們居於更有利的位置,繼續成長為一個全球電視網。

在過去幾年間,Netflix 的串流技術走過漫漫長路,我們終於不再受到過去面對的限制束縛,感覺實在很棒。雲端對業界許多人來說還是相當新的技術,很多疑問有待回答,也有許多問題有待解決。經由 Netflix 開放原始碼等計劃,我們希望繼續與科技界精英攜手合作,共同解決這一切挑戰。

- Yury Izrailevsky、Stevan Vlaovic 和 Ruslan Meshenberg

查看更多下列內容的資訊: 公司部落格

著眼於全球思路的影片推薦功能

今年 1 月,Netflix 服務範圍又拓展到新增的 130 個國家/地區,希望我們的服務能夠順利普及到世界各地,這同時也表示,我們必須秉持全球思路來解決許多複雜的技術問題。 繼續閱讀

頁首