OpenStack Design Summit & Conference 2012速递
文 / 程辉OpenStack,火热正当时2012年4月5日,OpenStackEssex版本正式发布。按照OpenStack社区的传统,正式版本发布之后就会举行OpenStackDesignSummit和OpenStackConference两场活动,简称“两会”,今年也不例外——“两会”在美国旧金山如期而至。OpenStackDesignSummit为期三天,是一场...
·
文 / 程辉
OpenStack,火热正当时
OpenStack Design Summit
为期三天,是一场技术
Geek
盛会,主要面向社区贡献者;
OpenStack Conference
为期两天,是一场综合性会议,主要面向企业和用户,既有用户案例,又有技术分享。
由于新浪云计算在生产环境中部署
OpenStack
较早,且积极参与社区贡献,所以我也受邀在“两会”上做了技术分享和主题演讲。本文将主要谈谈
OpenStack
及其社区的现状。
OpenStack生态系统正在形成 2010
年
7
月,
OpenStack
发布第一个版本
Austin
。当时只有两个核心项目:计算资源虚拟化项目
Nova
和对象存储系统
Swift
。不到两年时间,第五个版本
Essex
已发布,核心项目增加到
6
个。新增的两个值得关注的项目是统一认证与授权项目
Keystone
和网络虚拟化项目
Quantum
,还有一批正在孵化期的项目和大量第三方开发的项目或插件,如数据库即服务项目
RedDwarf
、队列服务
Burrow
等。 IBM
、
HP
、
DELL
、
Intel
等
IT
巨头纷纷表态加入
OpenStack
阵营,大批互联网企业、传统软件服务商等也开始在测试或生产环境中部署
OpenStack
。开源项目能获得如此多的支持实属少见。 同时,基于
OpenStack
的商业模式正在形成。在北美,涌现出一批基于
OpenStack
的创业公司,影响力较大的是
Piston
,它立志成为
OpenStack
领域的
RedHat
,是几位
OpenStack
创始人,包括前
NASA
首席架构师
Joshua McKenty
于
2011
年成立的。它提供了
Piston Enterprise OS
及企业服务,特点是快速部署和安装,只需一个
U
盘便可在几分钟内将一批裸机架部署完成。其他值得关注的创业公司,如
Mirantis
,提供
OpenStack
培训和人力资源服务;
SwiftStack
,提供基于
Swift
的私有云存储服务解决方案;
Nicira
,利用
OpenFlow
协议和
Open vSwitch
为
OpenStack
提供商业的网络虚拟化解决方案,它们的工程师主导了
Quantum
项目的开发,且将
Nicira NVP
插件集成到
Quantum
项目中。 另外值得一提的是
HP
对
OpenStack
的商业化尝试。
HP Cloud
算是最大的一个完全基于
OpenStack
的公有云项目,经历了半年多的免费测试期之后,终于在五月中旬推出
Beta
版。
Quantum:OpenStack下一代网络解决方案 在
Design Summit
上,关于网络的讨论是一个热点。之前,
Nova
项目
PTL
(
Project Technical Leader
)
Vishy
已经宣布,目前
Nova
中的网络部分不接受大改,只允许
bugfix
,网络相关的功能将全部由另一个核心项目
Quantum
实现。
Quantum
定义网络操作相关的
API
,并且就像
Nova
通过插件式的架构支持不同的
Hypervisor
驱动一样,
Quantum
也支持多个不同实现,既可以操作虚拟交换机,也支持物理交换机。
目前官方支持的驱动有
Nova Network
模块正用的
LinuxBridge
和
OpenvSwitch
,还支持商业的
Cisco UCS
以及
Nicira NVP
。
Quantum
跟
Nova Network
模块的关系可以理解为
Nova Network=Quantum+LinuxBridge Plugin
。目前
Quantum
项目完成了二层网络相关的功能,如创建和管理虚拟网络、端口等。另一个负责三层网络的项目是
Melange
,它的主要任务是
IP
地址管理(
IPAM
)、
DHCP
、
NAT
甚至负载均衡。不过未来,
Melange
将最终合并到
Quantum
项目中,以补充其三层网络功能,实现大统一,也避免多个网络相关的项目同时存在而造成用户困惑。
Swift存储 在
Design Summit
上,
Swift
是一个热门话题。一位来自
Nexenta
的七十多岁的老太太
Caitlin Bester
非常引人关注。她讲解关于
Swift
的多版本支持和排重技术,技术含量很高。
Amazon S3
很早就支持单文件多版本,但
Swift
一直没有类似功能。多版本对于互联网业务和数据安全都很重要。同时,倘若文件支持多版本,那么势必大幅增加存储空间占用,因此,这时文件排重就显得尤其重要。 正因为如此,
Caitlin
同时提出这两个问题的解决方案:对于多版本支持,
Swift
的
Proxy Server
通过为每一个
PUT
新文件的请求,定义一个分布式版本
ID
来标识,这个
ID
的生成不依赖上一个版本,并且与
Swift
的
Share-Nothing
架构保持一致,不依赖中心
metadata
存储来生成;对于排重,基于文件块(
Chunk
)来做,而不是对象级别,客户端(可以是
Proxy Server
)在上传每一个块时,计算它的散列,然后向系统查询这个块是否存在,如果存在就不必继续上传后面的存储节点;如果不存在则继续。当然,还有很多其他因素需要考虑,篇幅有限,感兴趣的读者可查阅设计文档。 Swift
即将发生的另一个变化是
PTL John Dickinson
提出来的。
Swift
代码目前比较臃肿,尤其是在
Essex
开发周期中,大量的新特性、新功能加入到了代码核心中,代码审查人员需要完全熟悉日益增长的代码,给代码审查带来了些困难。因此
John
提议将
Swift
周边的功能,如
tempurl
、formpost
、
staticweb
、
rate limiting
、
swift3
、
cname lookup
等中间件移出来,成为
Swift
的附属项目。
计费与监控 越来越多的公司开始将
OpenStack
商用,但都面临同一个问题——不得不自己开发统计与计费模块和监控功能,因为
OpenStack
官方缺少类似项目。新浪也面临同样的问题,因此开发了计费和监控两个项目,并在
Design Summit
的一个分会场上分享了计费项目
Dough
的开发和设计,同时,新浪也在
GitHub
上开放了
Dough
的源码,并邀请现场开发者一起参与并改进这个项目。 另外,本次
OpenStack Conference
期间,亚太地区的
OpenStack
社区代表举行了两场座谈,讨论亚太地区
OpenStack
大会的相关事宜。有个重要的议题是第一次会议举办的时间和地点。对于举办时间,与会代表很快达成一致,即在两次
OpenStack
发行版之间,但对于举办地点,各国代表都希望在本国举办,后来才达成一致—在中国举办。
小结 本次
OpenStack
两会中,充分感受到了
OpenStack
一直所宣称的四个
Open
:
Open Source
、
Open Design
、
Open Development
、
Open Community
。
OpenStack
使用的是对公司最友好的
Apache 2
开源协议。任何人都能参与设计和开发,甚至提出创立自己的项目。只要经过社区讨论,并达成一致,就可以按照你的标准。期待更多的中国公司和开发者参与到
OpenStack
社区中。
作者程辉,新浪云计算技术经理,2009年加入新浪SAE,曾担任SAE系统开发工程师和运维负责人。2011年初开始研究OpenStack,并组建团队,成立基于OpenStack的项目SWS(Sina Web Services),为新浪内部和合作伙伴提供IaaS层服务。
本文选自《程序员》杂志2012年06期,未经允许不得转载。如需转载请联系 market@csdn.net
《程序员》2012年杂志订阅送好礼活动火热进行中 首届OpenStack亚太技术大会将于8月10日、11日在北京、上海召开,详情请参见大会官网(
openstack.csdn.net),欢迎
讲师报名、
听众报名。感兴趣的网友,请关注
@CSDN云计算微博和
国际云计算技术交流群,了解此次大会最新动态和OpenStack更多资讯,参与交流讨论。
2012年4月5日,OpenStack Essex版本正式发布。按照OpenStack社区的传统,正式版本发布之后就会举行OpenStack Design Summit和OpenStack Conference两场活动,简称“两会”,今年也不例外——“两会”在美国旧金山如期而至。
更多推荐
已为社区贡献1642条内容
所有评论(0)