這 20 億行代碼可是由一個叫 Piper 的機器人管理的呢?!
每個人都知道 Google 是一個無比巨大的公司,它包含了搜索、郵件、地圖、文檔處理等等一大堆東西。然而讓這麽多東西運行起來需要多少行代碼卻一直是個謎,不過,最近 Google 工程部經理 Rachel Potvin 透露出這個數字會是 20 億行。
對比一下, Windows 作為全世界最複雜的運行在單個電腦中的軟體,從上個世紀 80 年代開發至今,也不過只有 5,000 萬行代碼。Google 是它的 40 倍。
盡管你可能會說拿 Google 那麽多軟體的代碼和 Windows 單個軟體比是不公平的。但事實上,Google 這 20 億行代碼其實存儲在一個代碼庫中,25,000 位 Google 工程師可以隨時調用它,它就像統一的單個軟體。
這有點像工程師們經常使用的網站 GitHub,他們可以在這裏分享代碼,合作編程。但不同的是,GitHub 是由一個個獨立的軟體項目組成,而 Google 的代碼庫把所有 20 億行代碼融合成了一個項目。
“這一定是個巨大的技術難題,”GitHub 系統部總裁 Sam Lambert 說,“這個數字實在令人震驚。”
為了管理這麽多代碼,Google 專門建立了名叫 Piper 的“可視化管理系統”,這就是 Google 龐大軟體群的地基。據 Potvin 透露,這個系統存在於 10 個不同的數據中心。
當 Google 工程師決定發起一個新項目時,他就有一個巨大的工具庫可以使用。並且當工程師對其中某個代碼工具進行優化,這個優化立刻就會幫助到所有項目。
當然,這個工具庫並不包括 Google 的核心,搜索引擎部分的代碼只有少部分高權限工程師才能接觸到。除此以外,Android 與 Chrome 兩大操作系統也分別有自己的“可視化管理系統”。
,
Piper 作為 Google 20 億行代碼的管理器,它可不只單純地存儲著 85TB 數據。由於 Google 25,000 名工程師每天都會作出 45,000 次的代碼更新,這需要有人來幫助他們進行問題的排查與處理,Piper 就是這個“人”。
Piper 並不會寫代碼,但是它會生成許多數據及配置文件來幫助這個 Google 軟體的運行。“你需要共同努力來保持代碼健康,”Potvin 說道,“這不只是人類的活,機器人也在幫忙。
資料來源:SOURCE
|