OpenStack堪称是继Linux之后开源领域最成功的项目。这个6年前被NASA和RackSpace开放出的云框架,伴随着云计算市场的增长而迅速被广泛传播和认可,其中不乏英特尔等巨头的支持。不过,“人红是非多”,对OpenStack的质疑一直就没有停过,包括技术不成熟、架构过于复杂。对于这些批评或者质疑我们该如何正确看待?如何才能让OpenStack也能为企业所用、让企业受益?ZD至顶网记者独家专访了OpenStack专家、九州云技术副总裁陈沙克。
OpenStack已经足够成熟
“OpenStack项目的确还在不断迭代,比如,每半年会有一次新版本发布。但变化主要在一些新的、辅助的功能上,主要功能模块都已经稳定,完全能满足企业绝大多数需求。”九州云技术副总裁陈沙克告诉至顶网记者。
陈沙克说,用户担心产品是否成熟是可以理解的,毕竟是一个开源项目,又不断在发布新版本。不过,他认为用户的担心不必要。一方面,OpenStack各个主要功能模块,包括计算、存储和网络等模块基本能满足企业的需求,变动主要发生在新增附加功能上。他类比了Linux的技术演进过程说,linux内核现在每年也会出几个版本进行迭代,但用户已经很少关注内核的变化,这种变化也不会影响到用户使用Linux。
“OpenStack还会保持这种不断的迭代、不断的创新,但是最终企业会慢慢接受它,企业尽管使用就可以了。新版本对用户的影响慢慢也感知不出来,用户也就不需要再关心OpenStack新版本的频度。”陈沙克说。
那么,对于不断更新的OpenStack版本用户需要跟着升级吗?陈沙克认为,企业可以根据自己的业务需求来考虑是否升级。如果自己的业务没有新的需求,当前使用的版本没有问题,其实可以不去升级。那些必须升级的企业现在也不用担心,因为OpenStack通过容器化,升级也非常简单了。比如,容器化后用户可以选择需要升级的具体模块,从而很好地解决了OpenStack的版本升级问题。
“采用了容器化OpenStack以后,如果需要某个组件,只要把这个组件放进容器启动起来就可以了。后面复杂的东西都让容器以及配置管理工具解决。把复杂的东西也尽可能简单化,容器做到了这一点。”陈沙克说。
陈沙克说要正确认识OpenStack的复杂性。OpenStack的复杂性主要是源于其采用了松耦合的架构,以确保不同组件互相调用时互不干扰,这是出于可扩展性的考虑。他认为正是这种看上去比较复杂的架构,为OpenStack迎来了发展机会。
坚持开放,合力做好大生态
陈沙克认为,OpenStack能有今天的成功,原因是多方面的。比如有云计算市场本身高速成长的原因,更有项目本身一直坚持开放的原则,用陈沙克的话说就是“四个Open”,即OpenSource、Open Community、Open Design、Open Develop。而OpenStack几个竞争的对手,仅仅是把代码开源了,而他们的设计是没有公开讨论的,所以,参与的人会比较少。
实际上,由于开放带来了众人的参与,也带动了参与者的积极性。比如,目前在OpenStack领域的几个主要厂商,包括英特尔、红帽、Mirantis以及中国的华为等都在OpenStack社区里投入了大量的财力和人力,非常活跃。
以英特尔为例,英特尔在OpenStack项目上投入了大量的人力物力做开发。比如,最近和RackSpace合作提供了2000台服务器给社区,来做OpenStack项目的开发、测试和验证,英特尔在这里面做的工作非常多。陈沙克透露,他所在九州云近期也参与其中,刚申请了134台服务器来做测试。
“主要目的是要增强用户对OpenStack的信心,因为有用户对OpenStack到底能支持多大规模的集群,在达到这个规模后性能如何心里没底。而这些测试就会帮助客户了解OpenStack,加快接纳OpenStack的速度。”陈沙克表示。
陈沙克告诉至顶网记者,英特尔除了直接给一些OpenStack服务商投资外(比如,Mirantis、九州云、海云捷讯等),还做了大量基础性工作很多。这些工作非常重要,比如在CPU层面为虚拟化和OpenStack进行指令集等相关软件的优化,以更好地发挥硬件的性能。另外,英特尔还联合做最佳实践的推广工作。
“OpenStack的成功是需要一个大的生态圈,大家一起去完善,一起去努力。比如,有人做前端,有人做底层,最终让用户感知到OpenStack是一个好的项目。”陈沙克表示。
要把OpenStack变成用户自己的
近几年来,由于云计算市场的快速增长,市场上对OpenStack服务和技术的需求非常旺盛,出现了不少初创公司,也导致这个市场鱼目混杂。用户如果该选择谁来做我的技术支持?
对此陈沙克认为,用户不要盲从于某个厂商的OpenStack版本,因为盲从会给企业自己带来被锁定的风险。由于OpenStack是一个新兴的市场,有大量的创业公司涌入,一旦某个公司倒闭就会给采用这家公司自己版本的OpenStack带来很大不确定性。
陈沙克介绍了杭州一家银行的案例。某个OpenStack厂商帮助这家银行搭建了OpenStack云,但银行没有采用这一厂商的OpenStack版本,而是采用了OpenStack版,后来这个厂商倒闭了,而这家银行因之前的这一举动避免一个风险。
“我一直坚持认为,厂商不能把OpenStack变成自己的,而是要变成用户的。只有用户真正掌控了OpenStack,才能真正把它用好。”陈沙克说。
对于OpenStack初创公司,他建议重点应该放在如何帮助用户用好OpenStack,为用户提供服务和最佳实践,而不是怎么去改OpenStack。
“改OpenStack等于挖坑让客户跳,就是厂商绑定。作为厂商,你最好告诉用户社区现在是什么样,帮用户把OpenStack装起来,这个过程应该完全是透明的。”他说。
建OpenStack云不要盲目跟风
今天,OpenStack很热,因此很多用户都想自己试试。在陈沙克看来这是不理智的,他反对跟风上OpenStack。他建议用户应根据自己的业务需求,也许有时OpenStack并不合适,反而是VMware的产品更合适些。
“OpenStack的强项不是做虚拟化,它的强项是有强大的API接口,更强的弹性扩展,更丰富的生态圈。”陈沙克表示,在虚拟化方面VMware已经做到极致,如果用户的重点在虚拟化,VMware可能更合适一些。如果它还需要OpenStack新的特性,比如说想要API接口,自身业务不断变化而且弹性非常大,这才是OpenStack真正的用户。这时候OpenStack对你来讲才更有价值。
其次,用户经常去纠结一个问题,就是自己用的这个版本是否稳定。陈沙克认为OpenStack还在不断迭代,不断创新,会不断引入新的功能。新功能一定会有不稳定,有Bug。但是OpenStack还有稳定的一部分,这是过去积累下来的。“用户可以使用它稳定的一部分,而不追求那些花哨的功能,毕竟对于企业稳定最为重要。”
另外,陈沙克建议用户在上OpenStack时,尽量从新的应用着手,而不是先考虑旧应用的迁移。因为只有OpenStack在企业中发挥出效用,这个项目还会获得更多的支持,也才会积累经验。如果从一开始就要考虑异构环境、应用迁移,这样的项目失败率会很高。
“今天,OpenStack本身还在演进,为了让更多的人使用,从中受益,厂商们需要做的工作还很多,包括培训和市场的教育,建立更大的生态圈,让更多的开发者参与进来。同时,OpenStack本身也在吸纳新技术,比如Docker。”陈沙克说。
实际上,今天的OpenStack已经全面拥抱容器,OpenStack已经把自己定位成一个管理引擎,可以管虚拟机也可以管容器,也可以管物理机器,这有利于其未来发展。
陈沙克说,OpenStack在国内的市场正在逐步走向成熟,今明两年肯定有大批的企业拥抱OpenStack。而从技术发展上说,OpenStack的容器化这是必然之路,很可能明年的OpenStack大都会跑在容器里。