对话智领云CEO彭锋:大数据平台如何进行云原生改造?|甲子光年

by June 2022-07-05

作者 | 柚李Youli

编辑 | 赵健

“Data Platform as a Service.”

智能化时代,企业如何借助数据驱动业务?如何解决企业日益增长的各种类型数据的实时化和智能化处理需求,成为不少大数据平台解决方案服务商在思考的问题。智领云就是其中一家。

智领云成立于2016年,专注于利用云原生技术将企业大数据系统各项组件容器化和服务化,帮助企业搭建数据和AI中台,轻松打造业务数据能力闭环,掌握全面、及时、更多维度的业务现状,提升数据驱动应用的迭代和发布速度;实现系统资产在同一系统中的统一管理,建立数字化运营体系,并最终完成数据驱动的数字化转型。

创始团队有着浓厚的“硅谷基因”,曾负责推特(Twitter)、Ask.com和艺电(EA)等企业内部数据平台的搭建,是硅谷最早一批从事云和大数据研究与实践的技术专家。身处技术最前线,让他们比常人更敏锐地嗅到了云原生(Cloud Native)技术、数据驱动能力在提升企业运营效率方面的商机。因此,2016年,时任Twitter大数据平台负责人的彭锋回国创业,发力如何依托云原生技术将大数据平台做成一个产品。

云原生并不是一个新的概念。简单来说,云原生是一种专门在云上(而不是传统的数据中心)构建和运行应用程序的方法论。企业的业务或应用生在云上,长在云上。据Gartner预测,到2025年,云原生平台将成为95%以上新数字化计划的基础,而2021年这个比例不到40%。因此,在接下来的几年里,云原生平台或将带来一个巨大的想象空间。

成立之初,智领云主要依托Mesos(一种开源分布式资源管理框架)作为大数据的基础。去年,Spark(一类实时计算引擎)和Kafka(一类流式处理引擎)都支持了应用更加广泛的Kubernetes(一种容器集群管理系统,简称K8s),智领云就将在Mesos上所做的云原生大数据平台全部迁移到了K8s。

近日了解到,智领云发布了国内第一个纯K8s在线数据平台——BDOS Online,这是智领云自主研发的一款云原生Data Platform as a Service(DPaaS)产品,旨在为需要高效快速实现多源异构数据应用开发、发布、运维的企业级用户提供一个在线协同数据应用开发及运营平台。

目前,智领云已获得两轮融资。2019年4月获得线性资本数千万元pre-A轮融资;2020年7月获得由金沙江联合领投、线性资本跟投的数千万元A轮融资。

近期,「甲子光年」采访了智领云CEO彭锋,来了解下这一平台背后更多的技术与发展脉络。

提问:对大数据平台进行云原生改造,会涉及哪些难点?

彭锋:第一是体系之间的冲突。原有大数据体系都有一套自己的分布式管理和内部工作通讯机制,K8s体系与其存在架构冲突。比如,K8s对有状态服务的支持还不是很完善,可供选择方案不多;现有大数据组件对于K8s原生技术栈的使用;存算分离对于Data Locality的挑战,K8s需要的是存算分离,但是大数据是把计算放到数据中,数据存在哪里,计算便存在哪里。

第二是现有组件的改造安装和使用。每个大数据组件都有自己的安装流程、系统要求、第三方库支持要求,需要使用新的运维理念对其进行安装、运维。K8s希望以类似于operator方式将一个大数据组件的整个生命周期进行自动化管理。

第三是现有业务的无缝迁移。现有大数据运行着很多以前的业务,包括ETL数据分析、数据仓建设等,不能为了使用K8s便把以前的业务应用全部重写,那就存在如何“不用重起炉灶”便将其无缝迁移到新的K8s体系上的难题。

提问:不同组件对K8s支持版本可能不同,你们是如何对其进行统一,或者在不同版本中使用时,如何解决错位问题?

彭锋:K8s的版本更迭速度快,大数据组件的版本更迭速度相对慢一点,这容易出现两者版本更迭的错位问题。

一般来说,如果开源组件对于其它系统有依赖关系,他们一般都只会设定一两个版本来支持。比如,Spark要在Hadoop和Hive上使用,可能对Hadoop版本有要求,也对Hive版本有要求。但是,Spark支持的K8s版本可能会与Hive支持的K8s版本是有区别的。对此,我们一般需要指定一个K8s版本,再将指定的Hadoop版本、Kafka版本、Spark版本、Hive版本进行改造,将这些版本与目标K8s版本集成。在这一过程中,我们需要更改Hive、Spark、Hadoop的源代码,确保他们可以在统一K8s版本中顺利运行。一旦做好类似集成后,后面K8s版本和大数据版本的升级会相对容易。

提问:当前大家都在提“云生云长”的概念,你们“从无到有”搭建一个云原生大数据平台,主要经历哪几个阶段?

彭锋:现在大家对“云”的接受程度已经很高了,我们的客户基本上都把业务系统发布在云上,不管是私有云还是公有云,逐渐接受“上云”,但是上公有云的步伐“迈得”还不够大,对数据安全有一定顾虑。

早期,我们需要向客户解释什么叫容器?什么叫云计算?云计算的好处是什么?容器发布的好处是什么等等。大家对容器发布的复杂度、性能损耗和管理存在顾虑。而现在大部分客户都在寻找“上云”方案。甚至,如果一个解决方案不是在云上,而是使用传统集群管理方式发布,客户会有疑问:“为什么你这个不是云端发布,有什么原因吗?”

大家已经基本认可云原生的体系架构,比较大的阻碍是人才欠缺,现有系统改造存在困难。获得认可后,上云的过程可以与现有业务架构、数据架构并行进行,一些新的组件、功能发布到云上,然后系统再逐渐迁移。很多客户都采取这种方式,而非直接“一次性”上云。这种方式的好处在于弹性、高可用、容错、高效率。

提问:你们在市场推广方面是怎么做的?

彭锋:现在最主要的想法是,在云上为客户提供一个直接使用这种大数据平台的机会。以前,如果想使用大数据平台,需要购买至少十几台服务器,找专业人员安装大数据的每个组件,安装后还需要一个开发平台、运维平台,以及购买各种各样的工具,建设和使用成本、门槛和决策风险比较高。

现在,通过云原生方式可以让客户直接使用、试用、实施。这意味着,从原始数据到产生第一个数据报表,以前可能需要几个月的周期、几百万资金的投入,而现在只需要开个帐号,几天便可以看到效果。这就是我们想实施的市场推广方式,也是以后市场的必然选择。

在美国硅谷,大部分大数据厂商,比如Snowflake直接在云上做服务,Databricks也在主推云上服务平台。基本所有大数据或者相关厂商都在提供直接云上使用方式,否则别人怎么会相信这是一个云原生体系?在云上直接使用的话,产品迭代、用户使用、更新速度,都要比私有发布快得多。

未来,国内一定会逐渐往这个方向转变,目前很多新型数据库厂商也都逐渐在云上直接提供服务,这是大势所趋。

提问:作为国内第一个K8s在线大数据平台,主要涉及哪些方面?核心优势是什么?

彭锋:BDOS Online旨在为需要高效快速实现多源异构数据应用开发、发布,运维的企业级用户提供一个在线协同数据应用开发及运营平台。

它可以提供数据采集、数据治理、数据分析、机器学习、BI报表、数据服务、数据应用发布等数据应用必需能力组件,并以数据工程的方式实现工程管理、应用共享、质量管理、代码复用等DataOps核心功能。

在应用方面,允许用户即开即用、按需付费,以最低成本高效实现和共享数据价值。同时还支持公有云及私有云发布,并可无缝迁移。

提问:你们的云原生大数据平台,主要适用于哪些企业,或者是哪些业务?

彭锋:我们的云原生大数据平台,其实并不强调行业属性,我们提供的是基础架构服务,就像阿里云对业务应用提供技术支持,我们的在线云平台是对数据应用开发提供支持,希望客户在云上具有两种使用云原生的方式。

第一种是在公有云上直接使用,主要面对中小客户/大客户中的创新团队,这类客户的特点在于不希望自己来管理一个复杂的大数据平台,但是有数据分析需求,需要这种大数据业务开发的管理方式。比如,如果他需要门店销售预测,直接把门店销售的历史数据传送上来,直接运行门店销售预测应用,不需要再搭建完整的大数据平台。

第二种是在企业内部使用,主要面对已经有大数据平台/需要搭建大数据平台,但需要更高效的数据应用开发能力的客户,他们想要将整个开发过程统一管理,且可以与现有集群混排、一起使用,而不是业务系统一个集群,大数据在一个集群的形式。有这种内部需求的客户,实际上也是我们云原生大数据平台的目标使用场景,可以极大降低客户的集群运维、开发、使用成本。

提问:想请你介绍一下整体行业的发展现状,与其他厂商,尤其是大厂在采取路线方面的差异。

彭锋:行业内很多企业在做,但大家的区别主要在于采取的路线不一样。我们是第一个完全基于K8s的在线大数据平台,这其中涉及两点:

一是完全基于K8s搭建大数据平台。目前在硅谷已经有很多实践,趋势比较明显,但在国内,可能时机还不合适,很多厂家还在处理原来传统大数据平台问题,一些大企业试着在内部进行这一方面的尝试,但是目前并没有成型的产品。

比如阿里云的dataworks是基于自己的调度系统和体系开发的,虽然现在也在做K8s改造,把自己的调度全部移到K8s,但并不是纯K8s。

第二是像Spark、Kafka等组件都是最近才开始支持K8s,一些厂商也在尝试。比如腾讯内部也有K8s调度、大数据调度,Hadoop的HDFS改造等,但在云上还没有提供K8s大数据平台功能。华为云也在K8s与大数据上做很多工作,但所提供的大数据平台服务也是基于自己的体系。

我们更强调两个方面,第一是把所有组件都用K8s进行改造,而不是只改造一部分;第二个是在线上,不仅是私有发布能够进行K8s集成和开发,而且是可以在公有云上直接使用。

提问:目前在国内外的发展方面存在哪些区别?

彭锋:在美国,大家更激进一些。像Snowflake和Databricks直接在线上把Hadoop去掉,用云原生存储做大数据体系建设。基本上是以K8s为调度平台和运营平台,直接在线上运行自己的云原生数据流水线,提供API的采集、计算、数据整合、数据分析等,不需要处理Hadoop、Hive等传统数据仓架构,做得更彻底、更“纯云原生”。

但在国内,很多客户还是希望能够从现有的架构中进行平稳迁移,把现有的大数据组件在K8s上运行。

这也是为什么我们没有像美国的公司一样只做API集成、云上解决方案,我们要同时兼顾私有发布和公有云发布,但这两者的基础是一样的,即云原生架构。传统大数据平台的云原生改造是一个必然的趋势,对大家的整体生产效率、成本、产出都会有很大提升。

提问:刚才提到,你们之前采用的是Mesos路线,那么,现在整个路线还在进行吗?还是说以后只做K8s改造?

彭锋:目前还支持,还有很多客户在用Mesos,但接下来我们的主要精力将聚焦在K8s上。

例如,以前大家要发布一个大数据平台,需要面对不同底层硬件、操作系统的适配,而现在直接用K8s就可以解决问题。虽然现在K8s也没有做到百分之百的完美,但K8s相当于以前的Linux系统,以后所有的分布式系统都将会在K8s上运行,只要适配了K8s,基本可以做到标准化发布。因此,我们的重点肯定是放在K8s的发布和运维管理。

提问:据了解,其他很多数据平台上面的各个组件包括Hadoop等,有自己的商业公司在运作,你们与他们是什么样的关系?

彭锋:可以这样理解,比如像Cloudera,也是典型的Hadoop黏合剂,那我们的黏合剂与它不一样的地方主要体现在这几个方面。

第一个是原来的黏合剂只是基于Hadoop,比如Cloudera的系统是基于Hadoop发布,运营全部在YARN上,而现在大数据组件的Flavor问题越来越多,做联合的话很难由一家来做,并且也不是所有组件都有集成,像Cloudera就无法做Flink,这不是它自己开发的。

或者像Jupyter这种机器学习方面组件的开发、Docker的发布,都存在比较大的局限性,因为用户每次要做一件事情就需要安装一个新系统。所以我们做集成开发环境的时候,最大的问题在于要找到公分母,与公分母进行对接。以前的公分母是Hadoop,现在的公分母是K8s,所有新的大数据组件开发都要进行K8s的改造和集成,如果新的大数据组件不支持K8s,大概率没有人会使用。

第二是原来的大数据组件的K8s有很多架构上的缺陷,在做集成开发平台时很难做到真正的用户隔离和资源隔离。而在K8s基础上,所有机构的运行,不管是Hadoop,还是Hive程序、机器学习、人工智能等,全部都是基于K8s实现资源隔离,不用担心机构之间的互相影响,真正实现资源隔离。

第三是混合调度,以前Hadoop都是用YARN来调度,如果有其他运行机制应用的话,需要再单独安装服务器,而现在集成之后,所有运行的应用都是容器化,在同一个架构下很容易做到混合调度、精准计费。第四是找到公分母之后,如果有新的大数据组件平台,因为它支持K8s,就可以直接把它对接进来,不需要单独再去做额外的开发。

现在,扫描下方二维码,全面了解BDOS Online的功能和价值,免费注册BDOS Online,尽享28天的免费使用权益。当然,点击页面右上方立即体验按钮,在PC端您将会查看更多精彩示例项目!

留言

评论

${{item['author_name']}} 回复 ${{idToContentMap[item.parent] !== undefined ? idToContentMap[item.parent]['author_name'] : ''}} · ${{item.date.slice(0, 10)}} 回复

暂时还没有一条评论.