论坛1 | 数据时代的技术与应用 周小四 「青云QingCloud 大数据平台构建及规划」



  • 时间: 2016年7月28日
    发言人: 青云QingCloud数据平台负责人 周小四
    演讲主题: 青云QingCloud大数据平台构建及规划


    大家下午好!非常高兴有机会跟大家分享,我很意外这个专场有这么多人参加,因为Richard在云生态的专场,我以为大家都会被吸引过去。看到这么多人,说明数据技术专场还是非常吸引人的。

    我是青云的工程师周小四,也是青云数据平台的负责人。青云的数据平台包括两个小组,一个是跟关系型数据库相关的,包括MongoDB及缓存是一个独立的团队;另外一个是大数据团队,我还负责新应用中心(AppCenter 2.0)项目组。我们团队老中青三代都有,人员架构非常好。

    今天我主要介绍青云数据平台的相关技术探索和未来规划,题目为Data Platforms and Services on QingCloud,包括四个方面的内容,构建思路、服务总览、未来规划和性能测试。之所以讲性能测试是我相信搞过大数据的人,包括厂商和用户都非常困惑,虚拟化给大数据平台带来的性能影响。

    首先是构建思路,回顾一下青云过去两年的心路历程。相对IaaS来说,PaaS难做一些。因为IaaS是可以做成标准化的,无论是计算、存储,还是网络,它交付给用户的方式是一样的。标准化,也就意味着同质化越来越严重,价格战是不可避免的。也就是IaaS一定会非常便宜,就像卖白菜一样。PaaS相对来说比较难做,因为不同的PaaS产品交付给用户的形式是不一样的。但用户就会问都是PaaS,为什么你们做得好?我觉得这是一种误解。要比较PaaS做得好,还是不好,要单独比较同类产品。如果说你的PaaS做得不够丰富,没别人多,这是可以的。所以我说PaaS平台比较难做。有的PaaS我们不愿意涉及,因为它的工程量大,设计也比较复杂。

    当初我们做PaaS的时候是深思熟虑过的,最后我们决定从最擅长的运维领域出发。并且它对用户来说是非常管用的,是马上可以用到的,能够很快解决他们的痛点。从过去两年的情况来看,这条路走对了。因为我们的PaaS服务相对于用户自己搭建来讲溢价达到10%,但还是有很多用户愿意多付10%的溢价。

    我现在发现这10%的溢价是不贵的,因为我们不仅提供运维的自动化,还提供背后的技术支持。有时候客户提出的需求已经超过了我们的职责范围,比如有的用户用Redis Cluster的时候,经常连不上或者出现一些问题,并让我们帮他查代码,看是哪个地方出现了问题。这种事情已经超越了我们的职责,我们的职责是只提供基础平台的运维,至于应用层面是怎么使用的,这是需要用户自己研究的。但是,我们还是愿意帮助客户解决问题。道理很简单,客户成功就是我们成功。因此看起来溢价10%,其实是不贵的。

    运维自动化没有想象中简单,我们搞了这1-2年有很多经验。就是自动化到什么程度才是最恰当的,并不是说自动化程度越高越好。虽然最终目标是全部自动化,但实际上在发展的过程中会遇到很多意想不到的问题。没有做过公有云的人不知道线上是非常复杂的,很多理论的东西都在现实中失效。所以,云服务商没有经过公有云的大规模检测,做私有云的时候是没有说服力的。

    第二点,拥抱开源。开源社区这么热门,上午也有嘉宾提到这个问题。我记得在十年前跟别人讲开源软件的时候,大家都是否定的态度,哪怕搞一个开源的IDE即开发工具都被否定掉了,他们全部都要商业化的。现在大家的观念有所改变,都在拥抱开源。比如Hadoop,发展了十年时间,我相信绝大部分需求是能满足的,并且现在开源的用量越来越大。我们当时做选择的时候也在考量不要自己做,但容易让客户觉得被锁定。所以我们就尽量拥抱开源,实现运维自动化,价格上体现出10%的溢价,但远远超过这个价值。

    第三点,我们会专注于基础平台与运维,以及通用的业务解决方案,比如日志分析系统。原因有两点,一是我们自己内部也有这个需求,二是我们懂Kafka、Storm、HBase等。所以做这个事情是顺理成章的,并不是门槛很高的。这里需要强调的是我们会做通用的解决方案,不会做特定的解决方案和应用。比如彩云天气做得非常好,但这不是我们需要做的事情。

    第四点是生态系统。青云发展到今天,已经从一个产品公司过渡到平台公司,所以我们一定会做平台的事情。平台就是要营造一个生态系统,生态系统肯定是我们要做的最重要的事情。

    我提一句题外话,我发现不同背景的人对生态系统的理解不太一样。像我就不觉得两个人见个面、聊几句、喝个茶,或者说签个合作协议,让PR发一个文章就说明他们已经建立生态合作了。这是远远不够的。另外,对于消费级别的生态系统和企业级别的生态系统,我的理解也是完全不一样的。消费级别的生态系统,日活没有到百万级别就不能形成生态。但在企业级的生态系统应该是不成立的。企业级的日活怎么可能上百万,这太夸张了。可能每个人理解的生态系统不一样。

    0_1470377666549_2016-8-5-5.png

    再来看一下青云提供的服务。青云提供的PaaS服务分为两类,一类是数据库与缓存,还有一类是大数据平台。数据库包括MySQL、PostgreSQL、NoSQL(就是MongoDB),缓存有Redis 、Memcached。大数据平台包括Hadoop、Spark、Zookeeper、Kafka、Storm、Elasticsearch、Hive等。如果从另外一个维度分类,大数据可以分为MapReduce系列、SQL和NoSQL系列。从数据处理的顺序来说,又可以分为采集、传输、存储、计算、展现和管理。不管是哪一个维度,青云可以希望在每一个环节都做到全覆盖。

    还有,青云的对象存储已经支持S3,意味着跟青云的大数据平台可以无缝对接。这样的好处首先是价格可以更灵活,用户可以把数据放到对象存储,进行数据分析就可以启一个计算平台,用完以后就可以把计算平台销毁掉,不用担心数据的安全性。二是没有容量限制。三是便宜。对象存储还在公测阶段,是免费的;即使有一天要收费,它也会非常便宜。

    说到未来的规划,首先我们会继续完善现在的服务。完善服务包括很多。一是对现在的服务版本进行升级,对功能继续完善,服务会越来越稳定,性能会越来越好。还有现在的机器学习、人工智能非常热门,我们也会在这个方面进行探索,比如我们会研究Google的TensorFlow、IBM的System ML、Facebook的Torch、微软的DMTK等。就我现在的了解,它们的学习曲线比较高,但是我觉得这样的研究还是值得的。我们可以把开源的机器学习的库或者工具集成到青云的计算平台上,供用户使用。还有现在非常优秀的开源平台和工具,比如时序数据库TSDB、Solr、图数据库Neo4j、OrientDB,这些在社交网络时代都是非常重要的,我们都会补全。现在容器也是火得一塌糊涂,我们都会集成DCOS、Rancher进入青云平台。这上面列举了很多开源的软件,并不意味着青云每个都会做;或者上面没有列出来的优秀的开源软件,也并不意味着青云一定不会做。

    从用户的角度来说肯定是希望生态越全越好,所以我们会提供更全面的服务。但是,谁提供的服务是不一定的。首先我们要看市场有没有需求,其次是合作伙伴给不给力。合作伙伴做得很好,我们完全没必要自己提供。如果某个领域没有合作伙伴,或者合作伙伴做得不好,我们可能会做这个事情。比如简丽荣的HashData数据仓库,他们公司这么强的背景,我们会做这个事情吗?我们一定不会做。我们会采取合作的形式,让他们提供服务,合作基于AppCenter(应用中心)。

    二是提供更高附加值的服务。一个是Data pipeline,青云提供的服务都是孤立的,我需要一个东西把它们串起来,这是必然的。还有一个是基于事件驱动的计算服务对应的就是AWS的Lambda。我们之所以要做这个事情是因为对象存储有这个需求,内部也有这个需求,这个事情做得标准化也可以提供给用户使用。还有我前面提到的日志分析系统,都是附加值高的。

    三是可视化。可视化已经成为大数据团队最重要的工作。我们已经渡过了前期的运维自动化的阶段,现在开发虽然不是想象的那么快,但也够快了。这个阶段已经过去了,我们要为用户提供价值更高的服务。可视化很重要,可以让大数据变得非常平民化。可视化的要求是要做到可配置,因为用户使用的时候不知道要使用哪一个集群;并且是可集成的,因为大数据解决方案一定是各个组件组成的一套的解决方案。在前几天,我的同事给我展示了他们做的Hue、Zeppelin,我发现里面很多东西都是我们需要的。接下来要进一步探索,是做开源的还是基于开源做二次开发,或者是重头做。

    第四是AppCenter2.0,这是一个全新的应用中心,青云的重中之重。全新的应用中心是一个什么样的地位呢?如果说青云是因为IaaS迈出了第一步,那么全新的应用中心会把青云提到全新的高度,我们对这个项目非常重视。

    AppCenter 2.0做出来以后,对于我们partner来说,它会拥有青云所有的权利,也不需要我们帮他做什么事情,完全是自助式的、企业级的服务平台,青云只是在做一个框架而已,合作伙伴可以无缝的集成进来。对用户来说好处就是,这是一个生态系统,要什么就有什么,且服务之间不是孤立的。我相信随着AppCenter 2.0发布,很多事情都会有所变化,其中一个变化就是PaaS平台的活跃主机数和总活跃主机数的比例。

    最后要介绍的内容是性能测试。就是大家关心的大数据平台在虚拟化上的性能损耗。虚拟化一定会带来性能损耗,这是毫无疑问的。之前正好借着有个客户做POC的机会,他们希望测到一系列的性能数据。测的时候,我们发现一个很有意思的现象,物理机和虚拟化的的时间相差无几。这个数据太难理解了。虚拟化哪怕达到60%、80%,我都可以理解。但是测了整整一天,确定了这个数据肯定是没错的。

    最后分析这个事情有几个原因。首先是虚拟化有缓存,它写的速度快一些,读的速度会慢一些。是不是因为这个原因,因为一快一慢。因为它不是单独测IO,而是测计算,我不是很肯定是否是这个地方中和掉了;还有可能的原因是测的数据不够大;还有一个可能原因是我们用的是青云为云平台配置的物理机,在大数据物理机的配置下就产生了不一样的结果。我们没有做进一步的测试,原因很简单,我们觉得没必要了,因为我们会提供容器的方案,到时候跑的不是虚拟机,而是直接跑物理机上的Container Instance。虽然没有太大意义,但我还是愿意把这个测试分享出来。

    谢谢大家!


登录后回复
 

与 青云QingCloud 社区 的连接断开,我们正在尝试重连,请耐心等待