祖克柏三年前的一場「駭客式豪賭」,成就了今日你我時時依賴的臉書!

祖克柏三年前的一場「駭客式豪賭」,成就了今日你我時時依賴的臉書!

Photo: ntr23/ Flickr

走進臉書位在加州門羅公園新總部附近的18號樓,後方還可以看到「戰鬥洞穴」(The Battle Cave)的遺址。今天,這裡已經成為臉書開放辦公室的一部分,但屋裡的擺設仍提醒著所有員工,不要忘了當年臉書那場「技術豪賭」,以及網站開發團隊的血淚奮鬥史。

「戰鬥洞穴」的稱號其來有自,開發人員日以繼夜與時間賽跑、與程式碼奮戰,那時他們完成的進度會同時更新在牆上的兩個顯示器上,不斷提醒著他們離「未來版臉書」的目標還有多遠。

顯示螢幕已經被搬出了「戰鬥洞穴」,但留下的托架似乎是紀念他們不只打造了臉書的未來,也奠定了祖克柏(Mark Zuckerberg)最引以為傲的「駭客之道」(The Hacker Way)。

駭客之道

當年祖克柏著手開發網站時,使用了PHP的編程語言,因為開發人員利用這種語言,能以極快的速度開發和改造網絡軟體,而不必用C++和Java等更加複雜的語言。

但PHP卻不太適合規模不斷擴大的臉書。用PHP雖然可以滿足祖克柏與工程師們天馬行空的想法,並加快開發進度,卻需要使用更多的伺服器來運行網站。以臉書規模來看,光伺服器就是一筆龐大開支,更不用說還要耗費多少能源。

然而,祖克柏並不因此決定改用新的程式語言,而是尋找其他方式提升PHP的運行速度,在不改變網站本身的前提下更動網站基礎。這就是祖克柏的駭客之道:臉書的工程師們不怕改變,並且努力快速適應變化。

實踐駭客精神

2010年,臉書推出了名為HipHop的工具,可用來將PHP代碼轉換成C++代碼。與純粹的PHP代碼相比,可提升流量處理五到六倍之多,這大大幫助臉書處理眼前的困境。

但不久後,帕羅斯基(Drew Paroski)、亞當斯(Keith Adams)和另外一名臉書工程師艾文斯(Jason Evans)決定開發一勞永逸之道:用虛擬機(virtual machine)代替HipHop工具。只不過對一般公司而言,建造樣的虛擬機,通常都是交給甲骨文、微軟以及VMware這樣的系統商。

雖然建造虛擬機不是臉書的強項,但他們仍一頭栽進,後來臉書秉著「駭客精神」決定支持。可惜,花了2年時間之後,這個虛擬機的處理速度仍跟不上HipHop的速度。

亞當斯過去是VMware的工程師,曾被派往英特爾確保兩家公司技術合作順利,重要性可見一斑。

他跳槽到臉書後結識曾經開發一款新的電腦內存管理工具的艾文斯和出身微軟的帕羅斯基。他們都夢想著創造一個能夠提升臉書PHP代碼執行效率的虛擬機,不過中間困難重重。

勇於冒險

一開始,他們低估了任務難度,花費了超出預期的時間,也就是2年後才讓虛擬機支撐整個網站,但速度還是比HipHop系統慢三倍。雖然虛擬機已經在追趕但速度還是太慢,終於在2012年夏天,整個團隊進入「閉關期」。

「閉關」在高風險科技公司是家常便飯,整個團隊被關進一間黑暗的房子,直到完工才能重見天日。因此開發團隊轉移陣地到18號大樓的底層,也就是所謂的「戰鬥洞穴」,包括亞當斯三人在內的開發團隊開始密集作業,亞當斯負責提供想法、艾文斯執行,帕羅斯基必須確保這些想法維持在PHP的能力範圍之內。

在不斷努力之下,新系統不斷茁壯,終於在去年11月,虛擬機的效能超過HipHop,並將新系統命名為HipHop Virtual Machine(HHVM),以紀念臉書原來的PHP轉化器HipHop。

之後HHVM很快整合入臉書後台,而臉書也開放了該系統的原始碼,方便所有人使用。

當然,PHP語言長期來看是否能提升效率、減少開發難度仍有爭議,這點亞當斯也承認。不過如果用另外一種語言重寫整個網站代碼,恐怕將會面臨更加艱鉅的任務。

開發HHVM更證明了:臉書不僅願意冒風險,而且敢冒他人不敢冒的風險。

「蘋果重精緻,Google代表規模,微軟就是,呃,30歲了……但臉書看重創新,他們可能談不上優雅,但創新能量強,他們的理念是憑藉純粹的實驗和速度擊敗對手。」出身Google、現為矽谷創業公司Box.com的工程部副總裁的施萊斯(Sam Schillace)打了個妙喻。

也許,別人看不清臉書的做法,那是因為他們不懂『駭客之道』!

延伸閱讀:

10億用戶,3個發展方向,讓Facebook市值直逼1,410億美元

當Facebook還在慶祝行動廣告策略奏效,曾想過他們其實是在走鋼索嗎?

Facebook營收增加38%的秘密 – 解析「行動裝置廣告」如何發威!