OpenStack和Docker,这可能是近2年在云计算领域最火的两个开源技术词语了。做OpenStack的公司,都在为社区贡献代码的同时为企业用户做云;现在随着容器技术Docker的兴起,又涌现出不少研究Docker并不断尝试的创业公司,边尝试边在为用户做云。
那么,究竟什么是云,OpenStack即是云?还是Docker即是云?开源代码搭建私有云,安全及定制化如何保障和达到用户需求?前段时间随着OpenStack巴塞罗那会议又新出来一个“食客即是厨子”的讲法,那么,是宣告着做开源技术做云的“厨子”公司将会批量消失吗?而什么样的平台,才是能够满足用户需求、实现应用的迁移、真正安全可用高效的云平台?
如何看待OpenStack、中国OpenStack众创业公司的现状、以及他们的贡献/价值、模式和问题?
OpenStack作为云计算开源圈的明星,得到了众多传统厂商的支持,成为传统厂商转型云计算项目的稻草,同时由于其开源的特色,也成为了众多创业公司成就云计算厂商梦想的工具。众多的成功案例的包装,每年一度的全球峰会,经济利益驱动的炒作,使OpenStack吸引了无数的眼球。
在云计算开源领域,OpenStack做出了不少贡献,比如:
1.以放开社区的心态,为IAAS的普及与标准做出了贡献;
2.OpenStack开放社区的发展,带动了IT开源技术整体的发展,比如下游的虚拟化开放技术KVM、应用型的技术比如认证Keystone、计量计费模块Ceilometer、以及结合其他的开源技术Hadoop、Docker等,使开源技术深入人心;
3.对IT产业的影响,基于开源社区,与开源产品在企业级的引入,影响了传统厂商垄断的企业级IT产品王国,使企业在选型上多了一种可靠的选择;
4.从某些角度来说,OpenStack作为一种开源的理念,在IT开源化、社区化上的理念大于OpenStack的实际生产中的应用的贡献。
此类公司的技术来源于市场上的声音体现:依靠OpenStack的发行版本,自身也提交代码反馈社区;依靠OpenStack社区,以commit为荣,定期举行OpenStack大会,也以参加大会为荣;同时也存在patch刷单、夸大项目规模包装、政绩驱使等因素。
基于OpenStack创业公司的商务模式:
1.做OpenStack的培训与方案;OpenStack模块较多,比较复杂,需要做简单易用的企业级OpenStack,简化用户的部署安装;OpenStack运维繁琐,需要提供简化的运维服务,有的甚至提供托管服务;
2.提供给用户的商用版本OpenStack,宣传不会做太多的与社区偏离,因为将来社区版本的OpenStack升级以后,分支合并与升级是一个大问题;因此某些OpenStack公司宣称,我们的关于OpenStack模块的patch先提交到社区,社区接受以后再做到我们的发行版;所以我们要养着很多OpenStackcommiter;
3.与用户打交道时,除了方案与报价,还要宣扬自己是否是OpenStack社区金牌会员,多少commiter等,patch commit全球排名等。
至于OpenStack的问题,要从以下几个讲:
1.从技术上来说,OpenStack及其相关技术是一个非常重要的创新,但是把OpenStack做成一个产品,去做私有云或者公有云,并提供相应的服务,这与企业级市场的需求差别比较大,OpenStack很多的模块目前概念包装居多,真正的支撑应用的居少,通过OpenStack的各个模块可以方便的堆砌去搭一个环境,但这个环境只是看上去能工作,很少能经得起稳定、可靠运行的环境需求的考验。
2.OpenStack环境的部署要求全新的x86服务器,但单纯这个是不能很好的与企业IT系统做整合的。举个例子,除了x86服务器,硬件层面还有各式交换机、各种存储、各种异构虚拟化,软件层面还有交易类型、大数据分析类型等,基于OpenStack统一管理并提供服务是一个难点。
3.商业模式的问题。如果在OpenStack上做太多的定制化,则很难进行分支的合并与升级,如果不做太多的定制化,那么提供OpenStack企业服务的价值又在哪儿?
4.再说几个事实与观点:
a)第一个是在西班牙巴塞罗那峰会上,OpenStack风风火火,再加上各厂商PR的众推,让人感觉到了OpenStack的势头无可阻挡。但是会议结束不到一周,OpenStack最居功至伟的两家公司HPE和Mirantis,都传出消息,其中消息称HPE要砍掉整个OpenStack团队,Mirantis则要裁员300人。
b)从提供企业服务的巨头与具著名的OpenStack创业公司在合作发展上遇到的困难,不难看出其服务、盈利、未来发展的不可预期性,因为OpenStack不是Linux操作系统,具备可替代性。
c)NASA作为OpenStack项目的发起者之一,在2012年就开始使用AWS云服务,但最终业务也没有落在OpenStack之上。
d)再联想到之前的OpenStack的鼻祖RackSpace被收购。
e)国内外所有的互联网巨头,几乎找不出以OpenStack为核心开发其云平台的,这本身也说明了问题。
f)在生态圈、技术圈、开源圈风风火火,也不代表了能够变成成功的商业模式,Redhat只有一家,很难再出现另一家。
一句话总结的话,我认为IAAS层一众OpenStack,忙着搞生态与社区,盈利难,服务难。
最新的开源技术Docker及Docker创业公司呢?
最出名的PAAS开源技术起源于CloudFoundry,但是也是出了名的复杂与难用,因此在Docker火爆以后,以其集装箱理念的build、ship、run加上编排调度的管理平台,以更加灵活更加易用的方式逐渐适应企业,再加上基于容器的编排调度框架像Kubernetes、Swarm、Rancher等等的发布,Docker+编排管理工具逐渐成为PaaS的主力军。
国内基于Docker的创业公司基本起源于2014年,市场上一下子起来了十多家基于Docker云创业公司,这些公司的技术主要依仗以下五类:基于Docker原生体系,swarm、swarmkit等;基于Kubernetes;基于Marathon、Mesos等号称构件DCOS;研究CoreOS、RancherOS等;也有在研究Unikernel。
这些公司的活跃度体现:
1.喜爱组建技术沙龙、技术社区,进行大量的市场包装;
2.喜爱摆弄相关概念与技术组件,完成技术验证,今天尝试Docker安装,明天尝试K8S on Mesos,后天尝试基于Haproxy+Confd+etcd的服务注册与发现,再过一阵尝试基于一种场景验证百万并发;
3.天天宣扬微服务理念,仿佛一家企业如果不尝试微服务架构,不尝试Docker环境,就脱离了IT大方向;
4.宣扬明星创业或者高规格创业;
5.夸大自己的案例,几万块的项目,宣传成高大上的成功案例。
再说到商业模式,这些公司普遍:落单之前有融资;市场造势比较多;选准一个行业,联合一些集成商,去打单子;有了标杆的项目以后,继续融资,寻找接盘侠。
此类创业的问题,我认为主要有以下几点:
1.这些创业公司高度依赖国外Docker开源相关技术(包括Mesos、Kubernetes、Rancher等),另外这些公司推崇技术至上,好是由技术驱动业务,缺少各大行业的行业背景积累;
2.Docker本身是提供给研发人员使用的,本身使用方式也不是很难,每个具有研发团队的单位或者团体,基本自给都能在Docker上去做一些工作,大一些的公司的研发团队,摆弄Docker相关技术的能力很强,基本对外采需求不大;
3.基于此类技术形成的PAAS类产品,缺乏商业模式,甚至报价模式都比较模糊,单项目的规模甚至比OpenStack层面的软件为更少;
4.由于互相炒高了技术人员薪酬,创业成本比较高,而产出又比较低(在没有core committer的公司,即使是某个Docker相关高手,其对公司实际营收的贡献也奇小无比);
5.其宣扬的微服务理念,短期内在传统行业落地非常难,而这些传统行业是to B生意的主要客户,因此这也标志着大部分的Docker创业公司,盈利预期较长。
一句话总结的话,PAAS层之Docker容器相关技术,天天进行沙龙与宣传,在发展上未见太多效用。
为何国内有这么多基于OpenStack与Docker的云计算创业公司?
1.大势推动,云计算大数据时代的到来,催了生了IT产业上下游的巨大热情,资本界鼎力支持、分析师大力宣扬;
2.从国家层面讲,近几年鼓励创业创新,IT本身就是技术密集型,再贴上云计算大数据的标签,恰好落入国家的政策支持范围,相关产业园区、行业委员会也在鼓励云计算大力发展;
3.从市场环境上来讲,IT项目的建设越来越多的被贴上了云计算或者大数据的标签,标识着云计算的需求释放,有需求就有提供;
4.创业门槛变低,有了OpenStack,一个互联网/传统公司提交过patch的团队或者工程师便可以成立一个公司,有了Docker(Mesos、Kubernetes、Rancher),几个一起喝咖啡的工程师也可以成立一个公司,加上风投的助力,顺势起飞。
既然OpenStack并不完美,Docker也有其自己的问题,那么在云化建设上,有没有什么解决之道?因为毕竟市场在那里摆着,企业及用户的需求在那里摆着。
我们去看云计算的核心,分为云资源管理与云服务提供,“云资源”是一些可以自我维护和管理的计算资源,通常为一些大型服务器集群,包括计算服务器、存储服务器、网络等等。
云资源管理将所有的计算资源集中起来,并由软件实现自动管理,无需人为参与。云使用者只需按需申请并使用资源,无需为繁琐IT部署、管理、维护的细节而烦恼,能够更加专注于自己的业务,有利于创新和降低成本。
从这个核心出发,我们可以看出,对公有云来说,更强调规模效应与服务功能,在未来,公有云份额越来越大是不争的事实,私有云是一个过渡阶段,但这个过渡阶段会比较长。公有云在形成一定的规模以后,会发挥越来越大的价值,比如在IaaS的基础上,向上发展PaaS、SaaS、新的业务模式比如数据运营、AI、知识学习、视频运营、等等。
未来,物联网、人工智能等核心的数据与应用将会有很大一部分运营在公有云中,其余的份额将会被其他相对较大的企业以私有云方式运行,但是公有云与这些私有云会紧密连接。
对私有云来说,一个单位或者部门建设可能分为几个阶段,前期更多的关注资源管理、运维管理,也即all-in-one的管理能力,然后是关注运营管理,比如资源使用的计量计费、财务角度的集约化运营,最后才有可能关注到云服务的提供。未来私有云如果想要有更好的管理与服务能力,需要管理功能强大,同时能够做混合云。因此,在私有云,用户需要的是云管理平台,即CMP。
讨论一下私有云产品与解决方案的层次与针对以上所提现象的一些可能的解决方案:
1.关于云平台软件要解决用户的业务问题,这个需要去明确,未来的云平台一定要在核心上支撑业务。所谓业务的上云,不单单是业务迁移到x86或者迁移到虚拟机,更多的应该是业务云化之后运行与云资源调度联动,基于云的调度让用户能够感觉到云计算真正带来的收益,这样用户才能舍得买单。所以,一定要从面向资源管理的云转向面向业务应用的云,所以需要云管理平台对业务到资源的一体化调度管理,一体化视图;
2.单纯基于OpenStack或者Docker容器相关技术去帮客户解决云的问题是走不通的,因此在私有云方面需要一个集大成者,通过这个最终的集中管理将多种的IT设备、虚拟化、OpenStack等云技术平台、以及公有云进行集中管控,形成混合云,并在此基础上提供云服务是云计算建设的真正路子。因此最终的云计算是一个云技术的系统集成,帮客户解决云的整体问题,而不是持续推给客户某个特定的云计算技术;
3.云计算的核心思想,是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务,来支撑用户的业务。网络是一个核心、形成规模的计算是一个核心、调度与服务也是一个核心,而最终用户关心是业务。因此未来小规模的云(如果非要说标准,现阶段小几百台以下的)只剩两条路:要么发展大,要么并入公有云。所以所有的私有云厂商都要有危机意识,因为公有云不光提供服务,也提供业务(SaaS)。
最终用户关心的是业务,所以私有云厂商要努力去了解业务,提供更多的与业务相关的功能(不是一个弹性伸缩那么简单),同时思考SaaS模式、行业云模式、互联网模式,在特定的模式下找到自己的生存发展壮大之路,而不是依靠某种开源技术在市场上比拼平台。