Netflix 跌跌撞撞的成長之路(中)

評論
評論

large_5186317325

圖為 Netflix 創辦人 Reed Hastings,圖片來源:Flickr

Netflix 跌跌撞撞的成長之路(上)

編者按: 在上篇中我們提到 2008 年 Netflix 底層框架當機的事件 ,此事過後,Hastings 一直對它留下的陰影耿耿於懷,他不允許同樣的事故在 Netflix 更重要的串流影音服務上重演。但頗值得玩味的是,他卻選擇把 Netflix 的數據全部搬到 Amazon 的雲端上。

微妙的 Netflix 與 Amazon

Hastings 和 Hunt 在過去 25 年間斷斷續續的有過合作,他們最初是在為油田技術服務公司 Schlumberger 的調研部門工作時結識的。據 Hastings 的說法,Hunt 負責 Netflix 所有的技術,「技術上基本都聽 Neil 的」,他說道,「該不該改善某項技術,都是由 Neil 來判斷。並不是我認為什麼東西好,他就一定會答應去做。」

不過據 Netflix 的工程師回憶,其實 2008 年技術框架當機之後,Hastings 事實上主導了好幾場技術會議。他不斷強調這些技術事故如果不是發生在郵寄服務上,而是發生在串流視聽服務中,那麼帶來的就將是毀滅性的打擊。

後來,隨著 Netflix 串流影音服務使用者不斷成長,Hastings 意識到 Netflix 需要更強大的運算能力,他有兩個選擇——一是組建一批精英工程師的團隊,建立 Netflix 自己的雲端運算中心,就像 Google 和微軟做的那樣;另外一個選擇則是,把一切計算都交給雲端服務供應商。

Hastings 恰好是 Amazon 和微軟董事會的成員,於是 Netflix 開始試用 Amazon 和 Microsoft 的雲端服務,到了 2009 年,Hastings 最終決定把賭注押在 AWS 上。但在此之前,Netflix 還從未把如此重要的技術放到 Amazon 系統過,所以 Hastings 給 Jeff Bezos 寫了封信,言明了自己的計劃。

「我問 Bezos 他是否會對我的計劃感到不快(注:因為 Amazon 有跟 Netflix 相競爭的業務)」,Hastings 說,「如果他會的話,那我沒有任何理由繼續我的計劃。」不過, Bezos 爽快地同意了。

和 Amazon 合作後,Netflix 幾乎時時刻刻都會用到 Amazon 數據中心一萬到兩萬台的伺服器,這些電腦需要控制使用者資料的儲存、影片推薦、數位版權管理、影片文件轉檔以及控制不同系統中的播放效果。最新的 Xbox 或者 Samsung 智慧型手機面市之際,Netflix 還需要額外的伺服器來轉換影片格式,以保證這些新裝置上的使用者可以正常觀看影面。所以每個白天,伺服器得忙著串流影覑的傳送分發,而到了晚上,這些伺服器又得轉身變為數據分析的電腦。

Netflix 幾乎把 AWS 的功能發揮到了它的極致。「我們對 AWS 的利用比 Amazon 零售部門自己的人用得還要好,」Netflix 的雲端架構師 Adrian Cockcroft 說,「我們十分確信這一點。」

放眼望去,行業裡可能再沒有什麼比 Netflix 和 Amazon 之間更複雜更微妙的關係了。一方面,Netflix 是 Amazon 最大的客戶之一,它為此獲得了優惠的報價以及和 Amazon 頂級工程師直接溝通的權利,每當 Netflix 需要一項什麼新的軟體功能時,Amazon 都會很快為 Netflix 做好,當然這些新功能也惠及了其它一些 Amazon 的客戶。「毫無疑問,在和 Netflix 的合作中我們的平台變得更強大、功能更完善了。」Amazon 雲端事業部的負責人 Andy Jassy 說道。

由於 Netflix 依賴 Amazon 的資料中心,所以 700 位 Netflix 工程師必須不斷開發軟體工具,讓數以千計的雲端伺服器可以自動啟動並且完成配置。在矽谷,人們還為 Netflix 用來測試系統恢復能力的應用程式取了一系列外號,簡直可以組成一個「猿猴軍團」了。比如人們把隨機關閉一下服務以模擬小當機的應用稱作 Chaos Monkey(搗蛋猴子),而把會關掉整個數據系統的應用稱為 Chaos Kong(搗蛋王)。

後來諸如 eBay 和 Intel 都開始在自己的雲端運算系統裡運用 Netflix 開發的這些工具。歐巴馬選舉時的雲端運算架構也同樣得益於此。負責選舉背後數據架構的 Scott VanDenPlas 提到了 Netflix 一個叫 Asgard 的軟體工具,這個系統管理應用可以自動尋找伺服器群組,並把需要執行特殊工作的軟體配對過去,讓工程師本來需要幾個小時甚至幾天的工作在幾秒內完成。

「這個工具為我們節省了很多時間,同時也幫我們加快了決策的速度。」VanDenPlas 說,當 Sandy 颶風在選舉前兩週席捲美國時,VanDenPlas 及時把 Obama 選舉的基礎框架從 Amazon 東海岸的數據中心轉移到了西海岸的系統中。「如果沒有 Asgard,我們根本無法做到如此快速的反應,Netflix 開發的這個工具讓我們的執行效率獲得前所未有的提升。」

Hastings 與他的員工

你看到的 Hastings 通常會在兩種極端的狀態間切換:不是專心致志興致勃勃,就是閒散隨意不屑一顧。當他討論他在意的事情時,他會顯得無比精力旺盛,而對其它事情則幾乎置​​之不理。他說他沒有參與過 Netflix 總部的設計,只在辦公設備都佈置好了的時候才走進去逛了逛。「這就表示設計方面的事情不是我關注的,」Hastings 說,但如果你想跟他聊諸如分佈式標籤資料庫或者關鍵值儲存的優勢等等現代電腦科學技術,他會和你很有話說。

Hastings 有著非常 geek 的一面。2005 年 12 月,Hastings 確信 Netflix 的評分系統可以為使用者喜好預測系統提供所有必需訊息,而公司內部的其他人則堅持認為光靠評分系統是不夠的,還需要其它參考指標,比如使用者點開影片和終止播放間的時間間隔,比如使用者在搜尋哪些明星等等。Hasting 不服氣,就把他聖誕假期的兩週時間都花在了撰寫 Excel 表格上——他要基於百萬用戶的評分寫一套可以打敗其他工程師認可的推薦算法。

事實證明,他輸了,但卻激發他設立了「Netflix 獎」,以 100 萬美元的獎金鼓勵個人或團隊來完善評分系統的算法。這個獎項為 Netflix 贏得不少關注度,因為最後 Netflix 把獎項頒給了一支由獨立工程師組建的團隊,他們為 Netflix 打造了一個更好預測引擎。而這次活動讓憑藉 D VD 郵購服務聞名的 Netflix,第一次以創新殿堂的形象嶄露頭角。

因為 Netflix 在電腦科學上的成就,以及矽谷最高的薪酬,現在的 Netflix 已經可以招到它所想要的任何一位工程師。Netflix 的管理者們每個月都會調查一下矽谷的薪酬水準,然後為自己的員工提供高於這個水平 10% 到 20% 的工資。甚至那些被炒魷魚的員工也能拿到豐厚的酬勞——這樣老闆在開除員工的時候就可以少些罪惡感了。

說到招募,Netflix 還有一個特殊的傾向——獨鍾年長者,而非年輕工程師。「我們雇用的工程師幾乎都到達了成熟穩重的年齡,」Cockcroft 說,「在把他們招募進來之前,通常先讓他們在 Google 歷練五年。」我在 Netflix 總部轉了一圈,親眼證實了這一點。Netflix 工程師們的辦公環境幾乎是矽谷上世紀的格局,高高的隔板把每個人的工位圍成一個半封閉的小方塊,而今天的矽谷早就採用開放式的設計了。

Netflix 辦公室唯一還算符合潮流的一點是:浴室門上貼著經典娛樂節目的裝飾畫(類似動畫《辛普森一家》裡的人物),而 Netflix 的會議室是用影視節目來命名的,玻璃牆上還寫著​​一兩句經典台詞。比如某次會議是在牆上標有「我不認為我正在失去它,Bob」台詞的「Office Space」會議室裡進行的。

Netflix 跌跌撞撞的成長之路(下)

相關文章

評論