如果这不是因为阿里新年消费的第一个大单,更多人知道 Flink 或许还会晚一点。据欧洲外媒 Deutsche Startups 报道,阿里巴巴集团以 1.033 亿美元(9000 万欧元)的价格收购了总部位于柏林的初创公司 Data Artisans。此消息之后得到了多家媒体从阿里处的证实。
由于 Data Artisans 拥有着一种代表当今大数据流处理引擎的前沿技术,让阿里这一收购举动引起了相关业界不小的反响。尤其是,在阿里集团刚刚进行一次大规模组织架构调整后,需要依靠更加智能化的云计算技术融合到阿里系更为多元化的发展格局中,收购 Data Artisans 不失为面向新战略的一次有力布局。
阿里的 Flink 血液
不熟悉的 Data Artisans 的读者,会很容易错过那些因标题为 " 阿里巴巴收购德国数据公司 " 这种平淡表述下的很多信息。即使那约 1 亿美元的收购额表述,在有着近 4000 多亿美元体量的的阿里卖卖卖的历程中,对比之前收购饿了么的 95 亿美元、36.7 亿美元拿下优酷土豆等等,也实在是难入法眼。
但其实,Data Artisans 手里握着一项当今大数据流处理引擎为数不多的前沿技术,叫做 Flink。Flink 核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布、数据通信以及容错机制等功能。企业依托 Flink 技术体系建立的大数据流处理引擎解决方案,可以更合理更快速地获得计算结果投入到企业决策。Data Artisans 在 2015 年初将 Flink 贡献给 Apache 社区并成为该社区的顶级项目,Data Artisans 此后持有多个并行流的 data Artisans Platform 成为 Flink 的商业版本。
据 Data Artisans 官网介绍,其 dA 平台由 Apache Flink 和 dA Application Manager 组成," 包括与容器编排、持续集成 / 持续交付(CI/CD)、日志记录、度量指标和状态存储整合的随时可用的功能,为公司客户提供了单一视图,以便了解所有的数据流处理应用。" 其客户包括阿里巴巴、荷兰国际集团(ING)、Netflix、优步、Lyft、、eBay、yelp、华为和 Capital One 等。
在 Data Artisans 的客户名单里我们轻而易举的发现了阿里,其中他每年双十一时让我们在阿里总部盯着的那个大屏幕上显示实时成交数字,其背后就是依赖 Flink 技术。那块屏幕显示的数字,需要通过巨大的网络流量汇总各个地方的报表、数据库等的数据,并需要在毫秒级别的时间延迟之内进行计算,并将计算结果汇总为单一的视图,即我们可以通过一块屏幕观察到的结果,这样的技术实现正是大数据流处理引擎技术在当今成为 AI 时代顶梁柱的核心原因。
如果说 Flink 建立的技术体系对 AI 时代是强需求,对阿里就是核心需求。为此,阿里在 Flink 引入内部团队后打造了 Blink。据透露,目前阿里巴巴所有的业务,包括阿里巴巴所有子公司都采用了基于 Flink 搭建的实时计算平台。另外,阿里巴巴集团副总裁周靖人之前宣布,阿里巴巴内部 Flink 版本 Blink 将于 2019 年 1 月正式开源,这就意味着阿里未来将会主要以 Blink 的身份来投入 Flink 的社区贡献了。
阿里巴巴集团副总裁周靖人
可以说,一路下来,对 Flink 的投入,阿里已经证明了自己在大数据计算领域的战略眼光。
首先,阿里较早地看到了业务发展需要在大数据时代里需求解决方案。有着十年服务中国企业云计算从业历史的阿里,已经在第一线看到了大数据量爆发带给企业的业务压力,需要有高吞吐、低延迟的大数据计算解决方案服务自己的大规模数据业务场景。早在 2004 的时候,谷歌自己就放弃了自己创立的大数据离线计算鼻祖,PB 规模数据同时计算是 MapReduce 难以逾越的瓶颈。此后 Spark 发展至今,用批处理方式将大数据计算带入分钟级的反应延迟。如今,流式主导的分布式计算正在主导大数据计算引擎将企业带入近乎实时数据环境。为此,阿里巴巴计算平台事业部资深技术专家莫问在云栖大会上指出,2014 年 Flink 凭借高吞吐、低延迟等其它高级功能而在开源大数据引擎界展露头角,在 2015 年则将 Flink 引入团队研发,期望将来可服务于自己的超大规模数据业务场景。
第二,阿里认识到 Flink 的开源技术基因与自己业务融合的落地空间。作为 Apache 的顶级大数据流式计算引擎,Flink 并不孤独。这两年谷歌支持的 Beam、DataTorrent 支持 Apache Apex 都成了开源在这领域里的佼佼者。同时,来自 twitter 的 Storm、LinkedIn 的 Samza 也凭借独特的优势各领风骚。对此,阿里看到了其可以在 Flink 上发展的 " 非共识 " 空间,莫问认为用户需要有一套统一的大数据引擎技术,只需要根据自己的业务逻辑开发一套代码,在各种不同的场景下,不管是全量数据还是增量数据,亦或者实时处理,一套方案即可全部支持。" 这就是阿里选择 Flink 的背景和初衷。" 莫问表示。
第三,将 Flink 引入阿里全线业务,从而用场景优势拓展了 Flink 技术栈前进空间。Flink 最高成就显然是以其在阿里的应用为布局的。关于 Flink 在阿里巴巴的大规模应用,莫问披露,Flink 最初上线阿里巴巴只有数百台服务器,目前规模已达上万台,此等规模在全球范围内也是屈指可数;基于 Flink,内部积累起来的状态数据已经是 PB 级别规模;如今每天在 Flink 的计算平台上,处理的数据已经超过万亿条;在峰值期间可以承担每秒超过 4.72 亿次的访问,最典型的应用场景是阿里巴巴双 11 大屏。
Flink 技术支持了阿里双十一购物节大屏显示的海量实时计算结果
第四,阿里将 Flink 带到前沿战场,创新聚焦在真正变革上。在阿里着手改造 Flink 之前,Flink 针对 " 一套统一的大数据引擎技术 " 已经初露端倪。大数据计算引擎在批处理与流式计算之间,最大的不在于数据进入计算引擎后,驻留缓存的时间方式的不同,批处理取决于驻慢缓存空间之后落地长期存储,而流式计算旨在规定的时间或是容量内会将数据发送到下一节点。Flink 较同期方案,如 Spark、Storm 等,优势就在于可以同时兼顾两种方案计算于一套计算引擎,但无法 " 统一 " 为一个堆栈。为此,阿里巴巴在 Flink 上提出了新的统一 API 架构,采用 DAG(有限无环图)API。" 整个拓扑是可以融合批流统一的语义表达,整个计算无需区分是流计算还是批计算,只需要表达自己的需求。"
Flink 的未来,已经决定这阿里的技术基因走向。莫问在云栖大会上提出了 Flink 的未来三个方向:首先,让 Flink 在更多的场景下落地,成为一种主流的批计算引擎。然后进一步在流和批之间进行无缝的切换,流和批的界限越来越模糊。其次,让 Flink 的生态上有更多语言的支持,不仅仅是 Java,Scala 语言,甚至是机器学习下用的 Python,Go 语言。还有,完善上层 Flink 的 Machine Learning 算法库,同时 Flink 往上层也会向成熟的机器学习、深度学习场景集成。
不难看出,Flink 的技术优势让阿里看到了符合自己大规模业务场景支持的预期,未来深度学习场景的构建需要从现有批流融合,发展为更加开放和智能的落地场景,不断拓展 Flink 的生态。
阿里需要拓宽技术护城河
Flink 项目是大数据处理领域最近冉冉升起的一颗新星。有关其技术优势我们在《程序员》杂志的《深入理解 Flink 核心技术》,以及阿里团队发表在其云栖社区的两篇文章《Flink 已经足够强大了吗 ? 阿里巴巴说 : 还不够》和《阿里巴巴为什么选择 Apache Flink?》中已经有了非常详尽的解读。
总结来看,Flink 在 2015 年之前稳定性、安全性方面广受质疑,阿里投入研发后,通过架构变革、创新中间业务层、整合计算流程、开发融合适配接口等等,Flink 可以说迎来脱胎换骨的巨大发展优势。
完成对 Data Artisans 的收购,阿里无疑可以进一步整合 Flink 的整个生态资源,作出更有利于 Flink 发展的规划。不过,随着 Flink 的一些竞争对手也陆续实现了阿里在技术上的领先优势,Flink 在带给阿里未来强化大数据事实计算领先地位上,也充满诸多未知数。
首先,收购前 Flink 有独立供应商 Data Artisans 支持,开源贡献使其技术发展路线容易符合更广大用户的预期。收购后阿里对 Flink 发展的拥有绝对权,其对社区贡献的参与积极性或相对减弱。
我们看到,这几年 Samza 在 LinkedIn 开源后缺乏重量级用户的加持而发展的举步维艰。早在 2014 年成为顶级 Apache 流处理框架项目的它,在久前才进入自己的 1.0 阶段,而此时 Flink 已经历多次迭代到了 1.8 版本。LinkedIn 的 Sam Samza 团队负责人 Samarth Shetty 为此在 Samza 1.0 的发布会上表示,当他们第一次找寻流处理时,现有的流处理框架很少能够处理他们在 LinkedIn 上的规模或技术问题," 例如,我们必须在 Samza 中构建增量检查点和主机关联性等功能。当时在 Apache Flink 等框架中无法使用这些功能。" 显然,阿里在 Apache Flink 社区贡献已经改变了这一局面。如今,阿里掌控 Flink 一家独大,对于平衡 Flink 的商业版和社区之间的贡献,或许会有新的变化。
再者,当下大数据流式计算技术突破竞争过于聚焦,阿里的技术护城河还需要有新的突破。例如,即使阿里当前得益于自己已经在 YARN 上实现了 API 的连接得以将其运行在资源管理器上,Samza 则直接作为库嵌入到应用程序中并在任何资源管理器上运行,从而让计算引擎相对底层服务更加透明。除此之外,SQL 支持现在成为流媒体的主战场,Kafka 和 Spark 都有了,致力于支持用 SQL 创建交互式 shell。
第三,随着大数据流式计算可以提供更快的数据决策,用户针对传统批处理模式正在加速向实时数据场景迁移,为此流式计算技术在做好创新架构突破的同时也要注意对传统数据资产的有效衔接。诸如,Flink 已经在其分布式的流式计算框架中实现了事物的 ACID 操作,有效解决的事物的分布式存储环境的缓存一致性和分布式锁的概念。Data Artisans 联合创始人兼首席执行官 Kostas Tzoumas 表示,他们正为这一技术申请专利," 我们允许公司摆脱他们真正昂贵和复杂的 Oracle 数据库,这些数据库目前为他们提供 ACID 交易,并转向允许您扩展的新技术,允许您实施自定义代码," 他同时表示:" 但存在一些明显的局限性,例如 Flink 与 Oracle 数据库不兼容 API。"
在这方面,Spark 因为未能及时支持 Spark 结构流和高级会话处理的新 API,从而让 Netflix 的高级数据工程师 Arora 决定 Netflix 批量作业迁移选择了 Apache Flink 的流式操作。
第四,阿里在获得 Flink 商业所有权后,需要更为清晰且落地的 Flink 商业规划。在这方面,Apex 似乎是个很好的例子。DataTorrent 将其 RTS 平台的核心处理引擎在两年前开放给 Apache,当时其已经可以利用 YARN 实现按需规模伸缩且通过 HDFS 实现容错能力。那是的 Flink 依旧显得稚嫩呢。不过在随后的发展中,DataTorrent 表越来越激进,诸如 DataTorrent 首席执行官 Guy Churchward 宣布 DataTorrent 标记的主要新功能包括通过与 Druid 集成扩展支持 SQL 和分析,通过 Python 和 PMML 实现更多机器学习和 AI 功能,通过与 Drools 集成支持复杂事件处理规则,以及存储和重放以记录和重放来自一个时间点等诸多功能,从平台方向到应用软件的创新让 DataTorrent 的发展陷入一种混乱。在 2018 年 2 月,在 Guy Churchward 宣布其将提供流媒体数据应用程序来实现颠覆性技术和颠覆性商业模式的 90 天后,DataTorrent 破产了。显然,由于流式计算和批处理在当下依然有着较为明确的作用场景,阿里极力致力于批流一体化的实现还需要有明确的场景支撑才会更有说服力。
第五,作为阿里云最为有利的两个竞争对手,Amazon 或是微软早已经实现托管的高速实时流分析服务,显然阿里云的流式计算堆栈 Flink 还需进一步完善。例如 Amazon Kinesis 可以从前端的应用服务器(例如 Web 服务器)或者移动的客户端(手机等移动设备或者 IoT 设备)直接注入流式数据,数据可以通过 EMR 进行流式处理和计算(例如基于 Spark Stream 的 EMR 计算框架),并将数据存储于 Amazon DynamoDB 或者对象存储 S3 之上。
根据 MarketInsightsReports 的数据,预计到 2025 年全球流媒体分析市场将达到 477.5 亿美元,从 2017 年到 2025 年将增长 34.98%。而在 IDC 在一份新白皮书中表示,到 2025 年,将近 30%的所谓 " 全球数据球 " 将成为实时信息。而当下,大数据、AI、物理网正在加速推动流式计算集成到机器学习、人工智能框架中。阿里巴巴基于 Flink 搭建的平台于 2016 年正式上线,并从阿里巴巴的搜索和推荐这两大场景开始实现。目前阿里巴巴所有的业务,包括阿里巴巴所有子公司都采用了基于 Flink 搭建的实时计算平台。可以相信,接下来, Flink 将在阿里丰富的场景下,有着更快的发展。
去年的时候,马云在谈到传位于 CEO 张勇的时候,马云期望张勇可以带给阿里更多技术基因,让整个阿里在人们心中的定位更多有技术商业化的色彩。
对此,一直对这方面技术和投资动态有深入研究的国科嘉和基金执行董事吴一洲认为,这次并购是阿里在技术上的一个认真的思考和布局,批流结合有其特定场景,公有云或者私有云都可以打包 flink 作为批 / 流平台,能看出阿里对技术储备的战略意图。同时,吴一洲也认为,这次并购更深远的影响可能在于,之前公有云厂商薅开源羊毛,若持续吸收控制开源平台,那么未来开源软件在公有云上的授权策略可能会发生变化。第三,再看远一点,她认为很可能是大平台储备技术筹码的开始,对未来云服务的生态和格局会带来影响。
来源:钛媒体