每个人都知道Google是一个无比巨大的公司,它包含了搜索、邮件、地图、文档处理等等一大堆东西。然而让这么多东西运行起来需要多少行代码却一直是个迷,不过,最近Google工程部经理 Rachel Potvin透露出这个数字会是20亿行。
对比一下,Windows作为全世界最复杂的运行在单个电脑中的软件,从上个世纪80年代开发至今,也不过只有5000万行代码。Google是它的40倍。
尽管你可能会说拿Google那么多软件的代码和Windows单个软件比是不公平的。但事实上,Google这20亿行代码其实存储在一个代码库中,25000位Google工程师可以随时调用它,它就像统一的单个软件。
这有点像工程师们经常使用的网站GitHub,他们可以在这里分享代码,合作编程。但不同的是,GitHub是由一个个独立的软件项目组成,而Google的代码库把所有20亿行代码融合成了一个项目。
“这一定是个巨大的技术难题,”GitHub系统部总裁Sam Lambert说,“这个数字实在令人震惊。”
为了管理这么多代码,Google专门建立了名叫Piper的“可视化管理系统”,这就是Google庞大软件群的地基。据Potvin透露,这个系统存在于10个不同的数据中心。
当Google工程师决定发起一个新项目时,他就有一个巨大的工具库可以使用。并且当工程师对其中某个代码工具进行优化,这个优化立刻就会帮助到所有项目。
当然,这个工具库并不包括Google的核心,搜索引擎部分的代码只有少部分高权限工程师才能接触到。除此以外,Android与Chrome两大操作系统也分别有自己的“可视化管理系统”。
Piper作为Google 20亿行代码的管理器,它可不只单纯地存储着85TB数据。由于Google 25000名工程师每天都会作出45000次的代码更新,这需要有人来帮助他们进行问题的排查与处理,Piper就是这个“人”。
Piper并不会写代码,但是它会生成许多数据及配置文件来帮助这个Google软件的运行。“你需要共同努力来保持代码健康,”Potvin说道,“这不只是人类的活,机器人也在帮忙。”
小编推荐阅读