2014年还在阿里云的时候,内部有一个5K+的项目,集合了当时CDO的多支团队在北京联合关小黑屋,希望能够将内部广泛使用的一套大数据开发工具打造成在公共云上对外服务的大数据PaaS。事后来看,这个项目当时有很多争执,也算不上多成功,尤其是和前一个名字类似的5K项目相比,有点雷声大雨点小。但当时三丰为项目组打气时说,外面的企业客户对大数据PaaS产品的需求已经嗷嗷直叫,就看我们什么时候能做出来。现在看来,这个市场在当时已经萌芽,但离真正成熟,还得有这几年的不断铺垫。
5K+项目结束后,CDO整体合并进了阿里云事业群,在公共云上打造大数据PaaS平台的组织保障应该说更好了。所以2015年启动了数加内部创业,在5K+项目的基础上,这一次经过半年左右的时间,平台的商业化进展顺利,最终在2016年1月的上海云栖大会上,数加正式对外发布。带着对大数据PaaS平台的市场认可,我也出来做了袋鼠云,做为阿里云数加的首个合作伙伴,帮助不少企业客户基于公共云数加打造了完整的数据中台,也可以说为这些客户的数据化运营和数据资产化做了一些工作。
两年多来,接触了不少行业客户,包括新零售、工业、文化教育、政府等,发现不同行业的企业信息化和企业数据化处于不同的阶段,对于大数据的需求和理解也处于不同的程度。像数加这种基于公共云IaaS的多租户隔离的大数据PaaS,解决了一部分行业客户的诉求。但还有更多的企业,基于各种不同因素的考虑,也希望构建服务自己内部的数据中台。市场的需求比在阿里云内部时感受得更为强烈。数加在公共云上有着独一无二的优势,但在私有化部署方面,由于一开始设计时,参照的是阿里巴巴内部的需求,未来的愿景则是负责阿里云公共云上所有客户的大数据平台需求,集群的规模较大,在需要轻量化部署的场景,会存在一些限制。虽然内部这两年也一直在驱动轻量化大数据专有云产品的建设,但最小规模要做到10台以内还有不小的难度,并且和开源生态的兼容方面也还需要继续努力。所以市场上对于轻量级、多租户、开源兼容的数据中台PaaS,我认为还有着非常大的机会。
提到大数据,了解的人一定会想到Hadoop生态。Hadoop开源生态应该说比较好的解决了大数据的计算和存储的问题,也就是大数据的基础设施的能力问题,也可以说是大数据的IaaS。但大数据除了需要计算和存储能力,同样需要业务的理解,需要对数据进行采集、清洗、加工、治理、应用等一系列的处理,才可能真正的做到数据资产化和数据业务化。企业都想做数据业务化,外面的大数据公司这么多年来也提供了很多的IaaS能力,但在这两者之间,还存在这一个很大的gap,这个gap一方面需要有生产力工具类的产品来帮助提供升数据处理的效率,另外一方面也需要懂业务和懂技术的专家利用这样的生产力工具来做落地,尤其是企业数据多而乱的情况下,如何规范的治理和利用数据,一直是摆在企业面前的一道难题。
说到数据中台,不少人或许会问,和数据平台是什么关系?有什么区别?这是个好问题,三言两语还不一定能说得清楚。我把数据中台这个概念分成广义的和狭义的来看:
从这个定义来说,袋鼠云研发的数栈就是这么一套数据中台生产力工具,是一组定位在大数据PaaS层的产品集合。核心包括数据开发套件、数据治理套件和数据应用引擎。当然,为了方便客户,数栈自身也基于Flink和Spark构建了一套支持实时计算、离线计算和学习型计算的数据计算引擎。但是,数栈不仅仅支持自带的数据计算引擎,大部分产品模块也支持市场上第三方的数据计算引擎,包括Cloudera、星环、MaxCompute等。所以,数栈的核心是数据开发套件、数据治理套件和数据应用引擎,而数据计算引擎是可替换可兼容的。
当然,数据开发套件、数据治理套件和数据应用引擎从最终的产品设计来看,更多是逻辑模块的划分。实际上为了用户使用过程中的体验流畅性,一部分数据治理的产品模块也直接放进到数据开发套件,比如数据地图和数据模型;数据治理套件目前主要包含的是数据质量;数据应用引擎则包括数据API、标签工厂和大屏引擎,数据应用引擎根据行业和业务场景,可以不断的从数据应用产品中下沉演化,将通用部分的功能抽象成数据应用引擎。
数据开发套件是整个数据中台PaaS的核心,是基于开源生态的Spark和Flink做为计算引擎的基础上,为数据开发者提供了一套开发界面。一方面是方便开发者使用数据平台,简化数据同步和数据开发任务的创建、发布、调度、运维等一系列数据开发任务,提升生产效率。另外一方面,通过统一的开发入口,可以实现元数据的自动录入、数据血缘关系的识别等,再配合数据地图的类目管理和权限管理,为数据治理提供了极大的便利。数据开发是落地数据中台的关键过程,既需要开发工具的支持,也需要数据建模的约束,数栈开发套件中也引入了一套基于阿里巴巴多年数据中台实践的数据模型工具,来帮助企业规范数据建模,提升模型的生命力。数栈的数据开发平台,可以兼容多个物理集群,并支持在单集群上实现多租户资源隔离,既可以帮助企业实现一套大数据平台多个部门分租使用,也可以帮助企业整合现有多个集群统一管理。
除了数据开发套件,当前版本的数栈还有三个相对可以独立部署的产品,包括数据质量、数据API和标签工厂。
数据质量,主要用于检查数据任务生产的数据的质量情况。数据开发和应用开发不同的地方,在于即使数据开发任务运行成功没有报错,最终的结果表中的数据还是有可能不满足业务需要,原因可能有很多,比如源表中数据异常、调度时间错误等等。数据质量产品支持针对表级和字段级别设定校验规则,既可以针对单张表做校验,也可以针对两张表做逐行校验。更重要的是,数据质量产品中内置了大量经过阿里数据生产实践沉淀下来的校验规则,即配即用,非常方便。
数据API,顾名思义,可以将数据表快速的通过配置创建成对外服务的API,加速数据业务化的过程。传统的数据仓库通常用于分析报表,有大量的报表类产品可以读取数据仓库的数据来做展现。但企业花费巨大的人力物力财力构建数据中台,当然不会仅仅满足于分析报表类的应用,而是希望以数据驱动为中心,实现数据和业务产品的流转闭环,可以说数据中台80%以上的应用场景应该是直接形成数据产品和业务产品之间实现服务连接。数据API可以提升数据服务化的效率和能力,结合API Gateway的能力,也可以将数据服务对外开放。
标签工厂,一定程度上和数据API有一些共通的地方。为什么还要单独设计一款产品?在多年的大数据踩坑经验中,数据的标签化是一个非常有效的经验。不管是新零售场景中最关注的人的数据,一方面需要通过ID识别出人,另外一方面更重要的是将人的各种相关的数据包括行为数据、交易数据、娱乐数据等关联到这个ID上,但这些数据有些是结构化的,有些是非结构化的,有些是显性的,有些是隐性的,怎么有效的利用这些数据一直是一个难题。从数据中台的理念出发,将这些数据通过统计、算法等手段,加工成容易被上层各种数据应用产品利用的标签,是被实践证明高效可行的方案。标签工厂产品的定位,就是希望将这个经验落地成工具,加速这个过程。
当然,做为企业级一站式数据中台PaaS,数栈的产品体系还在不断丰富当中,比如袋鼠云实时炫酷的数据可视化大屏的背后,也有一套可独立部署的成熟的大屏引擎Easy[V],配合数据API,也可以赋能企业客户自己定制大屏。同时,为了更高效的部署和监控数栈,还有一套称之为底座的EasyManager产品做为幕后英雄,数栈集群的日志分析则有袋鼠云日志可以提供完整的支撑。
现阶段来说,袋鼠云还需要不断深入行业客户一起共创,随需定制。数栈,让数据产生价值。