在我刚开始接触OpenStack这个开源项目时,就被它开放的口号吸引了,该项目确实能对构建开放云基础架构产生深远影响。在此之前,云基础架构的主要两大阵营是Amazon API及其兼容架构和VMware的vCloud。作为第三种选择,OpenStack为服务提供商和电信运营商提供了一个开放的平台,至少在这一领域我们需要打破双寡头的垄断,引入具有竞争力的参与者。
开放为何如此重要?
大多数人认为云基础架构互操作性的问题在于磁盘镜像格式(例如VMDK、VHD和qcow)或者是 hypervisor。而实际上,很多磁盘镜像格式是块存储,在VMDK和VHD之间转换并非技术难题,特别是大多数hypervisor都依赖于硬件虚拟化(HVM)的情况下效率不是问题。那究竟是什么阻碍了不同云之间的数据迁移呢?简言之,是架构不同。如果每个云都有自己的存储和网络架构,就会造成人为的困难。
一直以来,对于亚马逊网络服务及其他云服务抱怨最多的就是“导致用户被绑架,无法轻易转移数据”。在云计算社区,有一个流行的概念,即数据是有重量的,一旦你将数据存在某个云计算提供商那里,它就变得繁重而难以迁移。OpenStack构建了一个强大的社区并足以推动实现一个标准化的可互操作的参考架构。
总之,OpenStack为希望像AWS和Google一样提供开放云基础设施的企业提供了一个可行路径。
与Amazon相比,OpenStack要开放很多
世界变了吗?
2010年,OpenStack项目刚刚启动时就已经有人在说:
“OpenStack, with a strong community behind it, should be an important tool for service providers and large telcos to compete at scale with the Amazon and Googles of this world.”两年的时间过去了,现在这个“strong communtiy ”
在全球已经有20多个用户组,近3000名成员,以及165多家企业,其中既有初创公司也有跨国企业,并且有55家以上的企业大约200名开发者贡献了代码,包括来自中国的新浪。
但它是否已经成为“an important tool for service providers and large telcos to compete at scale”了呢?目前来看毫无疑问的是,像KT、Internap和HP等都已经部署了OpenStack平台,而所发生的这一切只有不到两年的时间。
现在,OpenStack社区正在朝着成为自Linux以来下一个最有影响力的开源项目而迈进。由19家公司组成的OpenStack基金会已经成立,标志着OpenStack社区将会有长期的财政支持,并开始独立运营。
还是“那个”OpenStack吗?
OpenStack社区于2012年4月5日顺利发布Essex版,该版本最大的特色就是“production-ready”,主要包括以下五个组件:
Nova:对应于Amazon EC2,控制IaaS;
Swift:对应于Amazon S3存储,对象存储;
Glance:处理虚拟磁盘镜像,支持qcow2(KVM)、AMI、VMDK(VMWare)和VHD(Hyper-V)等格式;
KeyStone:提供通用的身份管理服务;
Horizon:提供基于Web的管理服务。
Essex的主要新特性有以下几个方面。
Swift的改进
支持对象过期时间,例如可以设置文件在某个时间点过期,可用于文档管理系统根据策略保留文档。还增加了中间件模块允许开发者创建控制面板直接上传文件到Swift。
Nova的改进
增加了基于角色的访问控制(RBAC),Nova目前可以支持对动作和扩展的可配置的权限控制,改善了orchestration特性,同时也提高了安全性。
集成Keystone
Keystone是OpenStack的通用身份管理系统,有两大功能:基于token的认证(authentication,即authN)和基于用户-服务的授权(authorization,即authZ),可以连接外部认证系统,如 LDAP。
Volume的改进
支持从Volume启动,虚拟机根分区不需要本地存储,为以后的虚拟机迁移提供了方便。
支持Volume的快照备份API。
Glance的改进
同样,Glance也支持RBAC,保护镜像文件,以防止意外删除虚拟机镜像文件。并且采用可配置的进程数以避免之前受限于单一CPU而带来的性能问题。
其他改进
API默认支持https。
对OpenStack中组件之间的消息通信加密。
数据库权限分离,每个API Server使用自己的数据库账号,并且只能管理自己API所关心的数据表。
更加友好的Dashboard。
小结
从Essex版本的这些组件和特性看出,随着OpenStack的不断完善和发展,必将成为开源云计算的一大先锋。