从2008年第一届大数据技术峰会开始,以Hadoop为主题的各类大数据技术在其中占据了主角地位。随着技术的不断发展,各类细分领域的技术不断出现,比如支持OLAP分析的Kylin和Druid,支持实时处理的Flink等。这些技术大多是开源,虽然解决了业务问题,但总有这样和那样的坑,其系统搭建、应用开发和参数调优等都是一门学问,这也是为什么这些技术论坛场场爆满的原因。大家总是会觉得有很多的新知识需要学习,因为需要搭建一个合理的大数据架构,麻雀虽小五脏俱全,总有十多二十种软件需要综合应用起来。
在大型互联网公司中,为了规避这些小系统的高成本,倾向于把它们合并成一系列的大系统,由专门的人负责系统搭建、运维以及调优,而其他人只管使用就好。这其实就形成了一种将大数据平台作为服务提供出去的云计算的模式,也就是我们通常说的Big Data PaaS。
在公有云的领域,以前的IaaS提供商,例如AWS、Azure以及阿里云,因为Docker以及其他自动化部署和交付的工具出现而变得竞争同质化,所以都希望往上层去拓展,去发展那些不能标准化的能力,其中很重要的就是大数据能力。无论是推出的分析型数据库(例如阿里的ADS以及AWS的Redshift)还是并行计算能力(例如阿里的Max Compute和AWS的EMR)以及各种对象、文件存储的能力都是属于PaaS层的。这些能力的接口是私有化的,应用迁移将变得不那么容易。甚至AWS今年主推的Lambda函数,就是一个这些能力的“编排”系统。通过提供更多的大数据能力给开发者,开发者可以不用关心服务器的细节(这就是所谓的Serverless),开发大数据的应用变得更加简单,而云平台提供商本身,更加好地去锁定客户,并从提升的系统效率中分到了自己的一杯羹。
在私有云和公有云领域大数据云服务都变得逐渐流行起来。这就是我们这一次在大数据技术峰会中设立云计算分论坛的一个原因,今年算是第一届,从现场的人员来看有非常多的人关心这个话题。
在今年大数据云服务分论坛中,我们精心挑选了七名分享嘉宾,分别从几个角度讲诉了大数据云服务中的核心技术和经验。他们既有来自传统IT集成商上的华为和亚信,也有来自用户方的中国联通集团,还有自己使用大数据能力的互联网公司去哪儿、小米和腾讯,还有提供大数据公有云服务的阿里。
华为公司2012实验室中央软件院大数据系统架构师孙桂林,他在大数据技术领域有多年的经验,华为公司在各种大数据技术方面都与社区一起做了很多的工作。孙老师主要介绍了云上的大数据以及大数据上的云服务两种场景的区分,前者主要应用于公有云领域,因为资源隔离而不是资源使用率在这个场景中是主要的诉求;后者主要应用在私有云领域,因为在私有云中资源使用率是主要考虑场景,因为都是可控的开发者所以资源隔离倒是可以放低一些优先级。在资源隔离和多租户方面,华为做了很多的工作,孙老师介绍了华为在Hadoop隔离上的实践,并且指出现有的隔离方式的不足,最难的是在IO资源的隔离,特别是在Buffer IO的隔离上。华为在资源隔离上从Hadoop软件、操作系统甚至到硬件芯片都做了联合的工作。
小米融合云的研发工程师崔建伟介绍了小米融合云方面的实践。因为小米是一个生态公司,不但内部有很多产品线需要使用融合云提供的各类存储服务,他们还将这些服务通过公网提供给外部合作伙伴的公司。在我长期的观点看来,国内的IT公司中,小米是把Hbase用得最好的,不但有两个Commiter,而且拥有非常规模的Hbase集群。这一次融合云中的结构化数据服务和对象数据服务,很多组件都是基于Hbase来实现的。崔老师介绍了在云服务中的团队组织的层级管理,这是一个很重要的领域,因为只有这样才能有效管理租户以及租户的层级。另外需要有一个统一认证和权限管理的机制,小米的做法是提供了多语言的SDK,通过这些SDK封装了密钥的生成等服务。利用HTTP做为基础传输协议,利用Thrift做为序列化的方式,方便的是这些都封装在SDK中,对使用者透明。通过这样的方式小米给使用者提供了一个结构化数据和对象数据的存取环境。有理由相信后续很多的融合云服务就可以构建在这上面,AWS的S3当年就是这样做的。
接下来是亚信数据云平台的负责人叶鹏来介绍铸数工坊(DataFoundry)。因为在大数据云服务中,我们不但要考虑后端的服务如何进行多租户划分和供给,还得考虑应用代码如何托管,以及应用代码和后端服务如何进行混合的“编排”。叶鹏在讲演中讲“云原生”和“12因子”的概念延展到大数据领域,提出了将大数据应用进行无状态化,并运行在Kubernetes的平台里面,并通过一个Service Broker的标准化机制将申请的后端服务实例与应用代码自动化关联起来。通过这样的方式实现了无状态的应用和有状态的大数据服务的混合编排,从而使得大数据应用也可以云原声,享受一次开发、多次部署的好处。叶鹏介绍的这种方式也许解答了我最开始对公有云中PaaS对开发者锁定的风险,我们有机会定一一个标准化的大数据编排语句(参考AWS的Lambda函数)。
中国联通总部的数据中心项目经理李大中为我们介绍了联通集中化大数据能力开放平台的实践。中国联通是三大运营商中集中化走得最早和最彻底的,现在他们集中化系统每天采集的数据有100TB,集群达到了5000个节点的规模,能力开放的租户从年初的2个到现在的50个,而且还在快速增加的过程中。通过将采集来的数据以及处理大数据的能力提供给租户,中国联通既实现了数据不出门,保证数据安全;又实现了大数据应用的百花齐放。因为大数据的应用有很强的外部化特点,这种开发的方式使得大数据价值得到了充分发挥出来。
腾讯大数据平台研发负责人陈鹏从深圳赶来,给我们介绍了腾讯大数据能力输出之路。腾讯的数据平台部在之前的积累上,2015年发布了服务腾讯内部各个BG的私有云平台-“数智”,当前每天有120万的作业量在上面运行,峰值更是达到了500万。集群规模在20000台节点。通过一站式的门户以及开放API,提供了大数据能力给各个业务部门。在技术方面陈鹏老师主要介绍的是Gaia。自从Docker出现以后,Gaia就把原来Yarn下面的Container更换成了Docker。通过这样的方式简化多种场景下任务的部署。当然以腾讯的IT能力和如此大的规模而言足够支持大量的定制,腾讯在租户隔离方面作了很多改造,陈鹏老师介绍得很详细,很有意思的是Buffer IO又被提出来了,陈鹏老师还拿出了一个40k 50k 60k的限制效果,非常的好。
阿里巴巴高级产品经理刘吉哲讲解了在MaxCompute上构建的算法平台架构和应用。通过将Caffe算法并行化并支持Tensorflow,阿里巴巴将算法能力提供给了应用开发者,开发者可以更加快速的执行算法的训练和应用的能力,而底层的隔离则由阿里的“飞天”来提供,这种分层解决的方式简化了问题。在这个算法平台上,支持了诸如图像识别、语音分析等人工智能的API,这不由得让人想起刚刚在AWS re:invent上发布的三个人工智能API。
最后一名分享的讲师是来自去哪儿的数据平台总监吕晓旭。除了通过Yarn大数据能力的多租户供给,还有一个技术栈,哪就是Mesos。Mesos的出现实践甚至早于Yarn,只是因为社区活跃度的原因而暂居其后,但是在Docker出现后,Mesos的两级调度的优势一下子就突出了,它可以支持大数据的应用以及长周期运行的应用都在Mesos上调度。去哪儿在这方面有很多的经验,每一次Mesos的论坛总是少不了他们,他们很早就实现了Spark on Mesos,现在又将ELK的整个栈都运行在了Mesos之上。为了支持更大的集群,他们实现的Marathon的树状层级调度,很有意思的是Mesos集群本身是通过Docker进行部署的,这样不用关心不同机器、不同操作系统的问题。
总体来说,这次大数据云服务论坛从大数据能力的多租户隔离、供给、应用编排、应用API等各种方面进行了分享,内容也比较丰满,我连我这个主持人都有很多的感受可以应用到工作中。希望明年我们还可以就这个话题进行深入探讨。
本文作者来自亚信数据大数据云平台部总经理何鸿凌。2016中国大数据技术大会可公开PPT下载地址点击这里。更多大会详细信息查看大会直播官网。