分享

“让云计算落地”系列之三:OpenStack的身世之谜

 heii2 2017-04-17

 

【导读】良驹来自NASA,系出名门;宝马也源于Rackspace,自由不羁。拥有世族的身世,却总在风中狂舞。这两家在文化和世界观上具有强烈差异的机构和公司,竟然合力培育出了OpenStack这匹宝马良驹,这背后的深层原因究竟是什么?


      前两篇《让云计算落地》系列文章,谈了OpenStack的野生千里马本质,还比较了各种“驯马”的具体办法,这回,咱们来揭开这匹野马的身世之谜。

        在《“让云计算落地”系列之一:OpenStack,不驯的野生千里马》中说过,2010年7月,NASA(美国国家航空航天局)和Rackspace共同发起了OpenStack开源云平台项目。

         NASA是美国政府机构,Rackspace是一家商业公司,彼此都不是一个路子,OpenStack也不是一个商业项目,而是开源软件项目,而且,NASA内部其实官僚得很,本来也缺乏开源软件共享创作的基因。这两家怎么就能心往一处想,劲往一处使了呢?

        这事,还得从头说起。


被逼出来的Nova

        回到2010年,那时候,NASA已经在云计算上投了很多钱,在现成的开源云平台“桉树”(Eucalyptus,主要由加州大学圣塔芭芭拉分校的学生开发)之上,NASA团队做出了NASA Nebula这个平台,是亚马逊公有云的一个仿制品。

        但是,对作为Nebula平台基础的“桉树”整体技术架构,NASA团队并不满意,而且,“桉树”毕竟是一帮学生干出来的,代码里有很多质量问题,有一些还是很严重的漏洞。

        NASA团队准备自己把这些问题解决,就向“桉树”要相关代码。

        这些代码直接涉及了商务企业版“桉树”(即E3,Eucalyptus Enterprise Edition)的核心功能特性,比如:全面的管理、与SAN环境的良好集成、更优异的后台数据库性能、还有与VMware的良好兼容性。这些功能,在当时是极大的技术优势,而“桉树”创建人刚成立了一家公司,正想要按商业模式去运作这个产品,技术优势当然就是商业产品的卖点,人家指着这些卖点去赚钱,当然不肯把这部分源码交给NASA团队。

        NASA团队无路可走,只好推倒重来,干脆另起炉灶,一帮人用Python写出了Nova(负责管理虚拟机的计算服务)。其实,也一样是仿照,就是照着亚马逊的弹性云运算(Amazon EC2,即:Amazon Elastic Compute Cloud)做出来的,整得挺牛,就上线运行了。

哥俩联手,创建OpenStack

        Nova上线刚一星期,消息就传到了正在搞开放式云平台的Rackspace公司,项目经理一看,当时就给惊着了:Nova跟他们正在弄的东西太像了,而且在进度上要领先3个月。他马上写信给公司高层,说想跟NASA谈合作。

        在Rackspace公司高层中,有人是NASA的内部子弟,人事关系熟得很,很快就跟NASA开发团队的负责人搭上了。一星期后,Rackspace的几个人去硅谷和NASA开发团队见面,先在NASA里面谈,谈得正高兴,饭点到了,就在一起吃晚饭,边吃边聊。

        越聊越投机,这两拨人实在是太像了,就像是从小失散的双胞胎兄弟第一次相聚。两拨人相互都没有见过对方的人,可就是那么巧,都用了一样的开发工具,采用相同的编程语言。

        聊着聊着就大喊大叫:“靠!你们也在弄这个!我们正打算干呐!”

        真是太巧了,两个团队的基准代码都相互兼容,而且,双方都有彼此想要的东西:NASA已经推出了Nova,模仿亚马逊的EC2弹性云计算,可以提供计算服务;Rackspace手上刚好有Swift,模仿亚马逊的S3简易存储服务(Amazon's S3,即:Amazon's Simple Storage Service),能够支撑存储服务。

        酒逢知己千杯少,喝着酒,吃着饭,两边就定下来了:用开源方式发起一个新项目,NASA拿出计算服务Nova的代码,Rackspace贡献存储服务Swift的代码,从此,兵合一处,将打一家,哥俩联手一块儿干。

        新项目的名称是OpenStack。


开源许可协议的难题

        还不到高兴的时候,因为麻烦事才刚刚开始。

        大伙儿都说要用开源方式去推这个项目,但开源的具体方式也是有讲究的,最关键的问题就是:用什么样开源许可协议?

        说起来有点复杂,IT业界有很多开源软件许可协议,有宽松的,也有严格的。NASA也有自己的开源软件许可协议,要是采用这个协议去开放Nova代码,事情很容易就会办好。但是,NASA团队的目标很大,想整一个开放式云平台,人人都可以使用和进行修改,要是在那样的许可协议下开放Nova源代码,限制太多了,其他产商不会想加入,这个项目根本就长不起来,更别说那个宏伟的目标了。

        思来想去,两个团队的头儿都觉得:还得用Apache许可协议。

        在Apache许可协议下,软件可以被自由地修改、再发布,也可以商用。这个协议很宽松,甚至还授予用户适用于版权和专利权的权利。这很不简单,要晓得,有的开源软件许可证只适用于版权,但不适用于专利权,Apache许可协议能宽松到这个程度,专利开发者当然是最拥护的,公司机构肯定也特赞成。很清楚,只要采用Apache许可协议,OpenStack就能吸引大量的开发者和公司加入。

        这么说吧!两个团队的头儿都这么想:无利不早起,Apache许可协议很宽松,保证了所有参与者(个体、公司、组织等)的利益,用这个许可协议,才能聚集人气,让OpenStack项目不断发展。

       采用Apache许可协议,Rackspace公司这边好办,很快就同意了Swift在Apache许可协议下开源,问题在NASA那边。

        NASA开发团队想要把Nova开源出去,光自己想不行,还得上头同意才成。别以为老美都很开通,那官僚习气照样重得很,说是要“研究研究”,事也就那么一直拖着。

        两个团队一合计:只能一边跟NASA官方沟通,一边快速推进这个项目,车到山前必有路,到时候自然会有办法。

        项目进展非常顺利,5个星期后,两个团队决定,在当年7月份举行的开源开发者大会上把OpenStack正式发布出去。

        “万事俱备,只欠东风”,就差NASA官方的许可了。

        但是,直到预定发布日的前一天晚上,NASA的官方许可还没有拿到。NASA团队的头儿彻底抓狂了,心急火燎地卯足了劲儿活动。

        终于,最后时刻,“东风”来了。预定发布日那天,一大早,NASA团队的头儿拿到了NASA官方的最终许可,往会场飞奔而去。


追捧OpenStack

        在开源开发者大会上发布OpenStack的时候,全场轰动,人群的热烈反应远超团队的心理预期。

        跟两个团队所预期的一样,Apache许可协议带来了许多开发者和公司毫不犹豫的支持。

        这边刚刚发布完OpenStack,那边NTT Data(日本通讯龙头NTT的咨询子公司)当场就宣布:跟进支持OpenStack。

        四个月后,闭源商业软件大户微软公司居然宣布支持OpenStack,这是颇具讽刺意味的一幕,但同时,也令人庆幸当初决定采用Apache许可协议的坚定不移。

        第二年,Dell、HP和Cisco等大产商也相继加入了OpenStack阵营,从此,OpenStack迅猛地发展了起来。


宝马良驹,一骑绝尘

        良驹来自NASA,系出名门;宝马也源于Rackspace,自由不羁。拥有世族的身世,却总在风中狂舞。

        就这样,NASA和Rackspace,这两家在文化和世界观上具有强烈差异的机构和公司,竟然合力培育出了OpenStack这匹宝马良驹,从此,一骑绝尘而去。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多