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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏罗超频道

安卓ROOT权限是厂商的春药,用户的毒药

国庆节前夕, 360手机助手提供一键ROOT功能,建议用户卸载一些预装应用,还将某些预装应用称为“牛皮癣”。这个举动遭到6家互联网和手机厂商强烈反弹,纷...

34660
来自专栏CSDN技术头条

实习申请被Apple Music拒了之后,我重新设计它

Jason Yuan,美国西北大学一名大学生,今年早些时候申请了Apple Music平面设计实习生。被拒后,花费了近3个月时间,重新设计了Apple Musi...

28160
来自专栏企鹅号快讯

一位资深程序员大牛给予Java初学者的学习道路主张

Java学习这一部分其实也算是今日的要点,这一部分用来答复许多群里的朋友所问过的问题,那就是你是怎么学习Java的,能不能给点主张?今日我是计划来点干货,因而咱...

20250
来自专栏机器之心

业界 | 英特尔9代酷睿CPU正式发布:制程不变,超线程被砍

在英特尔今天发布的众多公告中,最重要的一条就是该公司发布了第九代酷睿处理器,在英特尔主流消费平台上提供多达 8 个内核。该处理器与当前的 Coffee Lake...

13840
来自专栏阮一峰的网络日志

每周分享第 28 期

欢迎投稿,请前往 GitHub 的 ruanyf/weekly 提交 issue。

14250
来自专栏知晓程序

这 10 个小程序大家都玩嗨了!你还不知道吗 | 7 月热榜

在上个月,各种能让微信群更好玩的小程序,成了知晓商店(minapp.com)里的当红炸子鸡。

15630
来自专栏镁客网

MIT研发无人机仓库管理系统,或将帮沃尔玛省下几十亿美元

12900
来自专栏CSDN技术头条

Docker、CoreOS、Google等公司联合建立通用容器标准

基于Linux基金会的帮助,Docker、CoreOS、谷歌、微软、亚马逊目前正在致力于建立一种针对软件容器的新标准。这个联盟的其他成员包括Apcera、思科(...

21750
来自专栏Debian社区

Canonical 宣布临时关闭 Ubuntu 17.10 下载通道

鉴于众多联想笔记本用户报告尝试安装最新Ubuntu 17.10(Artful Aardvark)导致BIOS损坏的问题,Canonical 公司于今天宣布撤下最...

7520
来自专栏阮一峰的网络日志

每周分享第 23 期

社会学家按照收入,把所有美国的职业分成100个等级。收入最高的职业为100分,收入最低的职业为1分。在这个体系里面,医生是93分,空姐是53分,擦鞋工是9分。

16340

扫码关注云+社区

领取腾讯云代金券