彩虹馆(Rainbow Mansion)是栋位于美国西岸的迷你皇宫,座落在一个可以俯瞰矽谷的山丘上,并且有着西班牙式的屋瓦与门厅的豪华吊灯。这座占地超过140坪豪宅的前任主人,曾靠着销售电脑显示卡晶片和光碟机晶片赚进大把钞票。不过事到如今,这里只是一个矽谷式公社,一个科技界的年轻激进份子生活并分享工作的场所。
这里的房客有Google员工、NASA工程师、在Tesla打造电动车的员工,也有苹果的工程师。不过这些人选择彩虹馆作为栖身之所,并不只是为了应付工作上的需要而已。门厅之后的公共图书馆,正是平常举行沙龙(一种不拘形式的讨论)的地点。平常房客们讨论的题目无所不包:从国家主义的凋亡,到网路自由是否比个人隐私还要重要,都曾是题目之一。而车库里面有着凑合着用的硬体实验室,房客们于此打造模型潜水艇、卫星以及可以使用Android手机操作的无人飞行载具。在过去这几年来,不只一间新创公司从这些房间里面诞生。
根据一名前房客所言,想要住在彩虹馆的先决条件是:你想要改变这个世界!改变世界似乎是件说比做更简单的事,不过彩虹馆的房客已经做到了。他们把集体社会性格(communal ethos)灌注到近十年来最重要的开放软件专案中:OpenStack,一个在Linux环境底下运作的云端运算程式。
利用OpenStack这个程序,任何人都能打造属于自己的亚马逊弹性云端运算(Amazon's Elastic Compute Cloud)。亚马逊弹性云端运算是目前极受欢迎的网路服务,该服务可以让研发人员和企业即时存取虚拟伺服器。大约四年前,OpenStack的前身还只是一个在NASA内部没人看好的专案,不过目前OpenStack已经大大颠覆整个私人与公用领域的现况。
自从获得Vivek Kundra(美国第一个资讯长)的关注之后,除了NASA以外,其他的美国联邦政府业务部门也加入使用OpenStack的行列。而在NASA跟云端运算市场第二大品牌Rackspace结盟、合力推出OpenStack后,目前全世界已经有183家以上的公司宣布支持OpenStack。OpenStack正改变着HP、Cisco、Dell等科技龙头的未来,另外,如果流言属实的话,IBM也是其中加入改变的一员。
“业界有很多人正严肃地看待这件事”,Zorawar “Biri” Singh表示。Zorawar “Biri” Singh是监督HP利用OpenStack打造云端服务的负责人。“除了已经宣布支持OpenStack的成员之外,我们还跟其他人讨论过这件事,像是一些对OpenStack有浓厚兴趣的一流网路架构师。虽然还有很多工作要做,不过一切都在我们的掌握之中”。
OpenStack的创办人遍布在NASA、Rackspace和其他地方。不过其中最重要的几个创办人,曾是彩虹馆内的科技公社的活跃份子,例如现年34岁的Chris C. Kemp,就是在2006年加入NASA的艾姆斯研究中心(Ames Research Center)并创办公社的自由思想家之一。"我们当时只是想找个地方住",Kemp表示,“不过这个地方后来变成一个招揽有趣?人士地方,这是一个让有趣的人一起吃饭、碰面与生活的地方,这些有趣的人具备扩大我们对这个世界认识的能力。”
Kemp后来担任艾姆斯研究中心的资讯长,接着则是担任整个NASA的技术长。就是在NASA与其他彩虹馆相关人士共事的时候,Kemp开启了NASA Nebula专案,这项专案后来让Google的网路杰作能够散布到全世界。在经过两年的奋斗之后,专案的主要开放式平台Nova跟Rackspace的相容平台合并,造就了OpenStack的诞生。
就像Linux一样,OpenStack的诞生可说是奇迹。在当时,命运女神并不是站在Kemp的这一边,即使想在NASA内部进行Nebula这个专案都不是件容易的事。除了因为Nebula专案跟NASA的使命不怎么相关之外,NASA内部的官僚系统,也不适合这种能够跟全世界开放共享的创作,这个专案能够这么快速地在列强环伺的科技世界中找到容身之处,的确是件困难的事。
“这项专案打从一开始就遭遇了种种困难。事实上,从头到尾就是个不可能的任务”,Rick Clark表示。Rick Clark在OpenStack专案进行的初期任职于Rackspace,现在则在Cisco协助推动相关专案。“你必须同时讨好NASA、NASA法务团队、Rackspace法务团队、Rackspace董事会,以及其他研发人员。这个专案的诞生只能说是老天保佑!”
OpenStack联合创始人 Josh McKenty
NASA 找到失散多年的双胞胎兄弟
NASA跟Rackspace的联手,始于某篇部落格的文章。这篇文章大约在2010年初夏时出现在网路上,当时几乎没有人注意到。Joshua McKenty在这篇部落格文中写着:“启动Nova”。Joshua McKenty不但是NASA的承包商,也是彩虹馆的常客之一,他在文章中提到:“这是个用Python程式语言写成云端运算软体,使用Apache许可证方式授权。这东西可以用、很多缺陷、是个试用版,赶快来试试看吧。”
使用Python程式语言写就的Nova,基本上是亚马逊弹性云端运算的仿制品。亚马逊弹性云端运算能让使用者在不需设定个人实体机器的情况下,操作软体应用程式,只要使用者有需求,就可以获得更多的虚拟伺服器。它跟亚马逊弹性云端运算最大的不同点,在于Nova是开放式软体,由于Apache许可证的关系,所以想要使用Nova架构弹性云端运算的人,都可以任意使用这个平台。
在Nova上线一个星期后,有人告诉Rick Clark这个消息。前一年九月,Clark从Canonical(Ubuntu Linux distro的供应商)跳槽到Rackspace,并接下建立一个能够打造基础设施云端(infrastructure clouds)开放式平台的任务。当时几个Rackspace的高阶主管正在推动同样的专案,其中包括企业发展部门的副总Jim Curry与策略长Lew Moorman。
在Clark看过NASA的Nova程式码之后,对于Nova跟Rackspace本身正在进行的开放式平台间的高相似度感到相当震惊,久久无法自己。所以他很快地发送了一封电子邮件给Rackspace的巨头们,“NASA,差不多领先我们三个月的进度”,他在信中写着,“我们需要跟他们谈谈,看看有没有什么合作的方法,好让我们使用他们的程式来进行进一步的修改。”
Clark从来没有想过NASA会真的跟Rackspace合作,不过显然这间公司跟NASA之间很有缘份。Clark的老板(企业发展部门副总Jim Curry)的老爸是一名在NASA服务四十年的工程师,他的工作主要是研发供给太空梭与太空船使用的隔热系统,因此Curry从小就在德州休士顿的NASA太空中心底下长大。Curry在NASA跟Kemp搭上线的一个星期后,几个Rackspace的员工就飞到矽谷跟NASA的团队开会。他们跟NASA的团队先是在艾姆斯研究中心碰头,然后一起在附近的泰国餐厅吃饭。此时Rackspace跟NASA之间的缘分又加深了一层。
“这好像找到失散已久的双胞兄弟”,McKenty表示,“这真是我这辈子最诡异的一个经验。我们使用同样的工具,选择同样的语言程式。我们这两个研发团队里面没有一个人曾经见过对方,而且我们两边都说:哇!你们刚写的程式码正是我们正打算要写的。”
更巧的是,两边的程式码基底(code base)是相容的。当NASA在打造Nova的时候,Rackspace已经完成一个叫做Swift的平台;Nova提供虚拟伺服器,也就是运算处理能力,而Swift提供资料储存功能;Nova是仿造亚马逊弹性云端运算的功能,而Swift则是仿造亚马逊简易储存服务(Amazon's Simple Storage Service,S3)的功能。在晚餐席间,两个团队决定将这两个专案结合在一起,并且开放程式原始码,同时决定使用“OpenStack”这个名称作为新专案名称。
不过离这样的目标还有很长的一段路要走。当餐后要付帐的时候,这群工程师意识到没有一个简单付帐的办法,在NASA,公务员与承包商必须付自己的餐点费。“去吃饭的人大概有20个人吧,而且我们是共享所有的泰式餐点,所以我们得试着按照人头来分配费用”,任职于Rackspace的Jonathan Bryce表示,“当时我想,如果这就是跟政府一起工作的缩影,这专案永远不会成功吧”。
这的确是跟政府合作的缩影,这也难怪Nova面世是多么令人跌破眼镜的一件事。
Google 跟用不完的基础设施
2006年,艾姆斯研究中心为了将这个NASA的矽谷前哨站带入网路新纪元,所以换了个新的主任。新主任上任后,马上招揽新血,其中就包括Chris Kemp与其他四个后来搬进彩虹馆的员工。彩虹馆距离艾姆斯研究中心大约只有15分钟的车程,而Kemp的新工作就是改变NASA。
Kemp原本是Silicon Graphics驻阿拉巴马州亨茨维尔(Huntsville, Alabama)办事处的系统工程师;这个办事处的任务,主要在于支援NASA马歇尔太空飞行中心(Marshall Space Flight Center)的火箭科学家。后来,他成为Classmates.com的首席网路架构师,这间公司正是90年代网路泡沫热潮中的佼佼者之一。
在NASA艾姆斯研究中心编号200号的建筑地下室安顿好之后的七个月内,Kemp马不停蹄地到处奔走。他敲定Google与NASA间的合作案,让网路巨人Google 能够协助NASA在公共网路上传送月球与火星影像。然后,作为Kemp的第二个功绩,他让Google的高阶主管把他们的私人喷射机停在艾姆斯研究中心的飞机场上。
这笔开放飞机场给Google使用的生意,每年为NASA带来一、两百万美金以上的额外收入。不过相较于机场交易,Google Moon与Google Mars给NASA带来的影响更为重大。在此之前,Kemp曾经在微软进行类似的网路服务,所以对于Google和微软之间处理通讯基础设施(backend infrastructure)的手法不同,深感冲击。
“在Google,基础设施像是不用钱的一样”,Kemp 表示,“Google那种自由放任(laissez-faire)态度就像是在说:‘没问题,我们随时都有几千个TB的空间可以用。’微软的态度跟Google则是完全相反。在微软,资料储存空间是被某些特定单位所把持,所以你必须跪下来求他们,想尽办法去借或是去偷一些运算资源来用。在NASA的情况就更艰难了,因为NASA完全没有任何基础设施来容纳这些东西。”
过去这几年来,Google建造了无以伦比的基础设施:一个横跨众多服务器的软体平台,让Google的研发人员可以任意扩增或缩减他们的应用程序。而这个基础设施仅供Google本身使用,并不需要像亚马逊弹性云端运算一样跟整个世界共用。同时,亚马逊弹性云端运算跟Google基础设施的技术概念其实是类似的。
因此,Kemp认为类似亚马逊弹性云端运算与Google的基础设施,正是NASA所需要的。他希望NASA毋须藉由Google、微软或亚马逊的协助,就可以自己传递自家的高解析度影像。
“我认为NASA应该要能够传递这份宝贵资料,好让类似Google Earth和微软的太空望远镜(WorldWide Telescope) 的平台能够使用这份珍贵的资料”,Kemp 表示,“我们不能总是说这是Google或微软要解决的问题。而当时现实的情况是我们还没有自己的基础设施。这就是为什么我们会想要发起这个专案原因。”他帮这个专案取名为“NASA, Nebula”,而这个专案最终导致了Nova的诞生。Joshua McKenty表示,在接下来的那几年里,大部分的策略会议以及一大堆的加班写程式,都是在彩虹馆的餐桌上完成的。
白宫拯救Nebula 免于被摧毁的危机
NASA Nebula本来仅是亚马逊公有云的仿制品,或是另外一个失败的政府专案。不过在2009年的时候,事情有了转机,这个专案获得美国第一位联邦资讯长Vivek Kundra的青睐。当奥巴马在2009年就职美国总统的时候,他创造了资讯长这个职位,希望能够借此大幅改善政府科技基础设施的体质,而NASA Nebula刚好提供了这个机会。Kundra把Nebula视为一个平台,可以让包括NASA在内的的联邦政府部门,都在上面使用应用程式。
“在那个时候,技术的部分还很青涩”,Kundra表示,“不过当时我可以预见,采用这个技术之后,很可能会打破我们过去使用科技的模式,这也就是我们所说的数位油田( digital oil)。旧模式非常不经济,会消耗很多资源,每个政府单位都必须准备足够的空间,好应付尖峰使用时段,不过除了尖峰时刻之外,大部分的空间都不会用到。”Kundra表示,政府的资料中心只会用到所有资料储存空间的40%左右,以及大约27%的运算处理能力。而Nebula的降临,将改变这一切。Nebula不但具备运算处理能力,也有资料储存空间功能,让每个单位要用到的时候就可以拿去用。
所以Kundra把Chris Kemp转调到白宫,并利用NASA Nebula,打造了网站“USAspending.gov”,用来将政府花费的相关资料公布给大众。同时Kundra也拟订了相关专案,希望能够推广这个平台到其他政府单位。
这时候遇到的问题是,某些美国立法者和NASA官僚打算要中止这个专案。Kemp表示,反对者中的领导者是参议员Richard Shelby,他是参议院拨款委员会(Senate Appropriations Committee)的主席。Shelby的办公室并没有针对这件事给《Wired》回覆,不过Kemp表示,参议员认为Nebula会让很多人失业。“每次我在华盛顿提到云端技术可以让资料中心在无人状态下运作时,我的话就会被解读为工作机会将因此消失”,Kemp表示,“这个专案面对了很艰辛的政治挑战,之前掌管整个NASA的长官,甚至打电话要求我解释这件事。”
Kundra谈到这件事的态度比较委婉。他表示,这不过是在推行新观念时面临了一些阻力。而现任NASA艾姆斯研究中心IT技术长的Ray O'Brien,说法和Kundra也很类似。不过据Kemp所言,当时这个专案很可能拿不到任何资金,甚至因而无法继续下去。
华盛顿方面施加的压力,差不多在2009年秋天时到了临界点。那年秋天,Kundra飞到矽谷艾姆斯研究中心,亲自主持联邦政府云端策略(cloud computing strategy)的正式运作,以表示他个人于公于私都支持Nebula专案。“没有Vivek在白宫为我们奔走,我们没办法完成这个专案」,Kemp说,「当时我的团队正在全力制作可能会在国会调查用到的文件。不过Vivek才是那个真正出力阻止他们的人。”在这种状况下,NASA Nebula运作的状况不如预期,则是另一个令人头疼的问题。