当前位置:统一通信/协作企业动态 → 正文

为了服务数十亿用户 Facebook软件背后竟有这么多秘密

责任编辑:editor007 作者:弘艺编译 |来源:企业网D1Net  2017-09-01 20:03:06 本文摘自:腾讯科技

 据外媒报道,Facebook的数十亿用户可能没注意到,但过去一年来,这家社交网络已经彻底修改了它的底层软件,这样它就能更加迅速地推出新功能,节省工程师的时间。

这些大大小小的修改帮助这家网站得以顺利运行,即使是在哈维飓风这样的重大事件期间。此外,这些修改还帮助Facebook无需面临太多技术难题便可推出直播和消息等新功能。

据负责Facebook大型软件发布项目的查克·罗西(Chuck Rossi)称,为了帮助这些项目,Facebook会使用通常只有小型创业公司才采用的软件开发技术。罗西曾在谷歌(微博)、VMware和IBM度过多年的职业生涯,当他在近十年前加盟Facebook时,他见证了其口中的这帮“疯孩子们”如何以他前所未见的方式打造Facebook网站,以及其相关软件基础设施。

与多数大公司漫长的软件开发周期的不同,Facebook员工会迅速编写出更小的功能块,来适应该公司的增长。这种敏捷式开发或许很混乱,但却能更快速地推出新功能。

“我有没有介入进去,将我20年的经验运用到这里,强迫他们以更广为人知的行业标准来开发,还是选择与这帮家伙设立的方式进行协调?我选择了后者,”罗西说。

据罗西称,Facebook开发者可以访问公司完整的源代码,并为各自的项目从中“择优挑选”代码。他们对软件作出的改变在可在一天之内部署实施。

但随着Facebook雇佣的程序员越来越多,他们希望修改代码的次数也更频繁,这些程序员常常远在特拉维夫和都柏林的分公司。由于其工作的全球性,协调这些活动曾经很困难。

最终,工程师们开足马力,在每天的三个固定时间段内对这些代码进行了近1000处修改。除此之外,他们还每周进行一次重大更新。

这种在固定时间段内发布软件的程序开始拖慢速度,这对一款持续扩张的服务来说可不是好事。最终,Facebook的软件开发开始变得与老派的大公司类似,而不是像Facebook还是创业公司的时候。

从2016年4月开始,Facebook逐渐开始更频繁地修改软件。它们开发了一款名为Gatekeeper的系统,每隔几个小时便推出数百次修改。

利用定制化的工具,Facebook程序员能够自动在部署前检查代码中的漏洞。此外,这些工具还能自动延迟向整个服务推送修改,让程序员有时间查看是否存在问题,如果有则点击紧急按钮,停止向用户推送更新。

具体而言,当代码编写完毕后,系统只向2%的Facebook用户推送。如果没问题,再向所有的用户推送。

罗西承认,Facebook的这一新系统并非革命性的方式,因为大部分增长较快的创业公司都有类似的系统。谷歌和亚马逊很可能也有类似的系统。

尽管如此,Facebook从本质上修改其软件开发的方式仍值得注意。罗西说,这一过程“有点孤独,也有点吓人”,因为Facebook是一家规模庞大的公司,它在一年之内对其软件开发方式作出了非常大的改变,这在以前并没有先例。他说,在今年4月的三天时间内,Facebook的整个软件程序转向了新的系统,没有被任何人察觉。

关键字:

本文摘自:腾讯科技

x 为了服务数十亿用户 Facebook软件背后竟有这么多秘密 扫一扫
分享本文到朋友圈
当前位置:统一通信/协作企业动态 → 正文

为了服务数十亿用户 Facebook软件背后竟有这么多秘密

责任编辑:editor007 作者:弘艺编译 |来源:企业网D1Net  2017-09-01 20:03:06 本文摘自:腾讯科技

 据外媒报道,Facebook的数十亿用户可能没注意到,但过去一年来,这家社交网络已经彻底修改了它的底层软件,这样它就能更加迅速地推出新功能,节省工程师的时间。

这些大大小小的修改帮助这家网站得以顺利运行,即使是在哈维飓风这样的重大事件期间。此外,这些修改还帮助Facebook无需面临太多技术难题便可推出直播和消息等新功能。

据负责Facebook大型软件发布项目的查克·罗西(Chuck Rossi)称,为了帮助这些项目,Facebook会使用通常只有小型创业公司才采用的软件开发技术。罗西曾在谷歌(微博)、VMware和IBM度过多年的职业生涯,当他在近十年前加盟Facebook时,他见证了其口中的这帮“疯孩子们”如何以他前所未见的方式打造Facebook网站,以及其相关软件基础设施。

与多数大公司漫长的软件开发周期的不同,Facebook员工会迅速编写出更小的功能块,来适应该公司的增长。这种敏捷式开发或许很混乱,但却能更快速地推出新功能。

“我有没有介入进去,将我20年的经验运用到这里,强迫他们以更广为人知的行业标准来开发,还是选择与这帮家伙设立的方式进行协调?我选择了后者,”罗西说。

据罗西称,Facebook开发者可以访问公司完整的源代码,并为各自的项目从中“择优挑选”代码。他们对软件作出的改变在可在一天之内部署实施。

但随着Facebook雇佣的程序员越来越多,他们希望修改代码的次数也更频繁,这些程序员常常远在特拉维夫和都柏林的分公司。由于其工作的全球性,协调这些活动曾经很困难。

最终,工程师们开足马力,在每天的三个固定时间段内对这些代码进行了近1000处修改。除此之外,他们还每周进行一次重大更新。

这种在固定时间段内发布软件的程序开始拖慢速度,这对一款持续扩张的服务来说可不是好事。最终,Facebook的软件开发开始变得与老派的大公司类似,而不是像Facebook还是创业公司的时候。

从2016年4月开始,Facebook逐渐开始更频繁地修改软件。它们开发了一款名为Gatekeeper的系统,每隔几个小时便推出数百次修改。

利用定制化的工具,Facebook程序员能够自动在部署前检查代码中的漏洞。此外,这些工具还能自动延迟向整个服务推送修改,让程序员有时间查看是否存在问题,如果有则点击紧急按钮,停止向用户推送更新。

具体而言,当代码编写完毕后,系统只向2%的Facebook用户推送。如果没问题,再向所有的用户推送。

罗西承认,Facebook的这一新系统并非革命性的方式,因为大部分增长较快的创业公司都有类似的系统。谷歌和亚马逊很可能也有类似的系统。

尽管如此,Facebook从本质上修改其软件开发的方式仍值得注意。罗西说,这一过程“有点孤独,也有点吓人”,因为Facebook是一家规模庞大的公司,它在一年之内对其软件开发方式作出了非常大的改变,这在以前并没有先例。他说,在今年4月的三天时间内,Facebook的整个软件程序转向了新的系统,没有被任何人察觉。

关键字:

本文摘自:腾讯科技

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^