OpenStack有极高的人气,并且获得了传统厂商的支持。一时间风起云涌,部署了OpenStack就拥有了云平台,果真如此吗?OpenStack的“成功”是众多厂商和媒体过渡宣传的结果。传统IT厂商通过支持OpenStack,来带动私有云销售,从而卖出更多的硬件产品、服务或者托管云服务。经济利益驱使传统IT厂商不遗余力地炒作OpenStack,吸引了用户的眼球。
Gartner的分析师认为OpenStack还“太嫩”,给过热的市场打了一针退烧针。“它(OpenStack)拥有良好的API,但其本身却并不属于云管理工具。它只是一套框架,大家能够以此为基础构建自己的方案,而这也正是我们遭遇难题的原因所在:这可以说是一种科学项目,大家需要对此拥有清醒的认识。”简单的类比,客户需要一栋房子,而OpenStack只是图纸。有人会好奇,“PayPal不是用OpenStack很好吗?”。实际上PayPal并不是一家传统企业,而是一家有技术实力的互联网企业。就是说,用户如果有足够的技术储备、资本和时间,可以按照图纸盖房子。讽刺的是OpenStack的联合创始者NASA在2012年就已经放弃使用OpenStack转而采用AWS的云服务。
OpenStack离成熟还很远,有可能永远都不能成熟,主要原因如下:
1.OpenStack在集成性、扩展性和稳定性上还远远不足,如果要选用,需要一支专家队伍帮助实施。例如在社区中被吐槽最多的升级问题——Nova,Swift,Cinder和Neutron分别使用各自的数据库存储配置信息,要升级就要修改多个数据库schema,做不到热升级。再如,HP作为OpenStack的白金会员在部署网络服务(Neutron)时,遇到了噩梦般的经历,不得不重写网络组件的代码才能达到大规模应用的要求。
2.OpenStack缺乏完整性。成熟的云平台应提供计算、存储、网络、安全、数据库、大数据、中间件、DevOps、监控等多种云产品。OpenStack只能提供计算、存储、网络三种云产品,如果客户需要大数据能力,必须自助搭建Hadoop集群。问题是:“谁能够打通OpenStack和Hadoop之间的账户、安全、管理运维和监控体系?”
3.OpenStack不能提供端到端的服务保障。云平台必备的自动化部署、自动化运维、状态监控、设备管理、可用性检测、安全性、可靠性和平台自修复功能在OpenStack中或者缺失,或者散落在单独产品中。客户拿到手的只是散落的“骨架“,必须手工将多厂商、多版本的逐个功能集成起来。
4.OpenStack缺乏通用的基础版本。OpenStack开源社区已经成为了各传统IT厂商抱团取暖的手段,但是由于各自的利益需要平衡,造成了开源社区的版本特性迟迟无法稳定且版本之间差异很大。使用OpenStack不会被厂商绑定是个伪命题,OpenStack可下载的厂商定制版有20多个。客户根本不知道应该选择哪个版本,更不要说在不同厂商版本之间组合、混搭、迁移了。
OpenStack作为开源管理框架,设计初衷是好的。给众多开发者、科研院校在小规模环境下实验云环境创造了条件,推动了云技术发展。但是,站在用户的角度看,特别是不具备软件开发、运维能力的传统企业,大规模采用OpenStack会变成一场灾难。在风云变幻的市场上,资本的损失可以弥补,时间和机会的损失使客户处于竞争劣势,需要三思而后行!