主页 > 事例早报 >开源、行动、大数据:Facebook这15年对科技的巨大贡献

开源、行动、大数据:Facebook这15年对科技的巨大贡献

作者: 时间:2020-07-08 381° 事例早报
开源、行动、大数据:Facebook这15年对科技的巨大贡献

在过去 15 年之间,Facebook 彻底改变了我们与朋友维持联繫、也改变了我们看待隐私、跟家人互动的方式,以及没那幺好的-接受、消费外国广告的方式。但 Facebook 也为电脑科学做出巨大贡献。从Netflix到Uber再到Walmart,我们每天使用的许多应用程式、服务,都是使用Facebook开发并跟全世界共享的技术所构建的。

随着公司发展到容纳数百万,最终数十亿名使用者,Facebook 必须自行设计数据储存架构、资料中心硬体设计这些工具去满足、处理多到令人难以置信的使用者资料。而最近,它还建立一套完整为行动 Web 与 APP 构建界面的设计语言。更重要的是,Facebook 并没有将这些私藏起来。它释出了大量的开源工作,意味着其他任何人都可以使用,修改和分享Facebook的成果。

「多年以来,Facebook一直是开源的巨大驱动力,并起乐于跟更多的社区共享许多关键技术,」Linux基金会执行董事Jim Zemlin说着。该基金会致力于开发 GraphQL,这是一种由Facebook发明的程式语言,用于处理现在许多其他公司使用的 APP 与伺服器之间的通讯。 

由于Facebook的开放性,其许多技术已赫然成为产业标準。「Facebook不仅在我们建构伺服器的方式上发挥了巨大作用,而且工程师们为浏览器和手机编写程式法方面也做出更多贡献,」Airbnb的技术长Adam Neary说。「整个网路生态有一大部分是由Facebook开创并随后开源的技术推动的。」

大数据的诞生

Facebook对整个产业第一个重大贡献是Cassandra,这是一个可以扩展到数百或数千台伺服器的数据库系统。

Facebook并不是第一家建立这样一个数据库的公司。亚马逊和 Google 发表过他们新型分散式数据库的论文,但两家公司并没有真正发表这些内部应用程式的代码。Facebook 工程师 Avinash Lakshman曾为亚马逊的论文中工作过,他跟另一位 Facebook 工程师 Prashant Malik 一起把亚马逊和Google的论文结合起来创建了Cassandra。然后在2008发表了代码。很快这份代码被用于其他公司,例如云端运算公司Rackspace。

「他们不仅複製了Google和亚马逊所做的那些创新,还加上不少自己独到的创意,」Jonathan Ellis说着。他曾任 Rackspace员工并大量使用 Cassandra,后来还在 2010 年创了 DataStax 这间为企业客户提供 Cassandra 相关服务的公司。

根据 DB-Engines 资料,今天 Cassandra 是世界上第 11 大的数据库。Apple,Netflix,Instagram和Uber都是他们的使用者和技术贡献者。

Facebook也是开源数据处理平台Hadoop的早期贡献者,Hadoop几乎成了大数据的代名词。的确,Hadoop早期开发大部分基于 Google 所发布的技术,并由 Yahoo 所完成。但 Facebook 是 Yahoo 之外首批採用Hadoop并为该平台贡献大量额外工具的公司之一。Hadoop催生了多家创业公司,如Cloudera,由前 Facebook 科学家 Jeff Hammerbacher 共同创立。

Facebook 近年来在人工智慧研究方面投入了大量资源去更有效地利用数据,并为这件事释出大量职缺。差不多在 Google 开放其 AI 引擎 TensorFlow 的前一年 2015,Facebook 就开放了许多人工智慧算法成果再一个名为 Torch 流行人工智慧平台上。据电脑科学家杰夫·黑尔的一项分析显示,Facebook 正持续不断为Torch 之后新一代平台 PyTorch 的开发提供资源。目前 PyTorch 已是第三大的人工智慧框架。

开放式资料中心

Facebook 光是有可处理​​数百万使用者的软体是不够的。它还必须直接设计硬体设施来管理所有资料。

像是使用外部空气冷却而不是工业冷却系统的「露天」资料中心,以及甚至是可以快速更换处理器和其他组件的「模组化」伺服器,这些异想天开的硬体储存架构都是 Facebook 的主意。

Facebook还公开所有这些硬体设计作为开放式运算计画的一部分,这计划现在是一个独立的组织了。Facebook在2011年宣布开放式运算当时饱受质疑,儘管那时开源软体社群已经逐渐成熟,但那还有很多人不清楚Facebook的异想天开是否适用其他公司。但很快,像台湾广达这样的供应商开始销售起了基于 Facebook 设计的系统,后来包括Rackspace,微软和苹果在内的其他公司也为这项计划贡献了自己的硬体设计。

今天,Facebook正在与爱立信和德国电信等电信公司合作开展计画,以帮助他们建立新的开源电信基础设施,其中包括名为ARIES的远程天线系统以及一个称为Terragraph的无线电塔系统。

完成拼图

在其这十年的大部分时间里,Facebook最广泛使用的开源贡献就是这些基础设施。Netflix 可能使用Cassandra 来管理使用者在数据中心的资料,却并不透过 Facebook 网站上程式码进行互动。这种情况在2013年开始发生变化,Facebook 发布了一个开放源代码的「库」React,并且用它来跟其他许多公司、开发者分享,写出看起来就像本机应用程式的Web界面。

React 花了一些时间才流行起来,但近年来它已超越了 Google 的框架 Angular,成为写前端最广泛使用的程式库,。Airbnb,Netflix 和 Walmart 都使用 React。

编程教育网站 FreeCodeCamp 的创办人 Quincy Larson 就说:「2015年我突然发现我在旧金山的朋友们开始放弃像 jQuery、Angular ,转而投奔 React 的怀抱。」

这可能与 2015 年发布 React Native 有关。React Native 能让开发人员直接使用 JavaScript ,同时建立原生 iOS 及 Android App。

Facebook 并不是第一个提供使用 Web 技术写行动端 APP 工具的公司,也不是第一个提供构建 Web 应用程式开源库工具的公司。但谘询业者 Rightpoint 的创新长格雷格·赖兹表示,将这两种想法结合起来就会有力量。「我认为这是一个很完整的发展过程,」他说。「Facebook 的作法,刚好大大推动了网路行动化这个大哉问。」

上一篇:
下一篇: