(上图为数人云创始人及CEO王璞)
2016年11月,中国开源云容器工作组发布了《容器技术及其应用白皮书 V1.0》。《白皮书》指出,继虚拟化技术出现后,容器技术逐渐成为对云计算领域具有深远影响的变革技术。容器技术的发展和应用,为各行业应用云计算提供了新思路,同时容器技术也将对云计算的交付方式、效率、PaaS平台的构建等方面产生深远影响。
容器技术从2014年开始风靡全球,美国以 2013年Docker公司成立为标志、中国以2014年底的一批Docker容器公司为标志,出现了一波Docker创业潮。最早的Docker创业主要针对互联网和公有云环境中的DevOps运维开发场景,然而随着公有云的商业模式难以在短期创造盈利,Docker创业者们纷纷转向利润更高的传统企业市场。
2017年1月,成立于2014年9月的容器创业公司数人云宣布获得5000万A+轮融资,本轮融资将主要用于企业级市场开拓、开源项目的推进以及上下游生态的完善。数人云创始人及CEO王璞表示,之所以能在资本寒冬的情况下获得本轮融资,主要是因为数人云在过去一年对企业级市场的深入理解,趟过了很多与传统企业做生意的坑儿。
当开源软件遇到企业级IT
容器技术是开源软件的最新代表技术体系之一,但开源软件本身在进入企业IT领域的时候,就会遭遇较大的问题,这也是数人云在2016年进入企业级市场以来收获最大的心得之一。
“我们发现开源组件比较大的问题,在于不同开源组件互相之间理念不合,因为是不同的人开发的不同开源组件,只解决各自认为合适的场景,但是把不同场景组合拼接起来,就会发现有些问题解决不了。”
那么,如果要把基于不同理念的开源组件整合起来,整合工作自然就会做得很辛苦。首先,根据企业客户需求对开源组件进行了修改后,能否重新提交回主流开源社区是个未知数,因为每一个开源社区都有自己的一套思路,不一定会考虑传统企业特定的定制需求,因为很多开源社区的技术负责人会觉得定制企业需求与开源的理念不合。如果不能对开源组件进行修改,那只能在“表皮上”做文章,把不同理念的开源组件用中间的“水泥”黏合起来,“这肯定不如直接用水泥整体浇灌出来的结实”。
此外,如果修改后的开源组件不能提交回主流社区,那么就不得不维护一个分支,而维护分支的工作多了以后,就与自己重新写一套没有区别了。正是基于这样的考虑,数人云重新调整了自己的产品线,做了大量减法工作,聚焦在核心技术层做研发,开发了Mesos调度器Swan。
给云计算做减法
进入企业IT市场摸爬滚打一年后,数人云开始给云计算做减法工作。“容器PaaS目前还没有形成标准,配套所有开源组件也都不标准,如果全面铺开容易变得混乱。对于容器创业来说,要么解决所有的问题,要么就聚焦于只解决最核心的问题。数人云选择把圈画的小一点,把定制的工作更多地交给合作伙伴,这样我们可以专注在纯技术和技术含量最高的领域,其它方面就与合作伙伴对接。”王璞说。
在2016年5月发布的数人云2.0版本基础上,将于2017年发布的数人云3.0版本做了大量减法工作,其中减的最多的是配置、测试和发布管理三个模块。为什么要减掉这三个部分?最大的原因就在于不同企业的这三个流程差异很大,难以实现标准化的软件产品。这三个部分的工作,将由数人云或合作伙伴完成定制,而数人云将集中力量于偏底层的核心技术,也就是应用调度的部分,这样做也更有利于技术积累。
为什么说应用调度是核心技术?这里涉及到生产环境运行时的概念。运行时(Runtime)是一个比较深刻也是比较核心的计算概念,简单来说就是指程序代码在运行起来后就处于“运行时”计算环境中,调度器负责分配计算资源给需要运行的程序,并把程序调度到合适的服务器上运行。“生产环境”就是企业业务应用实际运行的计算环境,而不是开发测试环境。由此可见,企业“生产环境”中的“运行时”是非常重要的核心。
生产环境运行时主要由几大部分组成:调度、监控、日志、告警。对生产环境的管理,再加上发布流程管理和测试流程管理等,即所谓应用程序的全生命周期管理。其中,重中之重就是应用调度。而数人云自研的编排调度工具Swan就是针对企业IT环境重新设计的产品,Swan同时解决应用调度和服务发现、负载均衡这几个问题,无需拼接多个开源组件,降低了给客户交付实施的复杂度。
对于基于容器技术的企业应用调度器来说,更重要的是与已有的企业IT环境打通。这一方面是与企业原有网络链路的打通,因为传统企业的内部网络都是静态IP地址,而容器运行时往往会动态迁移来实现容错和故障自愈,这个矛盾就必须要解决。另一方面是传统企业内部原有的负载均衡器,一般对接的也都是静态地址,因此也需要容器的动态地址与企业负载均衡器打通。这些就是数人云自研的Swan要完成的工作。之前数人云采用的是Mesos之上的Marathon作为调度工具,但Marathon没有解决服务发现和负载均衡的问题,还需要和HAProxy之间进行拼接,在实际运行中有很多不稳定性,提高了交付实施复杂度。
解决互联网IT与传统企业IT的矛盾
经过半年多与传统企业深入打交道的经验,王璞认为源自互联网IT的容器云计算技术与传统企业IT之间有巨大的差异,可以总结为云计算的动态与传统企业IT的静态之间的矛盾。
一个典型代表,就是传统企业以前对于应用的管理都是静态的,每一个应用的IP地址端口也都是静态的,因此对应用的监控、日志收集等都是静态的。而容器恰恰不是一个静态的环境,PaaS平台上的容器本来就是动态的,所以才会灵活和轻量。如何能做到动静结合?
再以企业防火墙为例,传统企业数据中心中的服务器都是固定网络端口,因此防火墙也是固定IP地址;而在分布式计算环境下又分了很多主节点和从节点服务器,不同的系统、不同应用分布在不同服务器上,这就需要API网关。与互联网企业不一样之处在于,传统企业需要对API网关进行严格管理,通过API网关做到内外网隔离以及安全审计和权限管理等。“对于传统企业来讲,这套监管是很严格的,但互联网公司绝对没这个需求。”
还有一个典型代表是传统企业的应用开发测试环境与生产运行环境是物理隔离的,以确保企业内部的信息安全以及生产环境的高可靠、高可用、高稳定。在开发测试环境与生产运行环境之间,只能定期开一个端口进行同步,因此很难发布开发好的系统。而在互联网企业,开发测试环境与生产运行环境是一个环境,没有二者隔离的问题。
对于云计算的“动”与传统企业IT的“静”之间的矛盾,数人云在通过赋予容器固定域名的方式解决,以确保容器系统尽量小的改动。在更宽广的层面,数人云对原先选择Mesos技术再做减法,只保留了中间最核心的技术层,而把向上和向下的定制空间全部开放给合作伙伴,这恰恰也是Mesos技术框架本身能够实现的。
众所周知,当前有三大主流Docker容器编排工具:Swarm、Kubernetes和Mesos。其中Swarm为Docker公司自行维护,Kubernetes源自谷歌而有着强大的功能,但这也要求采用Kubernetes的容器公司有全面技术能力对Kubernetes进行大量修改,Mesos因为是Apache旗下项目,真正源自开源社区,并且Mesos只负责资源管理,留出了大量向上调度和向下网络定制的空间。
找到与传统企业IT对话的方法论
“我们发现越往传统企业内部深入,就越发现跟传统企业打交道,很多时候不只是技术层面。技术层面其实是看不见的,能看到的全是管理层,也就是IT内部业务管理这层。现在,云计算这种分布IT技术已经渗透到企业IT管理里面去了,而企业IT内部要做到很明确、清晰的管理,云计算正好能够帮把传统企业以前烟囱式的IT都统一起来,这就是IT管理。”
实际上,在云计算向传统企业渗透的过程中,需要找到能与企业CIO对话的方法论,这在企业内部沟通和实施云计算的过程中非常重要。“因为我们发现给传统企业讲Docker,CIO们往往听不懂,IT部门的技术人员虽然感兴趣,但是技术人员却难以在企业内部推动。明明是一个很好的技术,传统企业为什么不用?后来就发现,其实不能从技术角度推,而必须从IT管理、IT业务的角度来推。”
过去,传统企业的IT管理有一套成熟的方法论,这就是ITSM(IT服务管理)。ITSM是一套非常成熟的对企业IT系统进行规划、研发、实施和运营的方法论,ITSM基于于ITIL(IT Infrastructure Library,IT基础架构标准库)。ITIL是CCTA(英国国家电脑局)于1980年开发的一套IT服务管理标准库,把英国在IT管理方面的方法归纳起来成为规范,后来发展成为一个国际标准。
现在,数人云为企业找到了一个云计算时代的企业IT服务管理方法论,这就是SRE(Site Reliability Engineering,站点可靠性工程)。SRE源自谷歌,是谷歌生产系统的运维管理方法论。谷歌SRE全球共计约1000人,负责运维谷歌大部分商业应用,以及幕后的首屈一指的计算基础设施,从百万台级别的服务器集群到全球一流的网络架构,背后都有SRE的身影。
被誉为谷歌运维之秘的SRE,一直到2016年初才由谷歌SRE关键成员创作的一本名为《SRE:Google运维解密》著作完整向外界披露。《Lean Enterprise》作者Jez Humble就此评论说,Google SRE团队通过写作本书为整个运维行业做出了巨大的贡献,将SRE指导思想、最佳实践和常见的应用架构模式以及团队建设模式共享出来,揭示了谷歌如何能够持续不断建设、部署世界级的工程项目,同时保持世界一流的可靠性标准。
“传统企业在责权制的体制下,思维是事无巨细严密论证,这都是讲方法论、讲体系。因此引入一个新技术就非常谨慎,要全方位的考虑。传统企业思维的缜密程度比互联网公司要高很多,要在一个业务极其极度复杂的情况下,确保事无巨细、滴水不漏。”王璞因此而“被逼”引入了SRE,追求可靠性的SRE与同样追求可靠性的企业IT达成了共同点。
自《SRE:Google运维解密》中文版于2016年10月首次面世以来,数人云就迅速把这一套方法论介绍给了传统企业的IT管理者们。“我们去年最大的亮点就是引入SRE,把Docker从技术层面开始上升到IT业务管理层面,这对我们来说是脱胎换骨。”
当然,由于SRE才于2016年10月推出首个中文版书籍,SRE本身在进入企业IT环境中也还需要做出相应修正,数人云目前正与以前的ITSM培训机构合作,推出SRE的培训课程。
抓住传统企业上云的历史机遇
数人云的A+轮5000万融资由沣源资本领投,云启资本、唯猎资本以及UCloud等A轮投资方继续跟投。数人云被投资机构看好的原因,在于传统企业上云这个大市场已经呼之欲出。随着十三五的推进,一个巨大的历史机遇出现在了以数人云为代表的PaaS云计算企业面前。
“获得投资方的青睐,最重要的一点在于我们对传统企业的理解更深。其实这轮融资要回答很多问题,不能只说要做什么,更要突出我们专注点在哪里,哪些事情我们不做。我们就是从传统企业需求出发,解决很多传统企业IT的痛点问题,包括应用转型、企业上云等。”
王璞表示,数人云现在给传统企业推的是一套基于容器的PaaS平台,用于企业内部所有应用的统一管理。比如,现在传统企业内部做大数据应用,很痛苦的是数据怎么大集中?因为本质上应用并没有解决集中管理的问题,数据集中管理就很痛苦。因此国内传统企业,尤其集团公司制,从集团总公司到各个业务线、各个分公司,就可以用云的方式做到统一IT和数据管理。
特别是当前上的行业云项目,对于国内行业监管的收益在于地不同的行业内企业都进入了行业云,监管机构从行业云上进行数据的搜集和管理就方便了。所以云计算对于企业和行业来说,已经不是技术层面而是上升到管理的高度,包括行业监管和大型集团公司的管理。
“这也是投资方也很看中的原因,给传统企业推云计算,绝对不是简单的技术就能搞定了。传统企业上云后,IT变成一个管理手段可以深入到下面的业务。以前层层汇报的效率太低了,现在用云的技术手段实现自动化的业务管理,这是传统企业非常感兴趣的。”
目前,数人云已经服务国内大型公共事业央企、大型股份制银行、城商行,以及快消等众多企业级客户。数人云将继续在传统行业实现突破,深挖行业痛点、交付贴合客户需求与特性的行业容器云。同时,数人云与合作伙伴共同建立基于容器技术的PaaS技术生态圈,开拓云计算生态。
王璞说,数人云接下来将重点聚焦打造基于容器的最轻量级PaaS平台,在实现应用全生命周期管理的同时,管理海量监控、日志等产生的各类数据,自动分配应用资源、对业务运行状况进行自动分析,提升企业的IT工业化程度。这个定位,正是数人云在过去一年终于搞明白了如何与传统企业做生意的基础上,提炼总结而成。