創(chuàng)業(yè)詞典網(wǎng) 創(chuàng)業(yè)知識學(xué)習(xí)分享

加入收藏

您所在的位置:首頁 > 企業(yè)管理 > 企業(yè)運(yùn)營

企業(yè)運(yùn)營

面對20億行代碼,Google如何管理?

分類: 企業(yè)運(yùn)營 創(chuàng)業(yè)詞典 編輯 : 創(chuàng)業(yè)知識 發(fā)布 : 06-29

閱讀 :492

面對“Google 這家公司有多大?”這種問題,你可能會用收入、股票價格、客戶數(shù)量或者是形而上學(xué)的影響力來回答這個問題。

但是,這還不是全部。

Google 作為全球最大的互聯(lián)網(wǎng)公司,我們當(dāng)然可以用“互聯(lián)網(wǎng)思維”來思考這個問題,比如用代碼數(shù)量來衡量它。

來自于 Google 的 Rachel Potvin,在周一舉辦的硅谷工程會議上給了我們一個可以參考的答案。

她表示,運(yùn)行所有 Google 互聯(lián)網(wǎng)服務(wù)的軟件,包括了 Google 搜索、Gmail、Google地圖等,大約有20億行代碼。

相比之下,從20世紀(jì)80年代就開始開發(fā)的 Windows 操作系統(tǒng)——有史以來為單一計算機(jī)所開發(fā)的最復(fù)雜的軟件工具之一,只有5000萬行代碼。

所以簡單一刀切的話,建立 Google 相當(dāng)于建40個 Windows 系統(tǒng)。

當(dāng)然,5000萬行代碼驅(qū)動的僅僅是 Windows 系統(tǒng)本身,而20億行代碼則是 Google 的全部。

Google 的業(yè)務(wù)覆蓋范圍及其廣,包含了搜索、地圖、文檔、社交、日歷、郵件、視頻,以及其他互聯(lián)網(wǎng)服務(wù),所有20億行代碼都存放在代碼資源庫中,提供給全部2.5萬名 Google 工程師調(diào)用。

在公司內(nèi)部,Google 對待它的代碼就像對待一個巨大的操作系統(tǒng)。

Potvin 表示:“雖然不能證明這一點(diǎn),但我認(rèn)為這是全球最大的單一信息庫。

”Google 是一個極端例子,但它展示了如今的軟件在互聯(lián)網(wǎng)時代有多復(fù)雜,以及我們?nèi)绾胃淖兪褂玫木幋a工具和理念,以適應(yīng)這種復(fù)雜性。

Google 的巨大資源庫僅適用于內(nèi)部程序員,但在某種程度上,它已經(jīng)類似于Github——一個向所有公眾開放的源代碼庫,工程師可以通過互聯(lián)網(wǎng)共享代碼。

我們正在走向一個需要經(jīng)常大規(guī)模合作代碼的世界,也只有這樣才能跟上現(xiàn)代互聯(lián)網(wǎng)服務(wù)的發(fā)展。

GitHub 就表示:“Google 擁有2.5萬名工程師,他們可以與內(nèi)部擁有各種不同技能的人分享代碼。

但是小公司可以使用 GitHub 和開源,得到同樣的優(yōu)勢。

”另一方面,建立并運(yùn)行一個20億行代碼的龐大系統(tǒng),并不簡單。

Lambert 表示:“這是一項技術(shù)挑戰(zhàn),也是一個巨大壯舉,數(shù)字相當(dāng)驚人。

”GitHub 可以讓程序員輕松共享代碼和協(xié)作,它涵蓋了數(shù)以百萬計的項目,但沒有直接容納軟件項目。

Google 則更進(jìn)了一步,將很多項目合并成一個。

鑒于涉及許多工程師以及同時應(yīng)付如此多代碼的難度,能做到這一點(diǎn)十分地瘋狂。

PiperGoogle 為了同時應(yīng)付所有代碼,已經(jīng)建立了自己的“版本控制系統(tǒng)”:Piper。

它在整個龐大的網(wǎng)絡(luò)基礎(chǔ)設(shè)施上運(yùn)行,系統(tǒng)覆蓋了10個不同的 Google 數(shù)據(jù)中心。

這一系統(tǒng)不僅將所有20億行代碼都存放在單一的系統(tǒng)內(nèi),并提供給公司內(nèi)部工程師調(diào)用,更給工程師提供了更多自由,可以使用及合并橫跨無數(shù)項目的代碼。

Potvin 表示:“當(dāng)你開始一個新項目,Google 已經(jīng)提供了有豐富資源的圖書館,幾乎一切事情都已經(jīng)幫你完成。

更重要的是,工程師可以在所有 Google 服務(wù)中進(jìn)行代碼變更和立即部署。

更新一件事,就能夠更新一切。

”當(dāng)然使用這個系統(tǒng)也有限制。

Potvin 表示,某些高度機(jī)密的代碼,如PageRank 搜索算法,被存儲在一個單獨(dú)的資源庫中,只提供給特定員工。

而且,由于Android 和 Chrome兩個操作系統(tǒng)與那些在線服務(wù)有非常大的區(qū)別,Google 會將它們的代碼存儲在單獨(dú)的版本控制系統(tǒng)中。

但在大多數(shù)情況下,Google 代碼都是一個整體。

機(jī)器程序員Lambert 指出,構(gòu)建和運(yùn)行這樣的一個系統(tǒng),不僅需要知道如何做到這種事,還需要龐大的計算能力。

Piper 每天需要處理大約85TB的數(shù)據(jù)(即85000GB),Google 的 2.5萬名工程師每天會對資源庫做出45000次提交(修改)。

與此同時,Piper 還必須能刪去人類程序員所產(chǎn)生的大量冗余。

它必須確保代碼準(zhǔn)確無誤,程序員不會相互干涉,要能從資源庫中刪除錯誤和未使用的代碼。

而正是存在這一切困難,Piper不得不接手一些人類的工作。

現(xiàn)在,Google 已經(jīng)從之前的一個版本控制系統(tǒng)Perforce,切換到了 Piper,讓機(jī)器來完成一部分工作。

這并不意味著 Google 要讓機(jī)器人編寫代碼,但它們確實(shí)可以生成很多運(yùn)行軟件所需的數(shù)據(jù)和配置文件。

程序員和機(jī)器人需要協(xié)調(diào)一致,維護(hù)代碼健康。

現(xiàn)在已經(jīng)不只有人類在維護(hù)代碼了。

讓所有人受惠的 “Piper”其他公司能否受益于同類系統(tǒng)呢?當(dāng)然能,而且也確實(shí)有公司這樣做了。

Facebook 的主應(yīng)用有2000萬行以上代碼,公司把整個事情作為一個單獨(dú)的項目。

還有一些公司以較小規(guī)模在做同樣的事情,而當(dāng)這些公司不斷接近 Google 或 Facebook 的規(guī)模,也會做同樣的事。

但Google 和 Facebook 都在探索能夠改變每個人的方法。

兩家巨頭正在開發(fā)一個開源的版本控制系統(tǒng),任何人都可以用它來處理大規(guī)模代碼。

它基于現(xiàn)有系統(tǒng)Mercurial,Google正試圖擴(kuò)展 Mercurial 資源庫,達(dá)到Google的規(guī)模。

06-29

下一篇:劉強(qiáng)東首次復(fù)盤京東12年的成敗得失 下一篇 【方向鍵 ( → )下一篇】

上一篇:聯(lián)想10年研發(fā)費(fèi)用僅44億美元 不及華為一年 上一篇 【方向鍵 ( ← )上一篇】

主站蜘蛛池模板: 亚洲综合最新无码专区| 国产精品无码AV天天爽播放器| 精品久久无码中文字幕| 久久精品亚洲AV久久久无码| 久久久久亚洲AV无码观看 | 永久免费av无码不卡在线观看 | 无码人妻AⅤ一区二区三区 | 免费A级毛片无码A| 亚洲精品无码久久久久久久| 亚洲精品无码不卡在线播放| 国产成人无码一区二区三区| 无码被窝影院午夜看片爽爽jk| 久久久久久国产精品无码超碰| 好硬~好爽~别进去~动态图, 69式真人无码视频免 | 18禁成年无码免费网站无遮挡| 亚洲av永久无码精品网站 | 亚洲美日韩Av中文字幕无码久久久妻妇| 国产爆乳无码一区二区麻豆| 无码视频免费一区二三区| 久久亚洲精品无码VA大香大香| 久久久久亚洲?V成人无码| 人妻丰满熟妇AV无码区| av无码免费一区二区三区| 久久AV无码精品人妻糸列| 久久久无码中文字幕久...| 无码少妇一区二区三区浪潮AV| 亚洲一区无码精品色| 国产综合无码一区二区色蜜蜜| 久久午夜夜伦鲁鲁片免费无码影视| 无码精品人妻一区二区三区免费看 | 曰批全过程免费视频在线观看无码| 韩国19禁无遮挡啪啪无码网站| 免费无码国产V片在线观看| 东京热人妻无码一区二区av| 久久精品无码专区免费| 久久久久成人精品无码| 超清无码无卡中文字幕| 亚洲中文无码亚洲人成影院| 亚洲av无码成人精品区一本二本| 国产精品无码素人福利不卡| 亚洲av无码天堂一区二区三区|