给OpenStack泼冷水:谁说技术简单
OpenStack要完全成熟,恐怕要有很长时间的路要走,首当其冲就是解决技术难题。
前几个月OpenStack社区有几件大事发生,其中之一是Nebula公司倒闭,哀鸿一片。还有思杰回归OpenStack技术社区,有技术人员连挖苦带讽刺,大概说思杰自己的ClouldStack做不起来,看到OpenStack如此火热,又回来。加上前一阵红旗在中国推广OpenStack,引来阵阵喝彩。
原本OpenStack是朝着AWS的方向去的,试图取代AWS的技术路线,成为云计算(尤其是私有云)的基础架构。现在看,OpenStack要完全成熟,恐怕要有很长时间的路要走,首当其冲就是解决技术难题。
1.商业问题和技术问题有关系
再次重复一下Nebula的倒闭问题。倒闭具有象征意义,原因是Nebula为“元老级别”的公司,参加过OpenStack社区最早的技术开发,也是早期最核心的贡献者之一。它倒闭的原因有几个原因,产品失误、方向错误;资金断链;用户群没有培养起来,进入太早等等。
正如所有技术都有上升期那样,OpenStack在上升时期,有Nebula这样的黄金团队创业。它的倒闭也预计着上升期结束,进入技术下滑期,也就是老老实实做事的阶段,淘汰了一批不适合的厂商。
这不,正由于OpenStack社区的持续壮大,原来搞硬件、软件和开源的公司全部加进来。思杰也“二进宫”加入,看重的是OpenStack的影响力以及技术的影响力。
但是,不要乐观。
2.社区是博弈的后果
OpenStack不是产品,是技术框架。这好像是给你了一个图纸,告诉你各个组件的功能和位置,接下来就靠厂商自己搭建和维护了。好处是,在这个框架中,只要遵从一定的标准,硬件和软件、解决方案完全解耦,不一定绑定一家产品。
社区有超过180家公司和3300个开发者,各自有目标,都想借助这个框架为用户搭建私有云。大的方向是一直的,各自有如意算盘。怎么说呢,大公司都想成为白金会员,自我制定标准,能控制未来走向,对自己的商业利益有益。
小厂商呢,希望少出力,多借助成型而且“免费”的框架,直接为用户服务。
这就造成OpenStack实质是大厂商“博弈”的后果。比如,红帽让Fedora17来支持OpenStack,但主流和新产品还是自己控制运营的。微软的虚拟化框架Hyper-V,对微软来说,“确保OpenStack重新支持Hyper-V”是最重要的。
这都无可厚非。好处是,这个生态系统充满活力,不断有新鲜的血液补充进来,广泛支持主流技术。不好的地方是,实现路径和商业诉求有矛盾,推进速度太慢。
3.技术始终是门槛
由于厂商众多,发行版本众多,在这个博弈下,造成OpenStack有各种技术上的难点。
.OpenStack在集成性、扩展性和稳定性上还远远不足,如果要选用,需要一支专家队伍帮助实施。例如在社区中被吐槽最多的升级问题——Nova,Swift,Cinder和Neutron分别使用各自的数据库存储配置信息。
OpenStack缺乏完整性。OpenStack只能提供计算、存储、网络三种云产品,如果客户需要大数据能力,必须自助搭建Hadoop集群。问题是:“谁能够打通OpenStack和Hadoop之间的账户、安全、管理运维和监控体系?”
OpenStack不能提供端到端的服务保障。客户拿到手的只是散落的“框架”和组建,必须手工将多厂商、多版本的功能集成起来。
OpenStack缺乏通用的基础版本。比如,OpenStack可下载的厂商定制版有20多个。客户根本不知道应该选择哪个版本,更不要说在不同厂商版本之间组合、混搭、迁移了。
4.卖硬件还是卖云运营?
除了技术难点,在商业问题上,各个厂商的方案也是差别较大。
比如戴尔最新推出了OpenStack的解决方案,戴尔的官方发言人说,“方案Crowbar95%是开源的,但戴尔保留了一些配置的绑定,在Crowbar的架构当中,这些软件包存在单独的协议,所以要获得这些绑定你需要购买戴尔的硬件,我们希望客户在戴尔的硬件上运行OpenStack。”
这也可以理解。在现在云不成熟的状态下,卖硬件还是最赚钱的。
当然,除了卖硬件,还有支持和运维服务,这将是OpenStack日后运营重点。因为从技术角度说,用户如果不是大的集团,没有技术力量的话,很难运营和维护、开发OpenStack的,而中小型用户,基本都去公有云了。
至于公有云、私有云和混合云的业态来说,现在混合云的呼声最高,私有云基本被T出市场。
现在看部署私有云基本是失败的,如果加上OpenStack的复杂度,这种失败的机率更大。而混合云的好处是,能基于业务来构建云的形态,而不是固守在“私”还是“公”上。
5.慎重再慎重
所以,本文从OpenStack社区入手来分析,并没有重点提出用户的需求,以及用户的技术实力。从大方向来说,混合云是未来的主要方向,而跨越了技术难点,OpenStack才会有更好的发展空间。
照目前的态势来看,OpenStack只有在大公司之间不断磨合,博弈成一个正常的、动态的机制,才有利于产品的成熟,才有利于真正开源的发展。
至于用户,还是要看自己的规模、技术实力、以及未来的业务方向,千万不要为了开源,为了云而上OpenStack,否则最后的烂摊子需要自己收拾,厂商才不会管这么多。
一句话,对于OpenStack的应用,一定要慎重再慎重。