专栏首页SDNLABOpenStack菜鸟笔记:溯源篇

OpenStack菜鸟笔记:溯源篇

OpenStack是一个定位于IaaS(Infrastructure as a Service),旨在为公共及私有云的建设与管理提供软件的开源项目。自2010年发布的第一个A版本,就按照英文字母排序的规律进行版本发布,截至目前已经发布了12个主要版本,现在稳定为每6个月发布一次大的版本更新。

在搜索OpenStack时,会在各种百科中出现这样一个解释:OpenStack是一个美国国家航空航天局(NASA)和Rackspace合作研发的开源云端运算‎软件。“NASA”、“Rackspace”、“开源”这些组合的出现让笔者顿时对OpenStack的历史产生了浓厚的兴趣。所以准备在学习OpenStack之前先发扬八卦精神,码一码他们之间的关系,也让枯燥的学习生活增加一丝乐趣(以下内容均来自互联网搜集整理,如有雷同,请原谅我的copy)。

项目起源

时间回到2010年,当时的云计算场景是这样的,亚马逊的AWS稳坐大当家的地位,Ubuntu选择了Eucalyptus,Redhat放弃Xen选择了kvm(直接集成在Linux内核中)。在IaaS方面有这么几家:Cloudstack(双license)、Eucalyptus(双license)、Nebula(NASA的云平台)、Rackspace Cloud service。

当时NASA已经在云计算领域投入了大量的资金,使用了很多Eucalyptus的代码。他们在该平台上进行了很多深度开发,最后放弃了该平台,据说是NASA的工程师试图获取更多的Eucalyptus 代码,但是失败了,因为这个平台只是开放部分的源码。最初的问题仅仅是扩展性问题,这也是大部分产品最初都会遇到的问题,但是Eucalyptu与NASA的裂痕发展到无法挽回的地步,却是因为NASA发现Eucalyptus不愿向该项目提供解决扩展性问题的代码,即便是该项目并未与Eucalyptus Systems Inc(Eucalyptus幕后的实体公司)造成利益冲突。Eucalyptus幕后公司维护着部分代码,这些代码关系到商业版Eucalyptus Enterprise Edition(E3)的诸多特性,例如管理、SAN集成、更为出色的后台数据库以及与VMware的兼容性,这些功能对公司而言,既不可能也不愿意开源。索性NASA的工程师就用Python开发了Nova,在2010年4月开始筹备OpenStack。2010年7月NASA贡献了自己的云计算管理平台Nova代码,联合了当时第二大云计算厂商Rackspace(贡献了对象存储代码,也就是后来的Swift)发起了OpenStack开源项目。

从此开始便开启了OpenStack的开源进程。当时在OpenStack项目上约定了几个原则:

✔ 项目全部由Python语言开发;

✔ 虚拟机默认使用Kvm;

✔ 项目进行松耦合设计;

✔ 使用GitHub进行代码管理;

✔ 使用Launchpad进行项目管理;

◆ 3个月迭代一个版本(后来改为6个月)

◆ 举办开发峰会

✔ 产业链条设计(更多公司的加入,让开源项目更为蓬勃的发展)

版本演进

在OpenStack中最重要三个部分:控制、计算、网络。从这个版本演进的表格中可以看到,这里面项目的变化情况一直在遵循着某些规律,可以归纳出一些特点。

◆ 松耦合的设计思路贯穿始终。从刚开始的Nova+Swift,慢慢对Nova进行松耦合处理。D版本中Keystore项目的建立,让Swift和Nova有了联系;F版本中Cinder和Quantum成为core项目,希望逐步代替Nova volume和Nova network;I版本增加的Trove数据库服务,Bare Metal(Ironic)。这种松耦合模式让OpenStack更加灵活,并且可以让多厂商进行开发,也保证了OpenStack作为开源项目能够得到支持从而很快发展。

◆ 网络功能优化越来越成为重点。网络功能的加入源自第二个版本,最初作为Nova项目的一个功能Nova network,仅支持所有用户共享一个底层网络,也就是所说的扁平化网络。然而Nova network网络功能不尽如人意。D版本Cisco推动Quantum项目,Quantum逐渐从摆设慢慢壮大到和Nova network抗衡直至逐渐成为OpenStack的标配。随着Quantum改名Neutron,Neutron+Linux bridge、Neutron+OVS、OVS硬件化,让网络能力逐渐丰富和提升。SDN和NFV技术的强力接入,也为OpenStack的网络性能增加了强劲动力。下面把OpenStack中网络功能的演进进行了一番归纳。

◆ 容器技术的强势加入。从OpenStack诞生之日起,Kvm由于其原生于Linux内核的高性能将老牌Xen挡在门外,不过Docker技术的盛行,Kvm和Docker又面临着新的战斗,并且Nova Docker、Heat Docker、Magnum技术让OpenStack和Docker更好结合进行试验,最新的Kuryr项目让Docker网络功能更加优秀。

本文分享自微信公众号 - SDNLAB(SDNLAB),作者:胖欧巴

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-07-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 现在人工智能研究实习生的年薪都有二十几万了吗?

    伴随着人工智能概念在全球的迅速升温,各类企业和应用遍地开花,越来越多的从业者选择进入这一领域进行深度研究,那么人工智能工程师的现状如何?今天我们就带大家感受下美...

    SDNLAB
  • AT&T拟裁员4700人;T-Mobile 出现重大断网故障,影响全美国;美团王兴身家超刘强东

    北京时间 6 月 16 日晚间消息,爱奇艺开盘涨 35.77%,报 26 美元。当前市值为 192.29 亿美元。

    SDNLAB
  • Liberty发布,OpenStack进入Big Tent新纪元

    美国时间10月15日,OpenStack终于按耐不住热情发布了里程碑式的版本——Liberty。 Liberty是今年发布的第二个版本,也是迄今为止的第12个版...

    SDNLAB
  • 七十多年了,机器人三定律是不是该改改了?

    在纽约时报的一篇评论文章中,在去年的TED演讲中,作家、Allen人工智能研究所CEO Oren Etzioni博士建议应该对阿西莫夫的机器人三定律进行更新。鉴...

    机器人网
  • 人工智能取代了劳动力,未来的我们该何去何从

    随着人工智能的技术越来越成熟,而人类都在谈人工智能威胁论,因为超强的记忆以及效率,还有各方面的能力,都远远超越人类,实在令人担心。而很多的劳动力都被替代,因为人...

    企鹅号小编
  • JavaScript和React Native:小程序、iOS App、Android App全搞定

    如果程序员使用React Native开发iOS App和Android App,那么至少和小程序采用的编程语言相同,都是JavaScript。至于布局,wxm...

    蒙娜丽宁
  • 人工智能模型的语义解释能力研究

    原文题目:On the Semantic Interpretability of Artificial Intelligence Models

    Jarvis Cocker
  • Flume 日志收集系统 Spooldir-Source HDFS-sink

    消息 Record,Source封装Event(事件)成为Record对象,并保存到Channel中,Sink拉取Record并保存到目标系统中。

    birdskyws
  • 机器人也来写稿了,媒体记者、编辑的饭碗还端得稳吗?

    人工智能在传媒领域的实践已从最初的数据搜集,延展到内容生产、渠道分发等各环节。未来,在传媒业,人工智能可能取代人力吗,它会给这个行业带来哪些改变和影响? 作者 ...

    企鹅号小编
  • React Native 一个开始

    Oceanlong

扫码关注云+社区

领取腾讯云代金券