Google有多大?有20亿行程式这么大!

分享到:
37
下一篇 >
相较之下Linux核心才只有4万个档案,1500万行程式。Google单单在一周内由人工所更改的程式就超过25万个档案,1500万行程式。Windows自1980年代以来约使用了5000万行程式,这代表Google程式库大概是Windows的40倍这么大。

Google工程经理Rachel Potvin在本周举行的一场工程会议上揭露了Google内部的程式运作架构,说明Google坚持采用单一程式储藏库(single respository)的理由,透露了所有的Google服务是由20亿行的程式所组成,并透过名为Piper的版本控制系统来管理。

根据今年1月的数据,Google程式储藏库总计有10亿个档案、20亿行程式,容量高达86TB,所曾执行的修改超过3500万次,平均每天修改4.5万次。大约有95%的Google工程师可以直接存取该程式库。Potvin认为这应该是全球*大的单一程式储藏库。Google并利用Piper在全球十个资料中心间复制此单一程式库。

20亿行程式到底有多大?相较之下Linux核心(kernel)才只有4万个档案,1500万行程式。Google单单在一周内由人工所更改的程式就超过25万个档案,1500万行程式。

Wired另以微软Windows作业系统为例指出,Windows自1980年代以来约使用了5000万行程式,这代表Google程式库大概是Windows的40倍这么大。

庞大的Google共享程式库支撑了Google的所有服务,从Google搜寻、Gmail、YouTube到Google Maps等。Google在全球约有2.5万名工程师会存取该程式库,但程式库内容的变动并非只来自工程师。事实上,在每天4.5万次的修改中,人为的变动只占了1.5万次,来自自动化系统的变动占了3万次。

供全球工程师存取的Google程式库也有惊人的流量,平常每秒的查询量高达50万次,尖峰时刻的每秒查询量则可达到80万次。

大部份的Google工程师都能变更程式库,但要改变的程式都必须先经过人工或自动化工具的审核,每个目录都有管理者负责核准程式的变更,在变更的前后也都会经过测试及自动化检查,正式完成的变更会自动部署到其他相关的程式中。

Potvin指出,单一程式库的好处包括提供*正确的程式码、执行程式分享与再利用、简化管理、可执行自动化变更、提升不同团队的合作、清楚的整体树状架构,以及让团队界线与程式所有权更具弹性。

然而,Potvin也同意庞大的单一程式库管理并非适用于每一个组织,却非常适合具备开放及协作特性的组织。

相较于管理庞大的单一程式库,有不少企业采用的是多程式库的架构,由不同团队负责管理自己的程式库,而这牵涉到企业文化,在Reddit讨论区引起了许多的回响,有人说Google允许A团队修改B团队程式的作法令人觉得大家是处于同一个公司,而不只是位于不同部门的同事。

也有人认为Google所倡导的文化其实颇类似GitHub,两者都提供了开放且共享的程式,但有别于Google的单一程式库架构,GitHub是由很多小型、分散且独立的程式库所组成,而且GitHub程式更新并没有同步。(编译/陈晓莉)

你可能感兴趣: 业界新闻 图片 Google Linux 工程师
无觅相关文章插件,快速提升流量