Tuesday, April 10, 2012

OpenStack - 开源云计算项目


时下云计算如火如荼,众多企业纷纷推出云计算相关的应用,不少还搭建企业私有云和少数公有云(代表为Amazon)。然而,业界仍然缺乏一套实用的云计算管理平台,很大程度上提高了云计算应用的门槛,制约了云服务的发展。

作为开源的IaaS(Infrastructure as a Service)平台,OpenStack遵循Apache许可,其长期设计目标为同时服务公有云和私有云,提供统一的开源资源管理平台。

OpenStack是美国国家航空航天局(NASA)和Rackspace合作研制的云计算管理软件,最初目的是存储大量的空间视频、图片等信息,随着云计算需求的增长逐渐成长起来。

自2010年7月项目成立开始,OpenStack就收到广泛关注和支持。项目成员不乏业界巨头,包括Cisco、Citrix、HP、Intel、Dell、IBM、Microsoft等。其中Dell和HP公司还利用OpenStack创建了自己的云计算解决方案,当然,所使用的企业版本与开源版本有所区别。经过两年左右的发展,该项目已经吸引了超过160家公司和2600多名开发者,足可见认可程度。

目前,OpenStack项目由若干子项目组成,包括计算组件Nova、存储组件Swift、镜像管理组件Glance、认证组件Keystone、前台组件Horizon和网络管理组件Quantum。其中前三个组件是OpenStack的核心,经过长期开发和完善,已经较为成熟。大部分的组件都是松耦合联系,支持分布式,较好的保证了扩展性。

OpenStack在虚拟化技术上支持Xen、KVM、VMware、ESX、LXC、QEMU、UML等,并通过统一的虚拟层(Libvirt)来调用,实现底层对用户透明。对现有虚拟化技术较为全面的支持使得OpenStack可以被广泛部署在多种场景,而不用担心底层需要选取哪家技术实现。同时,OpenStack还支持亚马逊的EC2和S3的API,使得面向AWS(Amazon Web Services)开发的应用可以轻松的实现迁移。

OpenStack的版本命名与Ubuntu类似,按照字母顺序,分别为Austin、Bexar、Cactus、Diablo、Essex。最新版本为第五版的Essex,这一版经过了较长的开发周期。从第五版开始,OpenStack开始注意代码的质量和用户的体验,真正可以作为较为实用的云计算管理平台。

另外,根据最新的消息,OpenStack将在今年的4月16-18日在美国旧金山举办OpenStack Conference & Design Summit峰会,讨论该项目的未来发展,大家不妨略作关注。

客观地看,OpenStack对推动云计算的发展有着积极的作用(类似的项目包括OpenNebula、Eucalyptus等),但目前的版本,功能还比较简单,面向的群体也有限。同时,不支持网络虚拟化等新兴技术,在某种程度上制约了OpenStack的功能和性能。希望OpenStack在未来能更加完善,成为功能完善而又易用的云计算平台;也希望有更多的优质开源云计算项目能够成长起来,促进产业的发展。对OpenStack有兴趣的朋友可以尝试访问官方网站,或者trystack.org,简单注册后即可进行体验。