2020 年值得关注的⼗⼤技术趋势
No.1 云原⽣将以容器的形态落地
2019 年,还是有很多⼈会对“云原⽣”充满了疑惑甚⾄误解。这想必也是为何我们⼀直能够在不同场合听到关于云原⽣的各种不同定义的原因所在。有⼈说,云原⽣就是 Kubernetes 和容器;也有⼈说,云原⽣就是“弹性可扩展”;还有⼈说,云原⽣就是 Serverless;⽽后来,有⼈⼲脆做出判断:云原⽣本⾝就是“哈姆雷特”,因为每个⼈的理解都不⼀样。实际上,⾃从这个关键词被 CNCF 和 Kubernetes 技术⽣态“借⽤”之初,云原⽣的意义和内涵就是⾮常确定的。在这个⽣态当中,云原⽣的本质是⼀系列最佳实践的结合;更详细的说,云原⽣为实践者指定了⼀条低⼼智负担的,能够以可扩展、可复制的⽅式最⼤化地利⽤云的能⼒、发挥云的价值的最佳路径。所以说,云原⽣并不指代某个开源项⽬或者某种技术,它是⼀套指导软件与基础设施架构设计的思想。这种思想,以⼀⾔以蔽之,就是“以应⽤为中⼼”。
正是因为以应⽤为中⼼,云原⽣技术体系才会⽆限强调让基础设施能更好的配合应⽤,以更⾼效的⽅式为应⽤“输送”基础设施能⼒,⽽不是反其道⽽⾏之。⽽相应的, Kubernetes 、Docker、Operator 等在云原⽣⽣态中起到关键作⽤的开源项⽬,就是让这种思想落地的技术⼿段。以应⽤为中⼼,是指导整个云原⽣⽣态和 Kubernetes 项⽬蓬勃发展⾄今的重要主线。
2020 年,随着容器、尤其是 Kubernetes 的迅猛发展,CNCF 基于 Kubernetes 这样⼀个“种⼦”迅速构建起来⼀个以数百个开源项⽬组成的庞⼤⽣态,使得云原⽣的落地趋势越来越清晰:以容器的形态落地,把“以应⽤为中⼼”进⾏到底。
No.2 DDD 即将撞上敏捷式的尴尬
DDD(领域驱动设计)的思想发端于 2004 年,在过去的⼗余年时间中⼀直不温不⽕,直到最近两年才得到越来越多的关注度。有⼈说,正是托微服务的福,DDD 才有了流⾏的⼟壤。实际上,⽬前微服务的划分⽅法⾥全球共识的就是 DDD,但 DDD 的核⼼思想并不仅仅局限于微服务本⾝。因为微服务是⼀种架构⻛格,⽽ DDD 是⼀种思想。微服务定义的九⼤核⼼特质,跟 DDD 的原则是完全⼀致的,这在某种程度上也是业界愿意在微服务上下⽂中采⽤ DDD ⽅法和实践的原因
虽然 DDD 的关注度⽇渐提升,但在实践过程中,也遇到了敏捷开发式的尴尬:如何调整组织架构以适配 DDD?
过去业界提到敏捷开发,都说对个体的要求太⾼,但实际上并不是。表⾯上看敏捷对开发⼈员的技能要求⾼,实际上是因为敏捷开发要求调整组织架构,很多⼈不愿意动,因此业务和技术协作上的问题很难解决。
DDD ⾯临的困境同样如此。在过去,技术这条线的划分可能是开发⼀部、开发⼆部,业务这条线的划分可能是业务⼀线、业务⼆线。但 DDD 的划分理念是从业务⾓度划分成领域,领域再划成服务,落地的时候采⽤微服务架构,以前的划分⽅式完全适配不了。所以直接造成DDD 落地难的阻碍也是组织结构。具体表现就是协作不起来,各条线相互甩锅,领导抱怨团队⼈员能⼒不够。可以预⻅,随着微服务和中台思想的持续升温,2020 年 DDD 将会变得更加流⾏,但由此带来的问题也会愈加凸显。
No.3 Service Mesh 将迎来技术的普及年
2018 年⾄今,Service Mesh 的热度直线上升,⽽随着 Kubernetes ⽣态体系的逐渐建⽴和完善,基于 Kubernetes 应⽤程序的规模和复杂性将增加,Service Mesh 将成为有效管理那些应⽤程序所必需的⼀切。企业对其的需求将会快速增⻓。我们认为,2020 年 Istio 作为控制平⾯的⼀种技术实现仍将在 Service Mesh 领域扮演核⼼⾓⾊。Istio 获得业界⼴泛关注的原因,在于背靠Google 公司的内部⼯程实践,以及对⼯程实践的再思考和重新提炼。⽽在国内也有阿⾥巴巴等⼤玩家在参与其中。未来市场上可能还有其他竞争者的空间,但市场的整合将于 2020 年开始。从⻓远来看,我们很可能会看到类似 Kubernetes 的情况,其中出现了赢家,公司开始标准化那个赢家。⽬前来看,业界正在围绕 Istio 建⽴⽣态,Istio 似乎最有可能成为事实上的 ServiceMesh。
2019 年 Service Mesh 的解决⽅案⽤例较为单⼀,展望 2020 年,相信会有更多的公司通过实践⽽对 Service Mesh 的价值更有体感,通过创造更多的成功⽤户故事、案例⽽加速 ServiceMesh 的普及。也许,2020 年将成为 Service Mesh 技术的普及年。
No.4 Serverless 从观望⾛向落地
Gartner 最近的⼀份报告表明,到 2020 年,全球将有 20% 的企业部署⽆服务器架构。这说明⽆服务器架构不只是⼀个流⾏语,更是⼀种众所周知的云计算趋势,并且已经在软件世界掀起⼀场⾰命。⼤型⼚商(如亚⻢逊、微软和⾕歌)已经在⽆服务器架构领域重资投⼊,追赶⾰命的浪潮。
Serverless 已经从观望期⾛向了落地进程,O’Reilly 近期的⼀份千⼈样本的调查显⽰:超过40% 受访者已在使⽤,50% 开发者想要尝试。2020 年 Serverless 的发展将在以下⼏个⽅⾯取得更多进展:
Serverless 计算平台的能⼒有了⻓⾜进步,变得更加通⽤;
Serverless 正在从偏离线业务进⼊在线业务;
Serverless ⽣态不断发展,在应⽤构建,安全,监控报警等⽅⾯涌现了很多开源项⽬和创业公司,⼯具链越来越成熟;
⽤户对 Serverless 的接受度不断增加,除了互联⽹等迅速拥抱新技术的⾏业,传统企业 ;如银⾏⽤户也开始采⽤ Serverless 技术;
Java 语⾔、社区不断努⼒,试图成为 Serverless 平台的主流语⾔;
基于 WebAssembly(WASM)的 FaaS ⽅案有望出现。
No.5 WebAssembly 将成为 Web 新技术浪潮主⾓
虽然前端⼀直是推陈出新速度最快、开发者最爱抱怨“学不动”的技术领域,但是回顾刚刚过去的 2019 年,多位专家都会这样告诉我们:2019 年⼤前端领域增速放缓,并没有出现很多颠覆性技术。
仔细想想这个说法确实也站得住脚,⽆论框架、语⾔还是前后端分⼯,2019 年并未出现重磅新闻,主要的“厮杀”都在细分领域展开。这未尝不是好事,可能意味着前端正在⾛向成熟。
不过如果⾮要在 2019 年看似平淡的前端圈选择⼀个超过预期、2020 年值得关注的技术趋势,我们可能会选择 WebAssembly(Wasm)。
WebAssembly ⾄今已经发展了三四年时间,2019 年发展速度之快超乎我们想象。3 ⽉份Mozilla 提出 WASI ;Mozilla、Fastly、英特尔与红帽宣布成⽴ Bytecode Alliance(字节码联盟);2019 年末的⼤事件则是 WebAssembly 进⼊ W3C 成为正式推荐标准。
Docker 联合创始⼈在 Twitter 上说的⼀句话更是给 WebAssembly 添了⼀把⽕:
“如果 WASM+WASI 在 2008 年就已诞⽣,那么我们就⽤不着创建 Docker 了。”
但是如果你认为 WebAssembly“真⾹”,可能⼜错了。最近对 JavaScript 开发⼈员进⾏的⼀项调查显⽰,只有⼀⼩部分⼈在使⽤WebAssembly,因为⽬前⼤家还找不到放弃 JavaScript 的理由。
不过进⼊ 2020 年,WebAssembly 在商业化上的进程可能会加快,如果你还没有关注和学习WebAssembly,建议你补上这个功课。
Wasm 现阶段的应⽤场景还⽐较少,主要的⼏个应⽤场景都集中在前端密集计算业务的优化上,除此之外也有 AI、区块链上的尝试。我们预测 2020 年 WebAssembly 应该主要还是以标准制定及基础设施(浏览器、编译器等)实现发展为主,在 Post-MVP 没有被完全落地的情况下,Wasm 很难跳出⽬前的⼏个应⽤场景来进⾏能够放到⽣产环境上的试验,这也是 2020 年Wasm 将会⾯临的⼀个⽐较⼤的挑战。
当然现阶段对于 JavaScript 开发者⽽⾔,由于现阶段 Wasm 标准的落地进度并没有达到可以为 JavaScript 开发者或者前端开发者提供很多的、能够解决前端实际问题的 Wasm 落地场景,因此导致更多的⼩伙伴只是采取观望态度。2020 年这样的情况是否会有所改善?可能还要看 Wasm 标准在⼯具链和浏览器层⾯的落地实现程度。
除了 WebAssembly,2020 年值得关注的前端趋势还有很多,⽐如 Serverless,⽐如前端智能化。
No.6容器化加速席卷⼤数据基础架构
前⼗多年,⼤数据的发展主要集中在技术框架上,社区出现了⼀系列优秀作品,⽐如引领⼤数 据⻛潮的 Hadoop,⽐如计算引擎 Spark、Flink ,⽐如消息中间件 Kafka 等等,可以说,⼤ 数据领域的技术框架已经⽐较成熟。我们认为新的⼀年中,⼤数据领域将迎来⼤数据的容器化浪潮。
IT 基础设施往云上迁移是⼤势所趋,由于来⾃云平台的竞争,Hadoop 正⾯临越来越⼤的阻⼒。去年 6 ⽉ Cloudera 和 Hortonworks 合并,股价暴跌 40%。虽然 Hadoop 不太可能很快就会消失,但它的采⽤可能会减缓。
同时出于对成本以及对⼚商锁定的担忧,促成了向混合⽅法的演变,包括公⽤云、私有云和本地部署的组合。在混合云时代,容器依靠其⾃⾝标准化、⼀次构建随处运⾏的能⼒,⾮常适合⽤于⼤数据系统的构建和管理。⽬前已经有⼤量的⼤数据系统原⽣⽀持 on Kubernetes,例如Spark 官⽅版本从 2.3 开始就可以⽆需任何修改直接跑在 Kubernetes 上,⽽且“更好地在 K8s上运⾏”已成为后续版本演进的的重⼤策略。⾏业也已涌现出多个案例。数据基础架构正在从Hadoop 到云服务再到混合云 / Kubernetes 环境的三个阶段过渡,⽬前这⼀过程正在加速。
当然除了容器化浪潮外,2020 年⼤数据领域还会迎来数据实时以及全链路整合的趋势。数据本⾝的价值是随着时间推移⽽快速降低的,以 Kafka、Flink 为代表的流处理计算引擎已经为实时计算提供了坚实的底层技术⽀持,实时数据计算已融⼊各种企业场景。⼤数据的实时性包括快速获取和传输数据、快速计算处理数据、实时可视化数据、在线机器学习和模型实时更新等各个环节,每个环节都会影响整体实时性。
传统的机器学习和⼤数据两套技术也逐渐在融合,从原始数据导⼊到数据准备、数据训练到模型部署,整个是⼀套闭环,⼤数据和 AI 平台的集成与协同将是未来发展的⼀个趋势。⽐如在Spark 社区⾥也提出了 Hydrogen 计划,在应⽤层把⼤数据和 AI 开源的框架全部串联在⼀起,通过分布式的调度⽅式,把这些框架调度到分布式数据与 AI 平台之上。
除此以外,2019 年”数据中台“的概念可谓⽕了⼀把。2020 年依然是⼤数据发展的⼀个值得关注的趋势。
No.7 深度迁移学习 基于预训练模型有更多改进
2019 年,由于预训练模型 BERT 以及 GPT 2.0 的发展,深度迁移学习成为 AI 领域的热门词汇。准确地说,预训练模型是⾃然语⾔处理领域新的 baseline,如果要在完全不依赖 BERT 的基础上,提出⼀个与 BERT 效果相当或者更好的新模型,⽬前来看可能性⾮常低。业界⼤部分NLP 成果均是基于 BERT 的各种改进或者在对应业务场景上进⾏应⽤的,⽽且 BERT 的改进⽅向⽐较多,已经出现各种可⽤的变种 。
⽬前,XLNet、RoBERTa 等各种 BERT 的改进预训练模型,虽然是通过增加预训练的数据进⼀步提升效果,但除了增加数据,还做了许多模型⽅⾯的优化,这些突破都不是仅仅依靠堆数据就能带来的成果。
我们认为:2020 年,深度迁移学习将基于预训练模型有更多改进,⽐如对性能要求较⾼的场景需要对模型做⼀些改进和⽅案上的优化,双向语⾔模型有可能出现训练和预测不⼀致的现象,以及在⻓⽂本处理、⽂本⽣成任务上的不⾜。同样值得期待的是,该领域未来可能会出现更加轻量级的在线服务模型。拓展到⾃然语⾔处理领域,除了不断提升预训练模型的效果,未来如何更好地与领域的知识图谱融合,弥补预训练模型中知识的不⾜,也是新的技术突破⽅向。
No.8 图神经⽹络的应⽤边界继续扩展
图神经⽹络(GNN,Graph Neural Networks)是 2019 年 AI 领域最热门的话题之⼀。虽然深度学习⽬前已经在诸多领域拥有了显著的应⽤成果,但因果推理和可解释性仍是短板,这⼏年学术界和⼯业界都在探索新的⽅向。图神经⽹络是⽤于图结构数据的深度学习架构,将端到端学习与归纳推理相结合,业界普遍认为其有望解决深度学习⽆法处理的因果推理、可解释性等⼀系列瓶颈问题,是未来 3 到 5 年的值得关注的重点⽅向。
展望 2020 年,最可以确定的⼀点是:GNN 依然会保持如今快速发展的态势。从理论研究上看,不断解构 GNN 相关的原理、特⾊与不⾜,进⽽提出相应改进与拓展,是⾮常值得关注的部分,如动态图、时序图、异构图等。另外,⼀直以来研究 GNN 所⽤的标准数据集,如Cora、PubMed,相对来说场景单⼀、异构性不⾜,难以对复杂的 GNN 模型进⾏准确评价。针对这⼀问题,近期斯坦福⼤学等开源的 OGB 标准数据集有望⼤⼤改这个现状。在新的评价体系下,哪些⼯作能够脱颖⽽出?值得期待。
从应⽤上看,除了在视觉推理、点云学习、关系推理、科研、知识图谱、推荐、反欺诈等领域有⼴泛应⽤外,在其他诸如交通流量预测、医疗影像、组合优化等场景下,也出现了⼀些GNN 相关⼯作。在这其中,如何准确有效地将图数据与 GNN ⼆者有机结合到相关场景,是应⽤上需要着重考虑的。相信 2020 年,会出现更多这样的⼯作来拓展 GNN 的应⽤边界。此外,GNN 要真正在⼯业界⼤规模落地,底层系统架构⽅⾯仍需做⼤量⼯作。业界期待着⼀个更为开放、⾼性能,且⽀持超⼤规模分布式图⽹络计算的主流平台的出现。
No.9⼤规模知识图谱的⾃动化构建将成为重要发展趋势
作为认知智能领域核⼼技术之⼀,⽬前知识图谱已运⽤到语⾳助⼿、聊天机器⼈、智能问答等热门的⼈⼯智能应⽤场景中,并覆盖泛互联⽹、⾦融、政务、医疗等众多领域。尽管发展⽕爆,但现在知识图谱在构建和落地过程中还⾯临着诸多挑战:⾸先,对⼈⼯构建的依赖度还较⾼,仍然缺乏从⼤规模数据⾥获取的⼿段;其次,知识图谱的构建技术成本很⾼。为解决上述问题,⽬前有很多公司都在做⼀些⾃动化构建知识图谱的探索⼯作,如明略科技开发了⾃动图谱构建⼯具,将⼀些中间构建过程⾃动化;腾讯正在基于聚类算法和强化学习结合的模式开发schema ⾃动构建和根据反馈调整知识图谱的能⼒….
2019 年知识图谱构建技术已经从过去的完全⼈⼯编辑,进化到了场景化定制 NLP 知识抽取配合⼈⼯模板和审核的模式,正在经历⼈⼯构建 – 群体构建 – ⾃动构建这样的技术路线。⾃动化构建知识图谱的特点是⾯向互联⽹的⼤规模、开放、异构环境,利⽤机器学习技术和信息抽取技术⾃动获取互联⽹信息。
2020 年,我们可以预⻅的是:⼤规模知识图谱的⾃动化、⾼质量构建将成为重要的发展趋势。具体来看,⾸先,知识图谱的 schema ⾃动构建和图表⽰推理将成为关注的重点;其次,随着知识图谱在各个⾏业的深⼊落地,会有更多⾯向领域知识图谱的⾃动化构建⽅案涌现出来,⽐如智能医疗、智能⾦融等相关知识图谱及推理应⽤建设;此外,随着 5G 的到来,5G 知识图谱的构建也值得我们期待。
No.10 区块链稳定币将成全球关注重点
2019 年,区块链技术迎来了两⽀“强⼼剂”,⼀⽀是以 Facebook Libra 为代表的稳定币技术,另⼀⽀是中共中央政治局集体学习区块链技术,国家最⾼领导⼈对区块链技术给予⾼度肯定。
在过去⼀年中,各⼤主要分布式账本技术(DLT)、各⼤公司的联盟链技术团队都做出了不少改进,已经显著增加了相关⽅案解决实际问题的潜⼒。技术的相对成熟,让区块链能在未来的⼀年⾥结合企业业务得到落地发展。
我们认为,区块链未来主要有两点值得关注:⼀是区块链之间的互操作性,2020 年我们很可能会看到更多区块链系统的相互融合,跨链技术也有望进⼀步突破;⼆是稳定币⽀付技术。⽀付是区块链的看家本领,稳定币避免了其他类型数字货币币值不稳、剧烈波动的弊端,从⽽使数字货币能够真正应⽤于⽇常⽀付等业务场景中。
同时,在 Facebook Libra 的影响下,各国央⾏数字货币之间的竞争加剧,尤其我国的央⾏数字货币已是“呼之欲出”,未来国际⾦融体系势必会发⽣⼤变⾰。全球各国政府都⽐较重视这块⼉的发展,相信在未来会掀起稳定币的热潮。