2015年12月8日, Apache基金会批准Apache Kylin正式毕业成为Apache的顶级项目 。Apache Kylin(麒麟)是由eBay 研发并贡献给开源社区的Hadoop上的分布式大规模联机分析(OLAP)平台。Kylin于2014年10月开源,并于当年11月成为Apache孵化器项目,是eBay第一个贡献给Apache软件基金会的项目,也是第一个由中国团队完整贡献到Apache的项目。为了了解Apache Kylin的开源发展历程以及经验,InfoQ记者采访了该项目的负责人韩卿。
韩卿:Apache Kylin是在2014年10月1日由eBay在github.com上开源,之后在业界获得了非常积极的反馈,相关Hadoop方面的资深成员提议让我们申请加入Apache孵化器以获得更好的发展,并愿意做我们的Mentor。经一系列工作后于2014年11月25日正式加入Aapche孵化器项目,经过不到一年的时间,Apache Kylin正式成为Apache顶级项目,其为eBay全球贡献至Apache软件基金会(ASF)的第一个项目,也是全部由在中国的华人团队整体贡献至Apache的第一个项目。
目前Aapche Kylin社区的有5位mentor,13位PMC成员(来自eBay,美团,明略数据等)及众多contributor (GitHub上显示有代码提交的有31位,还有更多在邮件列表,JIRA及其他地方的贡献者),我们正在发展新的一批的committer。目前eBay团队有7位成员全职参与此项目。
在eBay,已经上线两个生产环境平台,有着诸多的应用,包括用户行为分析、点击分析、商户分析、交易分析等应用,最新的Streaming分析项目也已经上线。目前在eBay平台上最大的单个cube包含了超过850亿的数据,90%查询响应时间小于1.5秒,95%的查询响应时间小于5秒。
此外,社区中也有包括来自百度地图、京东、美团、唯品会、明略数据、Expedia等各个公司的诸多应用已经上线使用。
韩卿:非常感谢对Apache Kylin项目及我们团队和社区的褒奖。在项目伊始,我们就面临无数的挑战,包括技术、产品以及其他各个方面。除了在内部积极推动项目,吸引更多应用来使用Kylin平台外,开源项目的运营也是工作的重点。作为Kylin产品及开源社区负责人,在项目开源之前就定下了“发展社区”及”构建生态系统”两个重要的方向。
正如Apache一直强调的:Community over Code。Apache Kylin开源后,社区发展一直是对外的工作重点之一,通过各种渠道扩展线上线下社区,并且积极参与和组织各种活动和Meetup,比如Apache Kylin Meetup,Spark Meetup等等,参加国际国内各个行业大会,包括Strata+Hadoo World 伦敦,Hadoop Summit 硅谷,大数据技术大会,数据库技术大会,QCon,ApacheCon等。通过媒体网站,社交媒体,微信等进一步扩展Apache Kylin的知名度,吸引了非常多对Apache Kylin技术有兴趣的公司和个人参与进来,之后整个团队非常积极的响应各种问题,及时修复各种Bug,为赢得初期客户打下了坚实基础,由此Apache Kylin的社区也初步建立起来。随着后续相应版本的稳定发布,各个不同案例的成功应用,Kylin社区越来越活越,更多的contributor更多的committer不断加入,发展了包括来自美团,京东,明略数据等多位committer,并正在发展新的一批committer,同时也和其他开源社区形成了良好的互动,包括Apache Zeppelin,Apache Calcite等。
一个应用很难单独的存在与一个企业中,不管是商业产品还是开源项目。从一开始,我们就定下了只关注核心功能,尽可能与整个产业链中的其它产品,项目及公司进行合作的方向。比如在前端展现方面和Tableau进行充分合作,在存储方面依靠HBase等。Apache Kylin的生态圈图从第一版到现在没有太多的变化,只是增加了更多的朋友,例如Apache Zeppelin等,随着新版架构的改进,整个项目将与Spark,Kafka, Excel/PowerBI, Docker等形成更好的互补和整合,积极融入整个大数据生态圈并打造自己的生态系统。
作为第一个Apache项目,从公司到团队到个人都没有特别多的这方面的经验。因此我们在加入Apache后积极学习和遵循Apache社区及项目的运作方式,特别是The Apache Way、Community Over Code等。另外整个团队与我们的mentor们形成了很好的互动,在各个方面获得了他们极大的指导和帮助,整个团队,社区一起不断进步和发展,为我们顺利毕业成为顶级项目提供了前提。
韩卿:首先,社区是什么?技术社区不是一个在线论坛或者微信群,而是围绕一个产品或者技术,具有共同兴趣或者爱好而所形成的人与人之间的联系和互动。所以仅仅只是参与在线论坛或者邮件列表,提交代码,贡献补丁是远远不够的,需要不断的认识朋友,与不同的人就行交流,不断碰撞新的想法,积极与其他人进行互动等。在硅谷,经常有各种meetup、user group等组织这方面的活动,比如Spark、Hive、Kafka等等,通过线下活动将线上的ID映射到活生生的人的时候,圈子自然形成了,朋友自然就交到了,如果你的技术或者产品很吸引人,自然会有更多人愿意来帮助。另外一方面,混熟悉后,不管如何当需要帮忙的时候就方便的多了。这方面我们国内的开发者社区还远远不够,不过已经看到了非常不错的交流氛围,也希望更多的朋友能够参与到国际社区的交流中,这样当你需要找人投票,找人帮忙review code的时候就容易的多,也是一个很好的机会向国际社区展现来自我们本土的技术力量和产品等。
韩卿:目前国际上有Apache软件基金会,Linux Foundation基金会,Open Stack基金会,容器基金会等,由于本人较少参与其他基金会,这里仅给出一些简单的个人看法:
如果你要捐献你的项目至开源社区,为其选择合适的基金会很重要,比如大数据(Hadoop/Spark等)相关,则ASF是比较好的地方,绝大部分的大数据相关项目目前都在Apache旗下,如果是云计算方向,则OpenStack基金会则是很好的地方,如果是微软技术系列的项目,则最新的.NET基金会是更好的选择。
选择合适的基金会将会为项目带来诸多便利,相关参与者及贡献者一般都活跃在特定的基金会及相关的社区中,在那里较容易获得更多的关注和帮助。比如在Apache中很容易找到Hadoop、Spark相关人士,但云计算方向就比较少。
韩卿:Apache Kylin项目的成功离不开eBay公司的支持,最初的立项、团队、客户案例等都是从eBay内部挖掘的,虽然我们在一开始就定了要开源的方向,但我们设定了内部必须有真实案例上生产环境才可以对外开源,事实上,Kylin在eBay内部的生产环境正式于2014年9月30日上线,同时有三个应用案例,在隔天即2014年10月1日我将代码push到了GitHub上。此外管理层也给了巨大的支持,从美国总部到eBay中国卓越技术中心(CCOE)都给予了充分的信任和支持,为团队能够非常专注在产品设计,技术研发,应用开拓上提供了必要的支持。
eBay公司一直参与开源社区,贡献了很多项目至开源世界,特别是从2013年开始,公司决策层将采用,参与及贡献回开源社区作为战略指导,鼓励各个团队参与和贡献至开源社区,Apache Kylin在项目一开始就获得eBay高级副总裁的直接comment: Ready Open Source from Day One。
Apache Kylin所获得的影响在公司内外部引起了积极反响,也获得了非常高的评价,从CTO到高级副总裁到部门VP等都给予了极大的赞赏和鼓舞。特别是Apache Kylin在今年的InfoWorld Bossie大奖中与Apache Spark,Apache Kafka,Druid,Apache Flink等一同荣获“最佳开源大数据工具”奖,是业界对整个项目的认可,也在eBay内部引起了巨大的影响,也为后续的其他项目进一步贡献至开源社区带来了一个好的开端,来自我们部门的另一个项目Apache Eagle已经于2015年10月正式成为新的Apache孵化器项目。
韩卿:相对于直接在github.com或者其他地方开源方式,Apache社区及基金会给人的感觉会更加“古板”和“官僚”,比如到目前为止,讨论社区都还是以邮件列表(文本形式)为主,还不能使用Google Group等“现代”工具。讨论,设计,决策,版本发布等都需要遵守一定的规则来完成,甚至很多时候以为一些细节问题不得不重新生成发布包并重新投票。
但是,这些方式,以及ASF一直推崇的The Apache Way为一个开源项目带来的是更好的治理(Governance)和品质,相信每一位朋友和我的感觉一样,一个来自Apache的项目或者framework是可以放心使用的,基本上不用担心有什么大的问题,更新上也会有一定的保证,这比在GitHub上看到一个好项目,但几个月甚至一年都没有更新,要靠谱的多的多。
而且Apache软件基金会会定期review不活跃的项目,重新寻找贡献者,或者直接retire该项目,通过这样的方式保证了Apache社区中的项目都具有稳定的活跃度和较高的品质。
对于愿意参与开源项目,个人非常推荐多多参与Apache相关项目,一方面可以为开源项目做贡献,另一方面也是一个很好的机会可以学习西方文化,学习其他项目如何运作;对于有兴趣贡献项目的朋友,Apache软件基金会是个不错的选择,如果你的项目希望加入Apache孵化器,可以联系我,希望我们在这方面的一些经验可以对大家有一些帮助。
韩卿:我们正在准备Apache Kylin 2.0的发布工作,预计2015年年底前会发布一个稳定的beta版本,该版本将支持StreamingOLAP及可插拔架构(Plugable Architecture)。之后将更关注在实时OLAP, Spark生态整合,快速的明细数据查询,更多友好的客户端(包括Zeppelin,Excel,PowerBI及其他BI和展现工具),完善的SQL功能及高级函数支持,以及稳定性和易用性等方面。
更多的关于Kylin2的特性及计划,请关注Apache Kylin的微信公众号(ApacheKylin)或者Twitter帐号(@ApacheKylin)以获得最新的信息。
现任eBay全球分析基础架构部(ADI) 大数据产品负责人, 负责包括Apache Kylin,Apache Eagle及其它大数据相关产品的设计,规划,战略和执行。并且作为Apache Kylin co-creator & VP管理和驱动Apache Kylin的愿景,路线图,特性及计划等,在全球各地不同部门中发展客户,开拓内外部合作伙伴及管理开源社区等,建立与大数据厂商,集成商及最终用户的联系已构建健壮的Apache Kylin生态系统。在此之前任eBay BI平台高级架构师,带领团队为eBay全球商务智能平台提供管理,架构,开发等,在大数据,数据仓库,商务智能等方面拥有超过十年的工作经验。