上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

InfoQ:2022年度技术盘点与展望报告(310页).pdf

编号:114208 PDF  DOCX  310页 6.49MB 下载积分:VIP专享
下载报告请您先登录!

InfoQ:2022年度技术盘点与展望报告(310页).pdf

1、 目录 2022 年度技术盘点年度技术盘点 争相上市、抢夺本土市场,未来三五年数据库将迎来大洗牌|解读数据库的 2022.1 解读数字化的 2022:不再追求大而全的“军备竞赛”,用聚焦来提高转型“成功率”.16 直面成本“刺客”、拒绝繁杂技术花样,压力之下云厂商改变方向|解读云原生的2022.31 市场增速超 20%,国产操作系统“浴火重生”|解读操作系统的 2022.54 取代搜索,“干掉”艺术家?顶流AIGC的疯狂与争议|解读 AIGC 的 2022.69 解读 Go 语言的 2022:泛型时代开启.87 大数据管理工具走向更易用与专精,但中外发展现状存在明显差异|解读大数据的2022.

2、118 奇点已来,推进 All on Serverless 有哪些困难、如何破局?|解读 Serverless 的2022.130 微服务虽已老生常谈,但生命力超出不少人想象|解读微服务的 2022.139 2023,可观测性需求将迎来“爆发之年”?|解读可观测技术的 2022.152 数据烟囱亟需打破,云原生融合数据库雪中送炭|解读云原生数据库的 2022.166 从大前端“穿越”到终端,开发者应该必备什么技能?|解读终端的 2022.176 展望技术人的展望技术人的 2023 降本增效的大环境下,该不该砍掉测试工程师?|展望测试工程师的 2023.198 一个架构师在 2023 年需要掌握

3、哪些“必杀技”?.209 展望后端研发工程师的 2023:“后端难学”源于知识体系匮乏,面试时这三点是加分项.225 寒冬未散,手里没点“必杀技”,怎么翻过浪浪山?|展望数据库工程师的 2023.239 从 JS 到全生态,云原生时代下的前端成长演进之路|展望前端工程师的 2023.262 技术人穿越周期的生存之道是转型管理?|展望技术管理者的 2023.290 卷首语 作者:蔡芳芳 热热闹闹的 InfoQ 2022 年度技术盘点与展望,已经到了尾声。在这场盘点中,InfoQ 编辑部全体编辑同学,细数了操作系统、数据库、AI、大数据、云原生、架构、大前端、编程语言、数字化、可观测等超过十个方向

4、,同时,围绕“不同岗位的技术人,2023年可能需要聚焦什么方向、什么技能、做好哪些准备”邀请专家进行直播对话,同时收集了数十条社区提问,在线反馈给专家们。在这场盘点中,我们收获了关于技术圈的 2022、2023 的许多精彩观点和认知,比如:2022,标准化、国产化、DevSecOps、云原生网关、Proxyless、统一控制面和多语言,正在给微服务带来的新的市场机遇;2022,eBPF成为当下最火的技术之一,为操作系统内核提供了新的可能性;从生态繁荣程度上来看,RISC-V 生态正处于增长关键期;当前国产移动操作系统还处于准备期,离带动整个产业发展还有一定的距离,但离成熟期也并不遥远;2022

5、,容器的“黑盒”打开,混部带来效率提升,备受企业欢迎;Serverless 基于容器完成标准化,开启应用“元年”;降本增效大主题下,FinOps 理念得到快速发展;越来越多传统行业开始应用云原生技术;2022 年度技术盘点 1 2022 年度技术盘点与展望年度技术盘点与展望 争相上市、抢夺本土市场,未来三五年数据库将迎来大洗牌|解读数据库的 2022 作者:李冬梅 本文是“2022 InfoQ 年度技术盘点与展望”系列文章之一,由 InfoQ 编辑部制作呈现,重点聚焦数据库领域在2022年的重要进展、动态,希望能帮助你准确把握2022年数据库领域的核心发展脉络,在行业内始终保持足够的技术敏锐度

6、。特此感谢 Jags Ramnarayan、Pater、Michael Cahill、孙元浩、陶建辉、杨传辉 2 2022 年度技术盘点与展望年度技术盘点与展望(花名日照)(按姓名首字母排序)对本文的贡献,他们的真知灼见,是本文能与大家见面的关键。对于数据库技术领域而言,2022 年是一个激动人心的重要年份。过去一年,数据库技术仍围绕着云原生、Serverless、分布式等核心方向快速发展,但是相较于前几年,数据库市场的客户逐渐成熟,对产品的理解更加理性,相应地要求也越来越高。不难看出,数据库领域的发展已经步入深水区。如果说过去数据库厂商们把更多的注意力聚焦在框架和架构搭建上,那么 2022

7、年,则进入了对数据库性能、成本、易用性等细节打磨的阶段,开始了对性能的极致追求。2022 年数据库领域大事件回顾 1 月 21 日,北京国家金融科技认证中心正式发布2021 年分布式数据库标准符合性检测参检机构名单,腾讯云分布式数据库 TDSQL 名列其中,成为首款通过检测的互联网公司数据库产品。2 月 11 日,Elastic 8.0 版本正式发布,重点改进 Elasticsearch 的矢量搜索功能,并提供对现代自然语言处理模型的原生支持、进一步简化数据上线过程,以及精简的安全防护体验。在速度、扩展幅度、相关性和简便性方面,Elastic 8.0 版本迎来了一个全新的时代。2 月 17 日

8、,由信通院主办的国内首款金融数据库性能测试工具开源发布会在线上召开。会上正式开源了金融数据库性能测试工具 DataBench-T。3 2022 年度技术盘点与展望年度技术盘点与展望 4 月 1 日,TiDB 宣布正式开源分析引擎 TiFlash,它是为 TiDB 提供 HTAP 能力的重要组成部分。TiFlash的框架代码基于ClickHouse,但和ClickHouse拥有完全不同的擅长场景,TiFlash 完全偏重于事务性数据的分析。4 月,星环科技升级多模型大数据基础平台 TDH 9.0,实现 9 种存储引擎支持 10 种数据模型。4 月 27 日,Redis 正式发布 7.0 版本,添

9、加了近 50 个新命令和选项来支持这种演变并扩展 Redis 的现有功能。5 月 12 日,在谷歌 I/O 2022 开发者大会上,谷歌云平台 GCP 宣布推出 AlloyDB for PostgreSQL,这是一个全托管的、与 PostgreSQL 兼容的数据库服务。5 月 16 日,在中国信通院组织的第十四批“可信数据库”产品能力评测中,华为云云数据库 GaussDB(for openGauss)完成信通院首个防篡改数据库产品测评。6 月 8 日,MongoDB World 2022 大会上,MongoDB 宣布推出可查询加密功能和关系型数据库迁移工具(Relational Migrato

10、r),借助这项技术,不具备密码学相关经验的开发者可以在不影响性能的情况下,以简单直观的方式查询经加密的敏感数据。6月29日,武汉达梦数据库股份有限公司正式递交招股说明书,拟科创板挂牌上市。根据招股说明书,达梦本次公开发行股票数量不超过 1900 万股,计划募资 23.51 亿元。6 月 29 日,一体化实时 HTAP 数据库 StoneDB 正式开源。StoneDB 是一款支持行列混存+内存计算的 HTAP 数据库,采用自主研发的存储和计算引擎,可将 MySQL 4 2022 年度技术盘点与展望年度技术盘点与展望 的分析性能提高 100 倍。7 月 23 日消息,蚂蚁集团时序数据库 Ceres

11、DB 正式开源,并发布开源版本 CeresDB 0.2.0。蚂蚁集团表示:“通过开源,希望帮助用户解决时间序列数据存储的水平扩展与高可用的痛点,乃至针对时序数据的复杂分析计算能力的需求”。8 月 10 日,OceanBase4.0(小鱼)正式发布,这是业内首个单机分布式一体化数据库,可以实现单机部署并兼顾分布式架构的扩展性与集中式架构的性能优势,RTO从 30 秒迈入 8 秒,进入真正的秒级容灾时代。发布会还宣布全球开服 OceanBase Cloud。8 月 13 日,涛思数据发布 TDengine 3.0 版本,该版本带来了几大核心特性,包括云原生架构、流式计算,还增强了数据订阅功能;更重

12、要的是,3.0 系列版本开始提供了全平台支持,服务器/客户端均已支持 Linux、Windows 和 MacOS。10 月 18 日,“国产大数据基础软件第一股”星环科技正式登陆科创板,发售价为每股47.34 元,开盘后报每股 72 元,大涨 52%。10 月 18 日,Oracle 宣布推出 MySQL HeatWave Lakehouse 云数据湖库。据 Oracle称,MySQL HeatWave 可以在多个云上提供一种集成服务,用于事务处理、跨数据仓库和数据湖的分析、以及无需 ETL 的机器学习。11 月,MariaDB 团队宣布正筹备在中国成立实体公司,并积极准备拓展中国市场。明年,

13、MariaDB 将有一个专门的本地团队为中国市场服务,并将发布新产品,如Xpand(MariaDB 的分布式 SQL 数据库),此外,MariaDB 团队还计划将云版本SkySQL 引入中国市场。5 2022 年度技术盘点与展望年度技术盘点与展望 12 月 19 日,MariaDB Plc.公司表示,已经完成了与特殊目的收购公司 Angel Pond Holdings Corporation 的合并,合并后的公司更名为 MariaDB Plc.。MariaDB 的普通股和权证已于 12 月 19 日登录纽约证券交易所,此次合并已获得两家公司董事会和股东的批准。数据库领域年度关键词 数据库并不是

14、一个新领域,它已经发展了 40 年,作为基础软件之一,它是一个既传统又古老的领域。但近几年数据量爆发、云化趋势加深等因素,正在推动数据库领域进入新的发展阶段。InfoQ在采访国内外多名资深数据库专家后得出了2022年数据库领域的三大关键词,其中,“融合”一词成为了被提及次数最多的词语。融合 这里的提及的“融合”不仅仅指的是数据库各种类的融合,更包括软硬件融合、混合负载融合、分布式与单机的融合、多模态的融合等,但实际上融合问题并不好解决。比如,软硬件融合就是个难题。数据库经历了多年发展,其底层架构和算法针对过去的硬件网络等基础设施经过充分设计,以获得最佳性能,但是随着新型硬件的发展,例如新 CP

15、U 架构、新存储介质,以及新网络架构的发展与成熟,数据库底层机制也必须有相应的调整,才能充分发挥新硬件的特性。此外,分布式与单机的融合也有一定技术难度。单机数据库相较于分布式数据库,由 6 2022 年度技术盘点与展望年度技术盘点与展望 于不需要大量的分布式事务处理,所以单核性能会高于分布式数据。但是数据库面临的市场是一个复杂多样的市场,有一些场景可能一个单机数据库就能支持,用分布式显然有点“大材小用”,但是有一些场景又需要分布式数据库以支撑海量数据和海量交易。那么如何在数据库规模比较小的时候,表现为一个单机数据库,不需要复杂的分布式事务机制,而随着数据规模增长,又能自动生长为一个分布式数据库

16、,而不需要大规模的数据库迁移等,就是一个必须考虑的关键问题。以 TDSQL 为代表的多家厂商开始尝试采用对等架构实现存算分离与存算一体的兼顾,使数据库产品能兼顾不同规模的场景,取得不同的平衡;而 OceanBase 则推出单机分布式一体化架构,打造更加开放、灵活、高效、易用的下一代企业级分布式数据库。实现了在线水平扩展的同时不增加分布式相关 overhead,从而能够像集中式数据库一样部署在小规格的服务器上,做到单节点性能达到甚至超越集中式数据库的水平。AI 与数据库的融合也在进一步加深。进入 2022 年以后,AI 和数据库融合趋势愈加明显,AI已经成为企业挖掘数据商业价值的最大推动力。过去

17、,企业数据可用性不高,样本容量也有限,无法在毫秒内分析大量数据;而人工智能和机器学习技术,让企业在数据容量和数据源可用性方面有了质的飞越,才有了真正的大数据访问和实时处理能力。大统一是诸多自然科学领域的最终梦想,而数据库的大融合也是数据库从业人员的梦想,但是这里面往往涉及到诸多因素的权衡,以及要面临越来越复杂多样的场景,现阶段还很难做到完美的统一。7 2022 年度技术盘点与展望年度技术盘点与展望 数据云 数据云也是今年被频频提及的关键词之一,它更多是一个数据基础设施的概念。从技术的角度来讲,数据云是为了提升整个数据分析能力,提升数据分析的实时性;从业务角度来讲,数据云可以帮助数据库厂商在云上

18、拓展更多不同客户。可以看到,今年很多开源数据库产品都发布了自己的 Cloud 版本,也就是云服务订阅版本,包括 TiDB、OceanBase、SelectDB、TDengine 等等国内知名数据库厂商。这无疑是开源数据库产品探索商业化一个比较好的路线。相较于云厂商凭借数据库的深度软硬件协同提供产品竞争力,开源厂商基于多个云平台提供的多云容灾切换方案,也有一定的市场发展空间。Serverless 这几年,Serverless 数据库大火,被称为是下一代数据库的演进方向。事实上,Serverless 数据库并非这两年才有的新概念。早在 2004 年,由于亚马逊的电商网站面临数据库扩展性的挑战,Se

19、rverless 数据库的探索之旅便已经开始。Serverless 数据库可以根据应用程序的需求自动扩缩容,并内置高可用和容错能力。Serverless 数据库背后由云服务商动态管理计算资源分布,云服务商将计算资源变成一个池子,用户无需创建实例,就能快速完成部署。具体到数据库层面,用户只要使用了基于Serverless特征的数据库,就可以基于函数运行所消耗的内存和执行时间,按使用量计费,极大地降低了数据库的使用成本。8 2022 年度技术盘点与展望年度技术盘点与展望 Serverless 发展至今,Serverless 数据库开始强调极致的资源分配曲线与业务实际需求曲线匹配,目前已经可以做到秒

20、级的按需计费,既能提高资源利用率,还不影响业务的突发流量,因此也被越来越多企业所采用。2022 年,数据库领域这些趋势值得关注 作为三大基础软件之一,如今数据库领域面临着重大发展机遇据 IDC 预测,2022 年全球数据管理软件市场规模将达到 849.7 亿美元,到 2026 年将增至 1378.2亿美元。如此大的市场空间,到底潜藏着哪些机遇和挑战?放眼即将过去的 2022 年,有哪些重要趋势值得关注?自研分布式数据库迎来落地爆发期 在云计算发展和国产化趋势的双重驱动下,国产数据库需求迎来爆发式增长。在过去数年间,分布式数据库发展迅速,成为面对海量规模及高并发等场景的利器。通过数年实践,产品的

21、基本功能、稳定性、性能等方面已趋于成熟,各数据库厂商开始在产品的易用性、可观察性、诊断能力、生态兼容等方向发力,并陆续有成果落地。回首过去一年,随着国产数据库合作生态的日渐壮大以及对降本增效的迫切需求,传统行业纷纷开启了向分布式数据库转型升级之路。国产数据库投产的广度和深度持续增加,广度即商机增多,这一方面给诸多厂商提供了很大的机会,另外一方面也给当前尚不成熟的国产数据库产品能力和服务能力带来了更大的挑战;从深度来看,分布式数据库开始真正落地于金融业、证券业、餐饮业、汽车业、房地产业等传统企业的 9 2022 年度技术盘点与展望年度技术盘点与展望 核心系统中。例如 TDSQL 今年就服务了 T

22、OP 10 银行中的 7 家,OceanBase 也在富滇银行、招商证券、红塔银行等企业关键系统中大显身手,服务了头部金融机构中的四分之一。这些无疑都证明了国产自研数据库的能力,但也对数据库的稳定性、数据一致性等提出了更高要求。上云趋势持续火热 近日,Gartner 发布了最新的数据库中国市场指南报告,报告指出中国数据库行业将加速增长并逐步向云端迁移。其实数据库的上云趋势并不是今年才有的,早在几年前,许多国外公司甚至许多民营医院已经将数据库部署在云端。以往,金融、政府和公共服务等特定行业的组织对数据和信息保密要求较高,因此对公有云的数据安全、数据主权和法规合规有顾虑,更倾向私有云或本地部署。然

23、而,Gartner 观察到一些国内企业、机构正考虑将核心任务事务型数据库迁移到公共云,这反映出最近行业对公共云的顾虑正在下降,混合云模式比重将进一步提升。云数据库凭借按需付费、按需扩展、高可用性以及存储整合等优势已经在海外市场占据了大半市场份额。据业内权威人士称,美国至少有超过一半的数据库跑在云上。虽然目前国内数据库上云趋势还未如国外一样迅猛,但这一趋势已经十分明显。10 2022 年度技术盘点与展望年度技术盘点与展望 对数据安全的重视达到了前所未有的程度 近年来,全球关键信息基础设施网络安全事件层出不穷,涉及电力、石油、制造等国计民生领域。就在 2022 年初,因遭到勒索软件的攻击,位于荷兰

24、阿姆斯特丹和鹿特丹、比利时安特卫普的几处港口的石油装卸和转运受阻,让国际油价进一步走高到近年来最高的水平,数据面临的威胁从未像今天这样严重。当前,用户主要面临的数据库安全威胁包括 SQL 注入攻击、缓冲区溢出、默认设置或弱口令、配置错误、用户帐户破坏等。数据被泄露或篡改可能导致企业面临无法通过审计导致的资产负债、监管罚款、盈利受损或客户投诉等诸多负面影响,作为承载数据的数据库系统,其安全性也关乎企业生存发展。尤其是今年,政企各界对数据安全的重视达到了前所未有的程度。今年 8 月,国家互联网信息办公室编制了数据出境安全评估申报指南(第一版),对数据出境安全评估申报方式、申报流程、申报材料等具体要

25、求作出了说明。10 月 12 日,国家市场监督管理总局(国家标准化管理委员会)发布公告,批准 2 项国家标准。其中,信息安全技术关键信息基础设施安全保护要求作为 2021 年 9 月 1 日关键信息基础设施安全保护条例正式发布后的第一个关基标准,将于 2023 年 5 月 1 日实施。产研结合,深化数据库人才培养 除了数据及数据库系统的安全外,今年数据库行业内的人才生态培养也迈向了新高度。为了推动高校与企业强化创新合作,促进创新链产业链深度融合,教育部、工业和信息化部、国家知识产权局决定共同组织开展“千校万企”协同创新伙伴行动(简称“千校万企”行动)。该行动主要目标就是把这些与数据库等“卡脖子

26、”技术相关的 11 2022 年度技术盘点与展望年度技术盘点与展望 企业与高校联动起来,把基础软件这一数字化转型的底座构建得更扎实、更安全。以星环科技为例,今年星环科技与国内多所知名高校达成合作,共同培养创新方面人才,通过这种创新对接的合作方式,运用信息化等手段建立完善校企对接常态化机制,降低对接成本,提升对接效率,促进协同创新。数据库未来展望 如前文所述,在刚刚过去的 2022 年,以云原生和分布式为主的新型数据库开始大规模落地于各行业核心系统,此外,各类型数据库趋于融合的趋势也愈加明显。未来,数据库将如何发展?InfoQ 综合多位受访专家的思考,主要概括为以下几点:国内数据库厂商 35 年

27、内将仅存个位数 随着基础软件领域成为资本热土,在2020-2021年获得融资的国产数据库公司就超过40 家。值得一提的是,仅 2021 年一年,新成立数据库公司就超过 30 家,获得新一轮融资的企业多达 20 家。资本的青睐带来了过去几年数据库厂商的井喷增长,但资本过热也带来了相应的弊端:产品能力参差不齐、同质化现象严重、技术储备力量不足.虽然近年来国内数据库产业发展迅速,借助开源和云计算,中国数据库有机会在全球市场占据一席之地,但国内数据库市场整体相较于海外已经发展了四五十年来说还稍显不足。12 2022 年度技术盘点与展望年度技术盘点与展望 多位受访人表示,2021 年,中国数据库资本处于

28、泡沫的最顶峰,未来三到五年间,数据库厂商数量将会越来越少,因为客户和应用开发商不可能用那么高的成本去适配和选用不同的数据库,这个市场不可能容得下上百种数据库。随着客户逐渐开始使用国产数据库,只有那些个别坚持在数据库领域投入、并踏实打磨数据库产品的长期主义者才能提供优良的服务,才能最终留存下去。抢夺本土市场之外,出海成为新增量 IDC 发布的2021 年下半年中国关系型数据库软件市场跟踪报告显示,前八强中除了亚马逊云科技、Oracle 和微软外,其余 5 家都是中国厂商,合计占据超过 74%的市场份额。来源:IDC 中国,2022 13 2022 年度技术盘点与展望年度技术盘点与展望 在本土做大

29、做强后,数据库出海成为国产厂商的全新增量逻辑,欧美线路和东南亚线路是国产厂商出海的优选项。两年前,腾讯云数据库TDSQL就已经在印尼Bank Neo Commerce 银行新核心系统完成搭建并正式投入使用;蚂蚁集团的 Oceanbase 先后服务过印度、印尼、菲律宾、巴基斯坦等国家的金融科技公司,并开始进军北美市场;涛思数据、星环科技等企业的出海业务也在持续增长;以 PingCap、Zilliz、Singularity 等为代表的数据库创业公司,则在自成立之初就定位国际化。但中国企业出海面临的信任度、监管、地理位置、地缘政治等障碍也不可回避,上云、开源、新技术敏感度成为除基础技术以外,国产数据

30、库顺利出海的关键要素。开源与商业化相辅相成 自 21 世纪以来,数据本身的增长速度极快,尤其随着最近几年各行各业数字化,例如智能汽车、物联网、VR/AR 等等,每年产生和存储的数据始终保持高增长率。但是从管理数据规模来看,包括 Oracle/微软/Teradata 等这类传统商业数据库的比重逐渐在降低,而开源数据库所占比重越来越大。据 DB-Engines 发布的 2022 年 12 月全球数据库排行榜可以看到,以 MySQL、PostgreSQL、MongoDB为代表的开源数据库占据着数据库市场的半壁江山,对于这些软件而言,开源是其取得成功的关键。14 2022 年度技术盘点与展望年度技术盘

31、点与展望 图片来源:DB-Engines 虽然开源的增长会对传统商业数据库市场带来一定冲击,但开源也助力了云数据库市场的发展。客观来讲,开源本身跟商业不冲突,有很多开源数据库与云这种结合产生了很多新的商业模式,例如很多开源数据库推出了云服务版,可以做多云容灾部署,为客户提供订阅类服务。此外,云厂商本身也提供很多开源数据库的服务,例如MySQL、PostgreSQL等,开源一定程度也助力了云数据库这种订阅类商业模式的发展。下一步多模数据库?据 IDC 发布的数据时代 2025报告预测,全球每年产生的数据将从 2018 年的33ZB 增长到 175ZB(1 ZB=1024 EB),以 25 MB/

32、秒的网速进行下载,需要的时间约为 18 亿年,除了庞大的数据体量外,数据类型也变得复杂多样。如何将多类型数据进行统一管理,成为了数据库领域亟待解决的问题之一。近年来,多模数据库开始兴起,并逐渐发展成一个主要的技术方向。多模数据库,指 15 2022 年度技术盘点与展望年度技术盘点与展望 的是能够将分散的数据,聚合于同一个系统中的数据库。它因具备多模式(Multi-model)数据管理和存储功能而得名,诸如图、键值、关系、文档等数据库模型,都能够得到多模数据库的有效支持。多模数据库代表了在云化架构下,多类型数据管理的一种新理念,也是简化运维、节省开发成本的一个新选择。随着 NoSQL 系统在单模

33、能力上的成熟,以及应用数据需求的多样化,业界开始进入对多模数据库的探索和实践,通过 DB-Engine 数据库排行榜可以看到,越来越多的流行数据库已经走向多模数据库。采访嘉宾(按姓名首字母排序)采访嘉宾(按姓名首字母排序)郭上阳,MariaDB 中国 Jags Ramnarayan,MariaDB 全球副总裁&SkySQL 总经理 Michael Cahill,MongoDB 研发实验室副总裁 Pater,腾讯云副总裁 孙元浩,星环科技创始人&CEO 陶建辉,涛思数据创始人&CEO 杨传辉(花名日照),OceanBase CTO 16 2022 年度技术盘点与展望年度技术盘点与展望 解读数字化

34、的 2022:不再追求大而全的“军备竞赛”,用聚焦来提高转型“成功率”作者:罗燕珊 本文是“2022 InfoQ 年度技术盘点与展望”系列文章之一,由 InfoQ 编辑部制作呈现,重点聚焦数字化领域在 2022 年的行业发展现状和趋势,希望能帮助你准确把握2022 年数字化领域的核心发展脉络,在行业内始终保持足够的敏锐度。特此感谢郭华、孔云飞、柳忠阳、沈旸、史凯、史喆、朱辉(按姓名拼音首字母排 17 2022 年度技术盘点与展望年度技术盘点与展望 序)对本文的贡献,他们的真知灼见,是本文能与大家见面的关键。2022 年,数字化已成业内共识,它是必答题,但它没有标准答案,所有企业都在摸索中前行。

35、本文主要目的在于简要阐述数字化行业的现状和趋势,“寒冬”之际,数字化作为长期投入,企业会如何权衡数字化所带来的价值,他们在关心数字化的哪些方向,是技术?是效益?还是数据?他们是如何思考自身的定位和未来的趋势,将作何布局?基于此,我们采访了数位专家,他们的真知灼见,是该文能与大家见面的关键。以下内容基于公开资料和受访专家意见整理,本文篇幅有限难以面面俱到,未尽之处还请见谅,希望能为读者带来参考价值,并激发更深入的探讨。不确定时代,需要更务实的数字化 2022 年是疫情第三年,经济下行,市场低迷,企业面临各方面的压力与不确定性,纷纷勒紧裤腰带准备过冬。“这样的大背景给很多企业的数字化投资带来了挑战

36、,很明显感觉有的企业的数字化项目取消了,有的项目停滞了。”凯捷亚太区副总裁,亚太区首席数据创新官史凯直言道。据他介绍,今年在跟企业交流时听到的最多的一个词是“效益”。从短期来看,单个项目投入更注重效果和速度,不再执着于长期的大项目,更加希望找到投资小见效快能持续迭代的投资。这意味着,企业不再只关注内部的管理,也不满足于系统和应用的成功上线,更多地以终为始,如何提升企业的盈利能力,降本增效的实际价值角度 18 2022 年度技术盘点与展望年度技术盘点与展望 去思考,这些数字化技术和数据能够给他们带来什么样的效益,这也就是史凯在原创著作精益数据方法论中所梳理的,数字化转型将从业务价值出发,减少浪费

37、,提升效益。换句话说,与过往热衷于创新事物的现象相比,如今企业的数字化转型路径会显得更务实,不再追求大而全的“军备竞赛”,而是回归业务本身,聚焦业务价值。联易融副总裁沈旸表示,“在经济下行的情况下,企业会更清楚自己需要的是什么,从而把数字化的焦点放在主营业务的优化上。”德勤中国数字化服务副总监孔云飞同样指出,企业如今会更注重理性分析自身经营最痛之处,从降本、涨收、促毛利出发,聚焦在某个领域形成局部以多打少的局面,塑造自己独有的具有差异化的竞争力。比如,重制造企业选择投资数字化工厂,通过产线的自动化改造和生产工艺的改良,提升生产线的全过程管控,降低对人工的依赖,逐步完善成本管理。再比如,银行选择

38、利用前沿的数据技术、机器学习,提升业务预测、主动获客能力等等。普华永道发布的2022 年数字化工厂转型调研报告亦指出,危机时期,数字化工厂转型至关重要,是构建运营灵活性和韧性的可选路径,且将进一步推动卓越运营。总的来说,从短期来看,清晰的目标,坚定的决心,务实的心态是当下大多数企业应对“寒冬”的不二法则。19 2022 年度技术盘点与展望年度技术盘点与展望 有限资源下,聚焦更迫切的数字化场景 不过,虽然企业不能像原来在相对宽松的经济环境下那样,去进行更多的试错,但也不意味要盲目地“省钱”。资源有限,那就集中精力办大事,把钱花在刀刃上。以雪花啤酒为例,雪花啤酒数字化负责人郭华提及公司在三个方面的

39、调整:策略聚焦、打法聚焦、考核聚焦。策略聚焦,指的是方向聚焦,目标聚焦,要有重点地去推进工作。在每个工作领域里,确定一个旗舰项目和中心任务,如果选不准,那该领域的工作就会被认为是没有成效的;打法聚焦,比如雪花现阶段主要是在队伍建设层面发力,拉通信息,降低沟通和管理成本,提升整体工作组织能力;考核聚焦,指加强指标和目标化的管理,全面推进量化考核。“无论是从选择的切入点,还是系统项目建设过程的管理能力、管理水平,或是从业务层面解决问题、释放价值的角度来看,当下数字化的建设都要更加聚焦、精准和精益。”郭华强调。当然,每个企业由于所处行业、市场环境、业务形态、发展阶段等各方面的差异,聚焦的数字化场景不

40、尽相同。对此,史凯总结了四类企业需求更为迫切的数字化场景:第一,营销获客类,也就是能直接助力提升企业盈利能力的场景;第二,运营优化类,能够优化流程,降低成本,提升效率的场景;第三,用户体验类,通过数据提升用户 20 2022 年度技术盘点与展望年度技术盘点与展望 体验,深挖存量;第四,风控合规类,能够通过数据来提升企业风险管理和合规能力的场景。孔云飞表示,尽管不同企业的痛点不一,但大部分企业都是想通过提高技术应用能力推动业财数据标准化、流程效率最大化,如此既降低了经营的不确定性,又可以显性提升管理层关注的毛利。很多企业想通过小投入撬动大收益,首先从重复劳动自动化开始,见效快、短期收益明显。对数

41、字化着迷的企业,也会考虑轻量型创新技术以尝试改变现有管理模式,推动数据服务化的同时,更是朝着服务资产化的长远目标逼近,例如有很多国内外企业开始引入流程挖掘作为流程管理和业务变革的基座平台,让企业管理层也能轻松参与到持续改善经营的最前线。而沈旸也提到,今年很多企业做的工作越来越像以前在信息化时代所做的,更关注业务流程设计,关注流程优化,包括在制造企业,装备和设备的自动化的需求会更加迫切。数字化转型“成功率”仅有 16%,挑战来自方方面面 综上,数字化依然被认为是不确定的时代里,唯一的确定性:不少企业在面临增长挑战的同时,依然笃定数字化的投入。但知易行难,根据麦肯锡全球调研显示,全球范围仅有 16

42、%的企业认为自己的数字化转型取得了持续成效。那么,是什么原因造成企业数字化转型“成功率”如此之低?问题究竟出自哪里?21 2022 年度技术盘点与展望年度技术盘点与展望 挑战一:组织、流程、文化的转型滞后 IBM 大中华区客户成功管理部总经理朱辉认为,当前企业数字化转型面临着技术与非技术的双重挑战。他表示,从非技术的角度来看,数字化转型是“在充分释放数据价值和利用人工智能能力的前提下,重新打造一家企业的过程”。如果企业仅把数字化转型理解为,在现有的组织架构、业务流程、企业状况之下,利用技术实现降本增效的过程,那么从希望值上就已经出现了比较高的风险。史凯举例,当组织架构和业务流程滞后于技术转型时

43、,业务人员之间,以及业务与技术人员之间就会很难就场景的度量效果达成一致。“通常情况下,往往是在谈理念、谈方法都很和谐,但是一旦谈到具体的场景的效果度量,落到实施层面,就会各种扯皮。”所以对齐业务价值,找到杀手场景是转型的抓手和驱动力。“很多数字化转型的企业到最后会发现,它其实要做的是组织架构的调整,是职位岗位的调整,是员工技术技能的转换或者是改变。”朱辉表示。因此,文化、组织架构以及流程的改变,是当下数字化转型过程当中碰到的主要障碍,企业数字化转型必须要有全面的战略,但凡其中一项是短板,都很有可能成为失败的导火索。换言之,一方面,企业需要有全局的、长远的视角,循序渐进推进数字化工作,其中战略、

44、节奏的调整很重要;另一方面,需要找到合适的落地场景,并进行与战略相匹配的组织流程重构工作。22 2022 年度技术盘点与展望年度技术盘点与展望 挑战二:数据“地基”还没打好 数据是数字经济时代的基础性资源和战略性资源,也是重要的生产力。如今业内常说的数字思维,也可以简易理解成“数据思维”。在数据分析已渗入到各行各业的商业活动的当下,“数据思维”对企业的重要性毋庸置疑。从技术角度的维度看,朱辉认为企业数字化转型面临的最大挑战恰恰与“数据”息息相关:企业级数据的质量和治理的成熟度,会直接影响数字化转型的效果。“数据治理是与数据相关的项目当中难度最高、复杂度最高、时间跨度最长、投入最大的一类项目。但

45、如果没有把数据治理作为数字化转型过程中的必经一环,以及必须要做好的那一环,那么很多工作都会难以顺利推动。”从目前来看,很多企业在使用数据的过程中还存在诸多问题。比如,管理者有数据意识,但员工却缺少数据思维,他们面对纷繁的业务,不知道如何利用数据来指导决策,多数情况下仍然依赖于人的经验;比如,业务人员缺少技术与数据知识,而技术人员和数据人员缺少业务思维,业务与技术之间无法融合,使得数据的使用缺少价值场景;再比如,由于数据孤岛严重、数据质量不高,就会造成数据资源浪费,最终结果仍然是无法利用数据提升企业的盈利能力。“为了打好数据这个地基,部分企业正在尝试综合各种管理手段和技术应用一步一步往前走,但是

46、企业情况各异、内功参差,有的走得快,有的走得慢些。”孔云飞说道。今年 6 月,中央全面深化改革委员会第二十六次会议审议通过了关于构建数据基础制度 更好发挥数据要素作用的意见,初步构建了数据基础制度体系的“四梁八柱”,23 2022 年度技术盘点与展望年度技术盘点与展望 对数据确权、流通、交易、安全等方面做出部署。在相关政策的引导和扶持下,我国正加快培育数据要素市场,促进数据要素价值释放。各地积极开展探索,布局数据交易平台建设,国内最早成立的大数据交易所为贵阳大数据交易所,于 2015 年开始运营。去年至今,北京、上海、广州、深圳等地陆续有数据交易机构设立。这也为推进数据合法合规交易,进一步释放

47、数据价值提供了支撑平台。挑战三:人才缺口大 再往深处看,“人”这个因素,也被不少专家认为是普遍的挑战。“一个是人的能力,一个是人的思维,其实这是最大的困难,人的问题解决了,很多问题都迎刃而解。”在郭华的感知中,企业人员若守着旧的方法和惯性,容易盲目自信和“交学费”。富士康首席数字化官史喆也强调,数字化转型是需企业全员重度参与的改革项目,只有全面部署,系统深入才能解锁和释放数字价值。很多传统的人员观念,系统模式等都要有全新全方位的思考和重建,只有这样才能满足转型需要。但是,从目前来看,数字化人才的缺口是有目共睹的。举例来说,在中国,目前 ICT产业相关的人才供需比是 1:9,ICT 领域从业人员

48、缺口达 1200 万,其中人工智能、云计算、大数据等新兴领域的缺口超过 900 万。此外,新兴技术人才及复合型人才尤为紧缺。以制造业为例,在智能制造的大背景下,24 2022 年度技术盘点与展望年度技术盘点与展望 很多企业需要的不再只是熟悉生产制造的作业人员,而是既懂设备又懂技术,同时又有行业经验的复合型人才而现实情况是,这类人才目前在任何一个行业都是稀缺资源。展望 2023,加速从点到面的数字化 虽然困难重重,但是孔云飞仍然表示,经过近几年的专注投入和快速发展,未来,将有越来越多的企业从单个业务环节、单个产业的数字化走向全集团、全产业链的数字化。“他们更注重将业财沉淀下来的数据资产化以支撑决

49、策智能化,深度挖掘端到端的业务转型洞察,探索业务增长第二曲线,也是为了支持正在经历寒冬的企业能通过降本增效达成收入稳定、毛利上扬的经营目标。”重视平台化建设 而为了挖掘数据价值,让数据充分流动起来是基本前提之一。这意味着,企业一方面要从内部打破各种部门墙和系统孤岛,另一方面还要对外建立连接,实现全方位的打通。“比如,对于中小型制造业,他们通常分布在比较小的领域端,他们比较迫切的需求是,如何成为大型企业的产业链条中最核心的一环,通过与大型企业的绑定,去优化自己的生产制造工艺。尤其是在这两年,全球供应链体系被彻底打破,变得越来越碎片化,供应链的重建就成了很大的挑战。”沈旸举例。25 2022 年度

50、技术盘点与展望年度技术盘点与展望 落地到技术层面,这表现为越来越多的企业开始重视平台化建设运营。孔云飞指出,一些成熟玩家开始崇尚云计算、端到端超自动化,实现应用云服务化、全链路自动化,大幅提升业务运转。更有高阶玩家已经着手投资云平台、数据中台、机器学习等技术能力的探索。金蝶中国平台解决方案部总监柳忠阳也表示,如今很多中大型企业开始关注“平台”,尽管大家并没有特别想明白平台具体是什么样的,但会开始强调一些平台底座需求,希望构建起自身的平台能力。其认为,当下行业云平台可以站在客户的角度去提供资源和产品的组合。今年,Gartner 发布了企业机构在 2023 年需要探索的十大战略技术趋势。其中,行业

51、云平台被列入十大战略技术趋势之一。在 Gartner 的定义中,行业云平台是通过组合SaaS、平台即服务(PaaS)和基础设施即服务(IaaS)提供支持行业应用场景的行业模块化能力。企业可以将行业云平台的打包功能作为基础模块,组合成独特、差异化的数字业务项目,在提高敏捷性、推动创新和缩短产品上市时间的同时避免单一厂商锁定。Gartner 预测,到 2027 年,超过 50%的企业将使用行业云平台来加速他们的业务项目。在我们看来,本质上,行业云平台也理解为更广义的行业解决方案。原先,行业云在业内争议较大,阿里云总裁胡晓明早些年曾在采访中谈到:“如果从基础设施 IaaS 层面看,行业云是一个伪命题

52、。”但经过这几年的发展,具有行业属性的云,越来越备受关注。Forrester2022 年中 26 2022 年度技术盘点与展望年度技术盘点与展望 国行业云系列报告指出,金融服务、制造、政府、零售和医疗等行业用户正在加速行业云应用,一些行业云先锋案例引领了同行云实践。Forrester 将中国行业云厂商生态分为 7 部分:公有行业云平台、私有行业云平台、行业从业者、SaaS 行业云应用、行业专家、领域技术推动者和 IT 服务,能力覆盖行业用户场景的底层基础设施、开发平台和应用服务三个技术栈。报告认为,行业云对于不同垂直行业的企业加速数字化转型和适应未来发展至关重要,但是没有一个通用的行业云解决方

53、案可以解决一个企业的所有业务需求。对此,其建议中国企业的技术高管在实施行业云的过程中采取务实的态度并建立正确的认知。此外,从架构层面来看,由于能够支持企业工作负载在内部环境、私有云和多云环境之间的迁移,以及在不同供应商的云环境之间按需迁移,让企业实现数据的无缝衔接,混合云平台也成为越来越多企业的优选项。加速智能化升级 数智战略离不开智能化,“云”解决了如何开始计算的问题,效率的问题,“智能化”则解决如何把计算结果用得好的问题。以智能制造为例,史喆介绍道,富士康有大量的生产运营场景,也有众多需要决策的点。“如何运营能降低成本,如何高效管理规格种类繁复的大量设备?如何把生产经营中的 Know-Ho

54、w 和决策以数字化的形式共享到全集团内?这些都是我们正在做的工作。”柳忠阳也从客户方感知到,如何让数据和智能结合起来并融入业务场景,是如今被重 27 2022 年度技术盘点与展望年度技术盘点与展望 点关注的问题。如今,不少企业已经实施智能解决方案,比如流程自动化、智能分析等等。对应的技术应用方面,自动化工具 RPA(机器人流程自动化)依然是热门主流选择,它是当今许多企业踏入数字化转型大门的重要技术工具和平台,充当着企业的辅助生产工具以及数字化劳动力等角色。根据德勤的一项调查,53%的组织已经开始实施 RPA。RPA 的核心逻辑是从数据里能挖掘出有效信息,并迅速解决效率层面的问题。目前,行业内的

55、 RPA 基本朝着智能化全场景服务的方向发展。但如果要深度应用人工智能技术,则远不止这些。从行业来看,目前主要是高科技、电信、金融服务等行业对 AI 的应用比较深和广,比如金融服务类企业则将其应用于提升客户体验的相关职能。此外,许多汽车制造商也在运用人工智能技术开发无人驾驶汽车、改善企业运营。据朱辉介绍,汽车行业近年发展的重点,已经从传统的造好车(“酒香不怕巷子深”)转变到更加提倡体验化、服务化、智能化、生态化。“未来的汽车就是一个软件能力的集成体,是一个人工智能能力的集成体,也是一个数据的产生和应用的集成体。在汽车制造以及汽车生态里面都正在发生一些颠覆性的变化。人工智能、混合云平台的技术在汽

56、车行业当中是会发挥越来越大的作用。”麦肯锡曾在一份报道中将人工智能视为数字化的下一个前沿,并指出人工智能技术对企业的数字化实力有一定要求,而且往往需要以特定数据进行训练,这就意味着企业没有捷径可走,只能加快数字化转型的步伐,包括人工智能技术的发展。先行企业现已逐渐形成竞争优势,将后来者甩得越来越远。28 2022 年度技术盘点与展望年度技术盘点与展望 补齐人才短板 如果说技术是企业转型的外驱力,那么人才则是内生力。为全面推动数字化,人才的问题必须解决。作为数字化转型的亲身实践者,郭华提出,最快最直接的数字化人才培养方式是“做项目”,训战结合。但这里面有一个非常重要的前提条件,即企业必须要建立起

57、选择人的标准,基于标签、画像、数字化人才发展路径对所需的数字化人才进行规划与培养。从技术服务商的角度来看,越来越多的科技企业也在近些年纷纷推出相应举措以加速人才培养。比如,华为在去年发布了“未来种子 2.0”计划,承诺在未来五年投入 1.5亿美元用于数字化人才培养,新增受益人数预计将超过 300 万人。官方数据显示,截止目前,华为数字化人才发展服务已覆盖企业客户 1200 多家,累计为企业培养数字化人才近 5 万人。此外,腾讯教育也与 600 多所高校展开人才培养方面合作,累计为社会培养了超过 10 万名数字人才。当然,无论是吸引人才抑或是培养人才,企业首先要搞清楚的是,自己缺的到底是哪类人才

58、,才能有的放矢,有针对性地投入。过去,业内一般会把数字人才分为三类:数字管理人才、数字专业人才和数字化应用人才。而近年来,一些机构开始也对数字化人才做了更深层次的诠释。以极客邦双数研究院今年发布的数字人才发展体系:粮仓模型白皮书为例,该白皮书将上述三类数字人才进一步细分为更加匹配企业架构的五层数字人才,分别是:数字思维管理者:对应企业 CXO 层级。他们需要具备数字化思维,负责数字化战 29 2022 年度技术盘点与展望年度技术盘点与展望 略创新,是带领团队推进企业数字化变革的企业管理者;数字思维业务人才:具备数据思维,掌握数字工具的使用技能,基于不同业务场景,善于利用新技术手段提高业务效率和

59、价值的人才;业务架构人才:将业务战略解码,将企业内部业务进行横向打通的复合型架构人才;技术架构人才:能力横跨多个技术领域,通过技术架构设计和实施来支撑业务的复合型架构人才;专项技术人才:掌握软件技术或者新兴技术,并能够创造应用工具的人才。以上五层数字人才粮仓模型,从人才分类、所需能力以及人才占比等维度给企业提供了建立数字化转型人才战略的思路,帮助企业先识别人才,再补齐短板。总结 近几年,我们可以明显看到,疫情促使企业加快数字化、智能化升级。最初,数字化转型升级对多数企业来说是权宜之计,主要转型场景围绕数字化办公、消费场景数字化、业务流程进一步线上化等展开。虽然受到 2022 年的经济形势影响,

60、企业的“口袋”捂得更加严实,更注重业务价值回报,更看重各种技术的投入产出比,以及数字化能够带来的经济价值。但是,展望2023 年,数字化依旧势不可挡。数字化的范围逐渐从单个企业的数字化转向产业性、地域性的数字化,智慧供应链、产业互联网、智慧城市、无人驾驶等将成为新的技术集聚热点。放眼全球,借助云计 30 2022 年度技术盘点与展望年度技术盘点与展望 算等数字化技术加快出海,构建全球化品牌,将成为众多领先企业新的增长引擎。而为了满足全球监管合规要求,全面的安全策略和生态系统将成为标配。除此之外,为落实可持续发展目标,如何利用数字化技术实现低碳、绿色、降低能耗,实现高质量的可持续发展,也必将成为

61、企业数字化的重要议题。可见,如今数字化转型的意义已远超当初的考量,它可以帮助企业寻找新的发展机遇,甚至决定了企业发展的命脉,在充满不确定性和不断变化的大环境下,觅得新生机。31 2022 年度技术盘点与展望年度技术盘点与展望 直面成本“刺客”、拒绝繁杂技术花样,压力之下云厂商改变方向|解读云原生的 2022 作者:褚杏娟 本文是“2022 InfoQ 年度技术盘点与展望”系列文章之一,由 InfoQ 编辑部制作呈现,重点聚焦云原生领域在2022年的重要进展、动态,希望能帮助你准确把握2022年云原生领域的核心发展脉络,在行业内始终保持足够的技术敏锐度。特此感谢丁宇(叔同)、董晓聪、裴超、冯常健

62、、柯琪、吕亚霖、王泽锋、于广游 32 2022 年度技术盘点与展望年度技术盘点与展望(按姓名首字母排序)对本文的贡献,他们的真知灼见,是本文能与大家见面的关键。数据显示,云原生计算基金会(CNCF)拥有超过 850 家参与组织,相较去年增长15%,其中今年新增的 220 多个成员中,有 19 个来自中国。去年的盘点中,我们用了“抢占技术 C 位,迎来落地大爆发”的标题来总结云原生整体的发展势头。今年,云原生的发展依然可圈可点,比如开源容器编排平台采用率激增、各种行业加入到了云原生大家庭等。这次,我们将从底层基础技术和偏向场景化的应用技术两方面,对云原生今年的发展情况进行盘点,以期自顶向下地呈现

63、出相关亮点和挑战:容器的“黑盒”打开,混部带来了效率提升,备受企业欢迎;Serverless 基于容器完成标准化,应用“元年”开启;Service Mesh 进行新尝试,落地方式还在探索;降本增效大主题下,FinOps 理念得到快速发展;越来越多的传统行业开始应用云原生技术等。基础技术篇 从物理机到虚拟机再到云原生,底层基础技术对上层应用赋能的边界在不断提升,业务研发越来越从底层事物中抽离,聚焦于本身的业务逻辑。33 2022 年度技术盘点与展望年度技术盘点与展望 容器的“黑盒”已经打开 7 月,Kubernetes 发布了 Gateway API 0.5 版本,主要组件的 Gateway A

64、PI 资源首次升级为 Beta 版。同时社区还探索如何将 Gateway API 用于网格并引入新的实验概念。这也促成了 Envoy Gateway 项目的推出。12 月,Kubernetes 原生工具集合项目 Argo 正式从 CNCF 毕业。容器发展至今,已经完成了自身的蜕变。在第一阶段,容器只是在解决如何做好自己内部技术组合的问题,比如怎么与服务网格、可观测性的产品结合。这期间,企业只是选一部分比较周边的业务使用容器,而容器化业务内部系统就像一个“黑盒子”,各细分组件通过 ELB 调用实现交互,容器并不能直接与每一个部分做精细互通,致使容器化业务系统跟周边业务系统的交互效果很不理想。到了

65、第二阶段,“黑盒子”打开,容器开始深入到整个云原生体系中,真正作为云最核心的部分,与网络、存储、数据库等做很好的结合,比如容器化业务应用可以直接与其他所有云服务通信等。作为云原生的典型代表,如今容器技术的成熟度是最高的,同时这也意味着容器技术自身很难再有非常大的突破和变化。Kubernetes 成为行业事实标准,如今定位也类似 Linux 内核,虽然没有大的功能性迭代,但已经成为云原生领域最基本的设施,也成为企业 IT 系统的基本设施。今年,容器的演化进入了“扫尾阶段”,开始解决原来不好做或不能做的场景应用问题。Kubernetes 这一年稳定更新的三个版本,更多是在 API 怎么更加健壮、流

66、控怎 34 2022 年度技术盘点与展望年度技术盘点与展望 么更好更安全、改进 Windows 支持等细节上做优化。另外,内核提升可以为容器带来更好的隔离和性能等,因此随着容器的广泛应用,其对内核的要求也越来越高。大厂们开始往更高内核版本 5.10 上迁,Kubernetes 社区也在落地内核方面的内容,给企业带来的直接影响就是观测性上有了很大的进步,性能和隔离性的提高也很明显。应用上,虽然容器正在大规模铺开,但如何用好容器也很有挑战,比如 Kubernetes在调度、场景优化、降低复杂性等方面还有很大的进步空间。微软全球副总裁柯琪表示,随着容器的广泛应用,企业部署了很多 Kubernetes

67、 集群,如何对其管理是企业面临的问题之一。鉴于这部分与多云有部分重合,我们留到多云部分再表。混部 今年,容器混部取得了较大的进展,不过这个进展并不是体现在技术上。之前混部主要是各大头部企业内部使用,对于技术细节有些“秘而不宣”的意味,但今年云厂商开始把混部技术开源或者变成云产品提供给用户。混部就是要把各种不同的业务放在一起后对它们进行复用。听着简单,但混部有着较高的技术门槛,主要体现在调度、隔离和干扰处理上。具体地,Linux 操作系统内核的隔离性做得不好,但 Linux 内核面向通用场景,如果要解决隔离问题就要对内核做非常深度的改造,但国内大部分企业并没有独立的内核团队,况且这样的人才也是凤

68、毛麟角。当然,不做内核隔离只做调度混部也可以,但 35 2022 年度技术盘点与展望年度技术盘点与展望 对资源利用率的提高就很有限。另外,合理的调度需要有全面的应用画像,这需要大量的数据和业务去打磨算法,这在实现上也非常困难。调度实际上是一个系统性工程,并没有标准化方案,企业可以自行摸索初级方案,但更深入的可能就要使用市面上的产品。其实,企业目的不是混部,而是为了提高资源利用率、降低成本。降低成本有两种方式:一是企业已经买好资源,内部不同业务复用这些资源,这条路线的代表就是混部;二是企业直接使用云厂商提供的成本很低的产品,这条路线的代表是 Serverless,也是大家比较好看的方向。可以预见

69、,下一年,Kubernetes 的演化依旧以解决场景化的细节问题为主。腾讯云容器技术总监、TKE产品负责人于广游总结道,整体上,容器未来将呈现出以下趋势:第一,往更高层的抽象演进。最早用容器的时候,大家关心的是容器中的资源、pod、container,但是业务并不关心这些,他们真正在意的是应用。因此,容器平台向应用平台演进会是一个趋势。第二,不断拓应用宽度。Kubernetes 的应用已经延伸到了混合云、边缘云,在对中心、边缘、IDC 的资源进行统一调度等方面,还有技术挑战。第三,多样化应用。企业会逐渐通过采用容器技术重塑自己的业务和全部技术栈,比如监控、日志、中间件、数据库、运维等。容器带来

70、了好处,但它跟企业之前的技术会产生割裂,这时更多的企业会选择将所有工作负载运行到容器上,容器化间接成为企业重塑技术栈的动力。36 2022 年度技术盘点与展望年度技术盘点与展望 结果就是,企业业务容器化后,还会把有状态应用、AI业务、大数据业务、转码业务、离线业务等都容器化。所以现在的容器不仅仅与微服务挂钩,还在朝大数据、AI等方向发展,这个趋势是非常明显的。第四,更下沉的方向。对于平台自身而言,如何更稳定、成本更低?还有更多的细节亟待完善。Serverless:与容器技术体系相通 3 月,开源 Serverless 应用框架 Knative 成为 CNCF 孵化项目。谷歌此前曾明确Knati

71、ve 不捐给任何基金会,但去年底宣布捐赠到今年 Knative 正式成为 CNCF 孵化项目,极大促进了社区的发展。5 月,开源 FaaS 项目 OpenFunction 成为 CNCF 的沙箱项目。9 月,Serverless Devs 进入 CNCF 沙箱,这也是 CNCF 首个 Serverless 工具项目。当前用户对云服务的使用主要有两种方式。一种是把云服务作为资源使用,比如云服务器、容器等,它们不会影响用户应用的开发方式,这类就是容器化 Serverless;另一种是把云服务作为应用构建的模块,例如对象存储,消息队列等服务,用户在应用开发过程中使用这些云服务,但它们会影响用户构建应

72、用的方式,这就是应用层Serverless。传统意义上的 Serverless,也被称为 FaaS,即函数形态的 Serverless。2014 年,亚马逊推出了 Amazon Lambda,其将 FaaS 理念延伸到数据库、中间件等产品,让各种应用场景下的用户都不用关心资源和集群,而是直接使用 API,这是业内公认最早 37 2022 年度技术盘点与展望年度技术盘点与展望 的 Serverless 服务。FaaS 的核心价值在于让整个云产品体系及生态形成一个有机整体,而不是只用来提供弹性资源。阿里巴巴研究员、阿里云智能云原生应用平台总经理丁宇(叔同)指出,用户可以利用 FaaS 组合其他 S

73、erverless 云服务(BaaS)快速构建应用,这种组装式的研发模式将对研发效率带来革命性变化,是云解决大规模复杂软件研发挑战的关键。另一方面,由于单纯的 FaaS Serverless 是基于函数的,其开发模式、技术体系、产品形态与容器并不相同,不能为用户提供“原汁原味”的 Kubernetes API。该方式下,用户用提交的一个代码片断进行托管,各厂商自成体系,业内没有统一的标准,短期内也很难看到有事实标准诞生。因此在于广游看来,容器的大规模流行反而暂时抑制了 FaaS Serverless 的发展,因此落地也相对缓慢。目前,业内对于 FaaS Serverless 的发展还存在不同的

74、看法和方向,现在也没有孰优孰劣的定论。作为应用层面的 Serverless,以 FaaS 为核心的 Serverless 体系更加强调 Serverless BaaS 的丰富度和 BaaS 之间的深度集成,用户上手快,但需要花费时间和精力去打磨整个云产品体系。但 FaaS Serverless 的核心价值依然是被肯定的,像亚马逊云科技和阿里云还在继续这方面的深研,用更被接受的方式发挥其价值。不过当前的实际生产中,不要求用户改变研发方式的容器化Serverless获得了更多的青睐,很多企业多少都了有一定的应用。实际上,亚马逊云科技首先提出 FaaS Serverless 后,其他云厂商纷纷跟进。

75、但单纯 38 2022 年度技术盘点与展望年度技术盘点与展望 的 FaaS Serverless 由于对云产品要求高等原因,在国内的接受度不如海外。这种情况下,业内也开始探索其他方式。之前,大家把Serverless作为一种具体的实现,而现在将其视为一种理念和价值,并尝试为这种理念和价值找到更合理的实现方式,容器化Serverless就是这种转变下的解决方案之一。容器化 Serverless 发展的目标是为了兼容原本容器的技术体系、降低企业迁移的成本。容器化 Serverless 将 Serverless 与容器结合,Serverless 技术兼容容器的 API,两个技术体系打通后也意味着容器

76、化Serverless是标准的。因此,各云厂商的产品标准在趋于一致,能力也在逐步完善。在这个前提下,企业服务的迁移会更容易。当然,容器化 Serverless 不同厂商之间的产品策略也有差异。比如,微软的Container Apps 支持 Dapr 分布式应用环境,运行在基于 AKS 的隐藏的抽象Kubernetes 集群之上,甚至不向用户公开 Kubernetes API,阿里云则走在提供Serverless 容器服务 ASK 的道路上。现状及趋势 Serverless 的应用如今实现了“从点到面”的转变。现在,Serverless 的稳定性和效率已经被逐渐接受,一些企业之前只是在周边的个别

77、业务上牛刀小试,现在开始将部分核心业务放到Serverless上。比如阿里云完成核心云产品全面 Serverless 化,作业帮将某部分核心业务放到 Serverless 后成本节省了20%-30%,高德业务投放平台全面采用基于函数计算构建的 Serverless 架构来支撑 39 2022 年度技术盘点与展望年度技术盘点与展望 百万 QPS 等。今年,很多云厂商在各自大会上都提到了Serverless的重要性,比如阿里云栖、亚马逊 re:Invent、腾讯数字生态大会等,但热闹的背后反而说明了 Serverless 还处于发展初期,需要推新和推广。这一年,国内Serverless被认为是发展

78、元年,虽然还称不上是大规模落地,但业内在Serverless成为云原生未来重点方向这一点上几乎没有太多分歧。Serverless 适用于流量波动大和需要更敏捷、更灵活开发的场景。现在 Serverless 架构可以解决微服务架构无法带来足够灵活度的问题,帮助企业快速适应业务变化。Serverless 为能力不同的开发者抹平了技术鸿沟。如果将应用分为应用运行时(即计算部分)和 BaaS 化服务两部分,那么 Serverless 化后的架构会变得更简单。对于BaaS 服务,可以进行全面托管并免运维 API 化,开发不需要关心资源等问题;对于定制代码部分则可以把 BaaS 的 API 组装起来,让应

79、用开发更快建出新能力,同时不需要关心容量问题。成本方面,对于企业为波峰预置服务器产生浪费的费用、业务需要扩容时购买机器花费的成本和精力、机器维护成本等,Serverless 都可以将这些交给程序运行,按需使用资源、动态伸缩,为企业带来降本增效的效果。Serverless 的快速发展也会对运维领域产生一次颠覆性升级,工程师将精力更多放在开发降本等平台上,而不再关注底层的扩容、采购、网络等问题。预计下一年,会有更多产品具备 Serverless 能力,Serverless 会变得更加普适。另外,Serverless 产品的更多细节也会进一步完善,比如如何提高产品弹性、如何进一 40 2022 年度

80、技术盘点与展望年度技术盘点与展望 步降低成本(如从之前的包年包月到按 CPU 利用率的计费模式)、功能如何更加丰富等。应用上,以上两种方式虽是业内对Serverless应用的不同探索方向,但都各具优势和不足。业内现在有将 FaaS Serverless 和容器化 Serverless 结合起来提供解决方案的尝试:容器化 Serverles 解决资源层面的问题,应用层面的问题让 FaaS+Serverless Baas 解决。用户将不同 Serverless 化产品通过事件驱动等方式深度集成后,通过FaaS 组合其他云服务来快速实现弹性、高可用。当然,Serverless 虽被认为是大势,甚至被

81、视为云未来发展最重要的价值,但从趋势到产品、到行业普遍应用,再到真正大规模落地,还需要业内的长期投入和推动。Service Mesh:还有挑战需要解决 4 月,谷歌声明将 Istio 捐赠给 CNCF,9 月份 Istio 正式成为 CNCF 孵化项目。这一事件使 CNCF 社区的确定性更强,也消除了前些年大家对社区治理、法规等方面的顾虑。5 月,Envoy Gateway 项目宣布开源。该项目旨在大幅降低将 Envoy 作为 API 网关的使用门槛。9 月,Istio 宣布引入了一种新的数据平面模式 Ambient Mesh,该模式取消了以sidecar 为中心的架构,取而代之的是无 sid

82、ecar 的方法,同时保留了 Istio 的零信任安全、遥测和流量管理的核心功能。很多企业都是多协议、多语言栈的,他们选择使用 Service Mesh 来解决复杂的服务治理问题。Service Mesh 理念本质上是把一些非功能性的基础设施拆解到中间件中,41 2022 年度技术盘点与展望年度技术盘点与展望 即 sidecar。在之前的一些实践取得正反馈后,Service Mesh 使用范围也在扩大。今年的 Service Mesh 不再局限于 RPC,开始向对象存储、加解密、MySQL、Redis 等领域深入。但总体看,这一年,Service Mesh 落地还是遇到了大的技术挑战,远没有达

83、到企业理想的使用状态。有一定研发能力的企业使用传统治理模式也可以做得不错,这时就不会选择完全换成 Mesh 架构,只会在一些新的、没有历史负担的业务上试用。归根到底,Service Mesh 只是转移了复杂度,但到了一定规模后复杂度问题就会再次显现。拿当前业内应用较多的 sidecar 模式来说,它很适用于逻辑复杂的场景,如路由、治理,灵活且对业务无入侵。但是,流量劫持和对流量进行逻辑处理需要很强的扩展能力,在规模特别大的场景下,sidecar 模式的复杂度就上来了,性能优势不再明显,资源占用也变得不可忽略。可以说,sidecar 模式天生在大规模场景应用中就有一定的局限性。为解决这个问题,今

84、年九月,Istio 推出了 Sidecarless 的 Ambient Mesh。Ambient 是将 Istio 分成两个不同的层次:安全覆盖层(四层治理)和七层处理层(七层治理)。但在网易数帆云原生平台负责人冯常健看来,四层治理模式将复杂度降到了 Node 级别,但可能只有对网格安全能力感兴趣的企业会尝试,而七层治理模式本质上还是独立的应用层代理,链路也并未减少。因此,对于该模式的应用,业内更多还是持观望态度。网关层面,社区基本分为 NGINX 和 Envoy 两派:Kong、APISIX 等基于 NGINX,网易、阿里云等更多应用 Envoy 技术栈。有人认为 NGINX 及其生态已经比

85、较成熟了,42 2022 年度技术盘点与展望年度技术盘点与展望 但随着 Kubernetes Gateway API 的成熟,以及社区推出 Envoy Gateway 组件,新一轮网关标准定义的争论再次掀起。Kubernetes Gateway API 对标的是 Ingress API。Ingress 的 API 解决流量从集群外导入集群内的问题,但表达能力较弱,使用场景有限,因此社区推出了 Kubernetes Gateway API,希望其提供更高级的网络能力。Kubernetes Gateway API 直接促进了 Envoy Gateway 项目的发展。Envoy Gateway进而统

86、一了网关的控制面API。原先网关控制面是通过xDS控制数据面,现在更多会基于 Kubernetes Gateway API。实际上,现在各个企业都在从不同的方向尝试对 Service Mesh 进行完善和补充,如网易向 Envoy 社区贡献 Dubbo 核心支持能力来促进落地。虽然社区有了各种开源产品,但业内还没有形成像 Kubernetes 这样的事实标准。当有这样的一个事实标准出来后,Service Mesh 才会迎来自己的爆发。这与容器的发展轨迹是类似的。Service Mesh 也在寻找更适合的落地方式。现在,业内有尝试不再将 Service Mesh作为一个独立的产品,而是将其与 S

87、erverless 结合。Serverless 不让用户去关心服务器,Service Mesh 不让用户关心服务治理,如果将服务治理的 Service Mesh 容器内置到 Serverless 平台里面,企业提交一个业务的容器进项后也会拥有 Serverless 的能力。硬件与云,互相影响 6 月,阿里云发布云数据中心专用处理器 CIPU,形成“倚天+飞天+CIPU”组合。43 2022 年度技术盘点与展望年度技术盘点与展望 11 月,亚马逊发布 Nitro v5、Graviton 3E 系列芯片。12 月,腾讯云发布了新代次的裸金属云服务器、GPU 云服务器,此外还发布了银杉智能网卡等。同

88、月有消息称,微软以 1.9 亿美元(约 13.2 亿人民币)的价格收购了加州 DPU 初创公司 Fungible。从整个计算机发展历史看,软硬件迭代呈现出了交替螺旋的方式,即某个新技术出来后,都先用软件测试可行再进行小规模应用,当发展规模大到一定程度时,人们便开始考虑用硬件方式加速实现,云原生也不例外。如今,云已经取代传统IDC服务器成为新的基础设施,企业开始通过硬件进一步提高效能。企业选择云原生硬件的考量主要有两点:成本和不同应用上的性能表现。成本方面,虽然硬件开发的一次性投入相对较大,灵活性相较软件也差很多,但只要需求固化下来并开发成功后,企业采购的边际成本是非常低的。性能方面,硬件对云的

89、性能提升包括可靠性、稳定性、安全性等方面:热操作能力。与传统业务不同,云是不能停机的,热操作能力,包括热升级、热迁移、热插拔等都是云提出的特殊要求,而传统硬件并不具备这些能力。现在,云计算领域里的自研硬件会在设计要求有热升级等功能,像 DPU 里任何一个组件都有热升级能力。租户隔离。云的特性之一是弹性共享,一个物理机上可能会有很多用户在运行虚拟机,怎么加强用户之间的隔离、避免互相影响,也是云对硬件提出的新要求。安全性。云上很多用户运行在一台物理机、一个网络里,如果某个用户恶意利用 44 2022 年度技术盘点与展望年度技术盘点与展望 一些漏洞获取到其他用户的数据或者逃逸到云的平台层,那么会产生

90、非常严重的后果。因此,云对硬件的安全性要求也非常高。传统 IDC 对带内、带外并没有做非常强的隔离,但在云上就不允许互通,这也是调整改造的方向之一。当前云原生领域的硬件设备可以分为通用型和专用型两类,前者如 CPU,后者有GPU、DPU。DPU 是专门为云而生的。传统情况下,服务器的 IO 更多是通过网卡、硬盘等硬件直接实现。但在云原生领域,网卡、硬盘等都是虚拟的,用户把东西发到网络或写在硬盘的动作实际上是先交给了云平台侧的软件进行加工处理后再发到网络或写入硬盘。腾讯云高性能网络产品中心总监裴超表示,云和硬件也在彼此影响着向前发展。一方面,随着云原生应用的需求不断提高,硬件设备为了满足这些需求

91、也在快速迭代。比如虚拟机网卡从 20G、50G,甚至迈向 100G,云原生对硬件的蓬勃发展起到了一定的刺激作用。另一方面,很多云原生软件产品的设计之初,就会有硬件专家参与进来,一起考虑未来用硬件加速的可能性。可以预计,未来的架构师、技术负责人多少都需要对硬件有所了解,以便对总体架构进行把握。目前,云厂商已经越来越多地参与到硬件和芯片的研发当中。相较之前,一款芯片可以用三四年,现在基本保持一年一更新的频率,迭代可以算是频繁。像英特尔、AMD 等垂直芯片厂商也在努力直接了解终端客户需求,尽快推出新的芯片。45 2022 年度技术盘点与展望年度技术盘点与展望 产业落地篇 行业主题:降本增效“降本增效

92、”无疑是今年行业的大主题。在这个背景下,整个行业不再像之前那样去追逐前沿技术,而是回归到了云的最基本价值上。这一变化也可以从今年云厂商讲故事的角度上看出来。往年,云厂商会争相发布各种技术,努力往技术前沿方向走。但今年,云厂商追求的是“do more with less,即如何用更少的成本帮助客户获得更多的收益。FinOps 谈起降本增效,之前企业常常在这年做完后不知道下一年该怎么做,本质上是缺乏方向性的指导。正因如此,这也促进了今年指导云财务管理的 FinOps 理念的快速发展。FinOps 的历史并不悠久,公有云早期传播者 Adobe 和 Intuit 在 2012 年首次描绘出了FinOp

93、s 的雏形,直到数年后云成本问题日益严重才逐渐崭露头角,更多企业也是今年才刚刚接触。成本管理的难点在于资源并不是独享的,而是共享。通常单个集群可以托管多个工作负载和应用,但云厂商的账单无法体现每个工作负载或应用消耗的资源。缺乏对多个团队如何利用或共享基础设施的可见性造成了成本“黑洞”。FinOps 本质上是把财务和整个架构技术结合在一起,弄清楚各业务对云服务使用的具体账目,然后把资源利用率提上来,减少成本消耗。该理念要求企业首先要清楚自 46 2022 年度技术盘点与展望年度技术盘点与展望 己具体拥有哪些资产、这些资产属于谁;其次是看这些资产的利用率怎么样,然后再结合相关的技术进行优化。实践中

94、,企业的架构团队搭建相应平台将成本可视化,并在 DevOps 里加入管控审批等流程,用流程去约束成本。另外企业还要引入一个“成本负责人”的角色,这个角色主要由业务部门承担,负责掌握每个部门申请资源的原因、能否创造足够的利润覆盖这部分成本、资源使用率低的话是否减配等,具体执行时则主要由 SRE 把控。FinOps 相关产品之前更多是多云管理的商业化公司推出,今年云厂商也有陆续推出,如阿里云的 ACK FinOps 套件。云厂商有很多运行时数据,如闲置率、平均负载等,也可以为企业提供优化建议。但企业如果想真正控制成本,更多还是要自己去做。现在也有一些 FinOps 开源项目,如腾讯云开源的 Cra

95、ne 等,这些项目本身就是一个成本管理平台,会把涉及到的成本信息汇集起来做出趋势图等,帮助企业做决策。但业内目前没有完全的开源实施标准,也很难做出一个大统一的产品,因为这样的产品需要考虑的因素是方方面面的,现在只是每个细节和分支有产品雏形。作业帮基础架构负责人董晓聪认为,FinOps 的理论体系会逐渐沉淀和完善,各企业的落地方式相差无几,不过使用的具体产品可能不同。事实上,FinOps 可能目前只要满足企业的特定需求就好,不是非要演化出这样的标准。FinOps 一定程度上会倒逼企业进行整个技术架构的演进,促进企业用更好的技术、更好的生产力工具,或者是更少的服务去支撑更大的服务。一定程度上,Fi

96、nOps 会成为撬动企业增长的一个杠杆。当然,FinOps 不是万能的,因为“降本增效”也有成本。对于成本已成为不可承受之重、47 2022 年度技术盘点与展望年度技术盘点与展望 之前也没有进行过优化的企业,里面一定存在大量的技术浪费,这时候就需要花费人力优化,企业肯定能从中享受到优化红利。但如果一家企业处于高速发展阶段,有能力赚取非常高的利润去完全覆盖浪费的成本,那么肯定业务为王,暂时还不必在降本上花费很多精力。如今,FinOps 还处在大家都很需要、但没有做得特别好的阶段。下一年,FinOps 的趋势会延续,甚至未来几年内都会是很多企业关注的重点,其应用的领域也不会局限在互联网。多云 很多

97、企业前几年就开始考虑多云架构,直到今年开始真正在生产落实。这背后的原因也是企业对成本的考虑,还有就是对稳定性需求的提升。实际上,国内外各大云厂商都出现过大大小小的故障,很多情况下企业要依靠多云架构去弥补这部分损失。另外,只要选择了两家云厂商,选择权就到了企业手里,企业与云厂商谈判的议价关键取决于企业在云之间迁移的能力。当然,企业如果实践不好,反而会增加成本。总之,多云要做的就是云间的闭环和自由迁移,以及能够做得更高可用,抵销对云厂商的依赖。在多云的初级阶段,不同云上的应用管理是手动的,业务量多的时候管理员会非常痛苦。之后,多云才有了一定的自动调度和差异化配置能力,业务不用感知资源池细节和授权等

98、问题,这样的资源池化能力正是企业需要的。48 2022 年度技术盘点与展望年度技术盘点与展望 现在社区比较流行的开源集群管理产品是 Cluster API,该产品使用 Kubernetes 风格的 API 和模式自动化集群生命周期管理,谷歌、微软等云厂商都有基于 Cluster API的服务。华为云等多家企业联合发布并开源的 Karmada,是 CNCF 首个多云容器编排平台项目。今年,Kubernetes 多集群管理平台 OCM v0.9.0 发布,来进一步改善托管集群安全性问题。实际上,虽然每个云厂商都在自己推出产品,但很大程度上也是基于上游社区的建设。不过,华为云云原生开源负责人、CNC

99、F 大使王泽锋也指出,现在多云、多集群的编排调度等问题还没有特别成熟的商用级解决方案。首先是多集群的负载管理。一些负载不能放到一个集群里,而是需要建立一个容错性更强的集群体系,这个系统通常由多个 Kubernetes 集群组成。多个集群间如何部署应用、主副关系还是平等,很多细节问题都要考虑。其次是多集群的流量管理。单集群内的流量管理,一定程度上是通过控制面来维护各个实例的健康状态、调整流量分布。但是到了多集群架构下,由于单集群自治属性强,控制面与各个单集群之间的联系减弱,并不能简单地通过两者的联系来判定哪个集群无法处理流量、需要重分配。如何实现数据面自治的多集群流量管理,是个很大的挑战。再者,

100、业务部署在不同的云或集群里,业务互相访问时会有网络连通性、身份授权等问题。多云的场景是多样化的,很多用户不会接受拉昂贵的专线方式,网关方式又比较适合允许有延迟、对网络可靠性要求不高的业务场景。身份授权更为棘手,多云、多集群本就是天然屏障,如何身份授权进行全局管理就是一个很大的难点。49 2022 年度技术盘点与展望年度技术盘点与展望 最后,实现多云、多集群的互访后,业务还需要有较强的适应性,能够在不同的模式下工作。越来越多传统行业入场 除了降本增效,今年很多企业也纷纷投入到了数字化转型当中。实践中,转型企业是用互联网技术和互联网思维方式构建自己新的数字化体系。数字化中,很多企业首选云原生技术。

101、今年,除了有像腾讯这样业务完成全面上云的互联网企业,还有越来越多的传统企业开始上云。工业制造行业围绕业务需要主动上云,云厂商也会根据其业务需求提供配套解决方案,金融、零售、政务、能源、物流等行业也都入局云原生。根据云原生技术实践联盟(CNBPA)调查,95%以上的受访央国企已经考虑或正在使用云原生技术,其中近 80%的企业已经使用容器、微服务、DevOps 等云原生技术。支持一云多芯的全栈云原生是更贴近业务的技术应用架构,更能聚焦央国企的数字化转型。传统企业使用云原生技术更多会从 to C 业务入手,比如个税办理等面向个体消费者的 App。当然还有像光伏行业通过“云原生+AI”技术提升良品率类

102、的应用。另外,传统企业在新建或升级系统时,也会优先选择更流行和最有效的技术,而云原生就在其中。非互联网企业也积极拥抱开源,并参与云原生社区,比如波音今年加入了CNCF成为白金会员,中国电信、中国电子云成为 CNCF 黄金会员。50 2022 年度技术盘点与展望年度技术盘点与展望 在今年 3 月,波音宣布与国外三大云计算提供商亚马逊云科技、微软和谷歌,签署了协议,扩大云运营规模并减少对本地系统的依赖。波音大部分应用都是在本地服务器上托管和维护的,很多遗留系统正在老化,需要大量维护工作,阻碍了波音开发和部署新型数字化解决方案。波音选择将大部分工作负载转移到云端的方式消除基础设施带来的限制。像波音这

103、样的非互联网企业进入云原生领域,是该技术更大规模落地的预兆之一。云安全 或受去年 Log4j 漏洞事件的影响,加上 Kubernetes 安全事件频发,今年业内在安全方面的实际行动也很多,尤其是在供应链安全和模糊测试上。供应链安全更靠近企业实践。之前,企业为了安全直接做物理隔离,但由此也带来了很多问题。当前阶段,企业做的比较多的是扫描检测部署的业务应用对应的版本,对于有问题的版本进行拦截,不允许其部署到生产环境中,初步保证业务的生产系统不暴露在漏洞之下。另外,云原生给安全提供了一个新的抓手。之前的 DevOps 体系里融进安全的东西很难,而云原生的DevOps体系下,企业可以结合CI/CD技术

104、,从软件的编码构建到测试、部署和运维的整个链路中,加入面向代码级的扫描能力、面向依赖的组件做版本的分析,并与漏洞库进行匹配,如果CI/CD部署对接到多云上,中间还会做防篡改等设计。不过,作业帮基础架构-架构研发团队负责人吕亚霖表示,云原生也打破了安全原有 51 2022 年度技术盘点与展望年度技术盘点与展望 的物理边界,这对安全领域也是场考验。模糊测试是一种常用的应用程序安全测试,主要用来发现应用中的功能性缺陷、安全问题等。当前,大家对模糊测试的使用更偏单点技术。CNCF 中的多个项目都在使用模糊测试,如 Argo、Envoy、Fluent-bit、Kubernetes 等。这一年,Ada L

105、ogics 的团队持续努力将模糊测试集成到 Kubernetes Cluster API 项目中。今年,国外云厂商在安全方面也做了很多事情,比如微软发布的 Azure AD workload identity预览版可以在Pod级别进行身份托管,还宣布实现在Kubernetes中支持AMD SEV-SNP,以此保护数据安全;亚马逊云科技扩展了 Amazon GuardDuty 安全监控服务的范围,增加了对部署容器的运行时环境的威胁检测。另外,很多创业公司也在做相关工作,比如五名前谷歌员工共同创建了专注开源供应链安全的 Chainguard。云原生安全相关项目 但在下一年,行业是否能延续对安全的重

106、视其实还是未知的。实际上,还有很多除漏洞外的安全问题。比如多云和边缘都会加倍放大安全问题,多云里的资源访问权限和身份授权就是很大的问题,边缘很多是离线场景但又不是绝对的物理安全。能否继续 52 2022 年度技术盘点与展望年度技术盘点与展望 重视安全,取决于人们的意识。写在最后 今年在互联网历史上并不是高速发展的一年,甚至全球经济下行给行业发展蒙上了一层“寒霜”。但反过来,这样的环境也促进了行业不去关注各种花样繁多的新技术,而是朝着更好、更深度的方向发展,这对云来说是一种利好。这一年,我们看到有些企业出于各种考虑开始“下云”,有人认为正常,也有人认为这是“开倒车”,而新上云的企业也要面对走出舒

107、适圈带来的阵痛。实际上,上了云和能用好云是两码事,还有各种规模的企业坚持在云上运行,现在大家都还远没有触碰到云效益的天花板。总体来看,明年,云原生领域的主旋律依旧是价值回归,业内围绕着切实可行的技术去落地、深入实践降本增效,变得更加务实。不够成熟的技术会努力找到降低门槛、找到被开发者接受的方式,相对成熟的技术继续深挖,给开发者创造更大的价值。采访嘉宾介绍(按姓名首字母排序)采访嘉宾介绍(按姓名首字母排序)丁宇(叔同),阿里巴巴研究员、阿里云智能云原生应用平台总经理 董晓聪,作业帮基础架构负责人 裴超,腾讯云高性能网络产品中心总监 冯常健,网易数帆云原生平台负责人 柯琪,微软全球副总裁 53 2

108、022 年度技术盘点与展望年度技术盘点与展望 吕亚霖,作业帮基础架构-架构研发团队负责人 王泽锋,华为云云原生开源负责人、CNCF 大使 于广游,腾讯云容器技术总监、TKE 产品负责人 54 2022 年度技术盘点与展望年度技术盘点与展望 市场增速超 20%,国产操作系统“浴火重生”|解读操作系统的 2022 作者:凌敏 本文是“2022 InfoQ 年度技术盘点与展望”系列文章之一,由 InfoQ 编辑部制作呈现,重点聚焦操作系统领域在 2022 年的重要进展、动态,希望能帮助你准确把握 2022年操作系统领域的核心发展脉络,在行业内始终保持足够的技术敏锐度。特此感谢郭振宇、江大勇、刘恺、马

109、涛、任革林、张磊、张家驹(按姓名首字母排序)对本文的贡献,他们的真知灼见,是本文能与大家见面的关键。55 2022 年度技术盘点与展望年度技术盘点与展望 在整个软件生态中,操作系统起到重要的承上启下作用。经过数十年的持续迭代和演进,操作系统整体发展稳健。从技术角度来看,虽然近几年并未涌现突破性成果,但不少受访专家对 InfoQ 表示,巨变正在酝酿中。当前,全球数字经济进一步发展,企业数字化转型持续深入,以及摩尔定律的失效,都为软硬件带来新的挑战,而这也是操作系统变革的重要驱动力。回顾操作系统的 2022 年,可以发现,有些改变正在悄然发生。随着“量变”的积累,操作系统必将迎来“质变”的飞跃。2

110、022 年,值得关注的大事件 2022 年,全球操作系统市场格局稳定。看国外主流操作系统,桌面操作系统方面并未带来太多惊喜。与去年重磅发布的 Windows 11、Windows 365 相比,Windows 今年仅带来了一些小范围的更新。移动操作系统方面,Android 13 与 iOS 16 相继登场,但也都属于常规升级。2 月 11日,谷歌发布了首个 Android 13 开发者预览版,8 月 16 日,谷歌向 Pixel 机型推送了 Android 13 正式版更新,并正式开源;6 月 7 日,苹果正式发布 iOS 16,并推送了首个开发者预览版,9 月 13 日,苹果正式推送 iOS

111、 16 系统更新。服务器操作系统方面,发展稳健。5 月,红帽正式发布 RHEL 9,其基于上游内核版本 5.14,并源自 CentOS Stream;10 月,SUSE 推出业界首个自适应 Linux 平台原型(Adaptable Linux Platform,简称 ALP),旨在让用户专注于工作负载,从硬件和应用层抽离出来。56 2022 年度技术盘点与展望年度技术盘点与展望 看国内操作系统,2022 年迎来了多个版本升级。3 月,OpenHarmony 3.1 正式发布;4 月,欧拉首个数字基础设施全场景长周期版本 openEuler 22.03 LTS 正式发布;7月,华为正式发布 Ha

112、rmonyOS 3 以及搭载 HarmonyOS 3 的多款新产品;8 月,OpenCloudOS 开源操作系统社区正式发布首个 Linux 源社区(L1)内核版本 OCKS 2207,这也是 OpenCloudOS 源社区项目的核心组件;11 月,龙蜥社区正式发布面向云时代打造的下一代操作系统 Anolis OS 23 公测版 2022 年,国产操作系统市场增速显著。根据亿欧智库测算,国产操作系统通用市场增速将超过 20%,在 2024 年将达到 34.1 亿元的规模。服务器操作系统方面,数据显示,2022 年上半年,中国服务器操作系统新增装机量是 195 万套,全年预计超过400 万,过去

113、两年,这个数字是 322 万和 350 万。这说明在产业数字化的背景下,操作系统依然是个巨大的增量市场。总体而言,2022 年,国产操作系统在技术、社区和商业化方面均有快速发展:技术方面,更多企业及研究机构投入到自研系统项目中,原创组件和技术如雨后春笋般涌现;社区方面,头部社区蓬勃发展,新的社区不断出现;商业化方面,OSV 都有较为明显的业绩增长。另一个显著变化是,中国开源力量迅速崛起,国内开发者正越来越深入地参与到开源操作系统的建设中。在一份对 Linux 内核提交数量的统计中,来自中国的开发者占比不断提高,有统计的来自中国的 patch 数,连续 7 年超过美国成为第一。操作系统作为底层基

114、础软件,其安全性至关重要,操作系统的安全也是网络系统信息安全的基础。2022 年,全球范围内都进一步重视开源软件供应链问题,可以说,开源安全在今年迈出了一大步。57 2022 年度技术盘点与展望年度技术盘点与展望 2022 年 1 月 13 日,美国白宫召集了政府和 Apache 软件基金会、Linux 基金会、开源安全基金会、GitHub、微软、谷歌、甲骨文、红帽等企业或组织共同谈论开源软件安全问题。5 月 12 日,Linux 基金会和开源安全基金会提出了一项为期两年的近1.5 亿美元的投资计划,并提出十个开源安全目标:安全教育、风险评估、数字签名、内存安全、事件响应、更好的扫描、代码审计

115、、数据共享、软件物料清单(SBOM)以及改进的供应链。国内方面,10 月 24 日,开放原子开源基金会联合 27 家单位共同发起开源安全委员会,开源安全委员会致力于制定开源项目的安全流程和规范、提供开源开发的安全工具和平台、发起开源安全依赖的关键项目、推动开源安全的国际合作与交流。如何评价国产操作系统的 2022?对于国产操作系统在 2022 年的整体发展,受访专家均给出了积极评价,关键词包括机遇、加速、合力等。操作系统作为信息技术的核心底座,具有复杂度高、投入大、生态建设难、成功率低等特点。经过二十余年的探索与实践,中国有能力在技术上实现一个大型的操作系统。同时,近几年国内操作系统市场快速增

116、长,人才储备量提升,政策投入力度巨大,操作系统产业正迎来新机遇。在这一背景下,国产操作系统的发展也驶入快车道,从无到有,从可用到好用,国内开发者用短时间迅速完成这一转变。此外,与其他软件不同,操作系统是一个强生态的产品,这也需要操作系统厂商与硬件厂商、高校、互联网等软件厂商等各个链条通力合作,共同促进操作系统生态建设。对于服务器操作系统,则可以用“格局尽显,稳中有进”来形容这一年。58 2022 年度技术盘点与展望年度技术盘点与展望 2022 年,主流云厂商、服务器厂商、芯片厂商以及传统操作系统厂商都加大了对操作系统研发和操作系统社区的投入。随着中国在操作系统领域研发力度的持续增加,国产开源操

117、作系统社区和商业化操作系统的产品性能都已经大幅提升,生态建设也初具规模,开始具备规模化推广能力。“当前国产操作系统正在逐渐走向成熟好用阶段。未来 5-10 年,可能是国产操作系统的黄金时代。”受访专家表示。重点趋势与变化解读 2022 年,Linux 内核最大的一个变化是新增了对 Rust 语言的支持。此外,近两年涌现出的新技术在 2022 年继续带来新的变化,如 eBPF 技术、RISC-V 架构。Rust for Linux Rust 凭借其内存安全特性,近年来受到越来越多开发者的支持,并连续 7 年被 Stack Overflow 开发者调查评为“最受欢迎的编程语言”。2022 年的调查

118、结果显示,有 87%的开发者表示想要继续使用 Rust。而 Linux 内核社区长期以来都是以性能、稳定性、安全作为发展的基本要求,这与Rust 在安全方面的特性非常契合。因此,早在几年前就有开发者呼吁在 Linux 内核中增加 Rust 语言的支持。在 2022 年 9 月举行的 Linux Plumbers Conference 上,有一场关于 Rust 是否会出现 59 2022 年度技术盘点与展望年度技术盘点与展望 在 Linux 中的小型会议,会议讨论了将 Rust 作为一门系统编程语言集成到 Linux 内核主线的工作。彼时,Linux 的创建者 Linus Torvalds 在接

119、受媒体采访时表示,“如果不出意外,Rust 将会出现在 Linux 6.1 版本中”。12 月 11 日,Linus Torvalds 发布了最新的 Linux 6.1 内核稳定版,正式引入对 Rust 的支持。Rust for Linux 带来的收益明显,安全性上的收益尤为突出。在安全性上,Window 的一份数据可以作为参考。此前,一位微软工程师曾透露,微软产品每年通过安全更新解决的所有漏洞中,大约 70%是内存安全问题。因为Windows 主要是用 C/C+这两种“内存不安全”的编程语言编写的。Linux 同样如此。随着 Linux 内核代码量愈发庞大,贡献者数量迅速增长,系统安全性问题

120、也变得越来越突出。而 Rust 设计初衷就是为了解决内存安全问题,在功能保持不变的情况下,用 Rust 语言进行重写相当于将安全性提升三倍左右。此外,Linux内核对代码执行效率要求较高,Rust 的执行效率和 C/C+近乎一致,这也是其能成为底层系统编程语言的原因之一。当前,Rust for Linux 还处于早期阶段。长期以来,Linux 内核主线代码基本都由C/C+语言编写,接受 Rust 需要社区补充和完善大量的周边工作。同时,对于内核维护者来说,Rust 进入 Linux 内核也会带来一些问题。首先,没有银弹。虽然 Rust 语言在设计上更多地考虑了内存安全、线程安全等,但代价是比较

121、陡峭的学习曲线,以及使用者在实现某些功能时的便利性。此外,内核是贴近硬件、最底层的程序,某些在用户态司空见惯的语言特性,比如异常的处理方式,在内核里是不一样的。对于 Rust 而言,如何在内核里更好地工作,还有很大的探索 60 2022 年度技术盘点与展望年度技术盘点与展望 空间。其次,计算机语言和自然语言一样,都能反映出文化。C/C+语言反映出来的文化和Rust不同,对于那些已经非常熟悉并深度认同C/C+语言文化的资深Linux内核维护者来说,接受 Rust 的难度较高。对于 Rust for Linux 的未来发展,多数专家都给出了积极评价:“从长远看,会有越来越多新的代码用 Rust 来

122、实现。”eBPF 时代来临 eBPF 的全称是“扩展型伯克利封包过滤器(Extended Berkeley Packet Filter)”,最早是从 BPF(Berkeley Packet Filter)技术扩展而来,是一种无需更改 Linux 内核代码,便能让程序在内核中运行的技术。2014 年,eBPF 首次出现在 Linux 内核中。经过社区不断迭代,目前,eBPF 技术已经非常成熟,技术应用呈现井喷现象。虽然在设计之初 eBPF 仅为 Linux 内核服务,但近年来已经诞生了一批基于 eBPF 的项目。2021 年 5 月,微软启动了新的开源项目 eBPF for Windows,该项

123、目旨在让开发者在现有 Windows 版本之上使用熟悉的eBPF 工具链和应用编程接口(API)。为了更好地推动 eBPF 的发展,2021 年 8 月12 日,Linux 基金会旗下的非营利性组织 eBPF 基金会正式成立。2022 年,eBPF 热度不减,仍是当下最火的技术之一。eBPF 技术带来的收益明显,一方面,包括 Linux、Windows 在内的主流操作系统内核是宏内核,可拓展性较差,而 eBPF 技术能够以非侵入式的方式对内核进行扩展;另一方面,eBPF 提供了比较 61 2022 年度技术盘点与展望年度技术盘点与展望 好的安全性、扩展性和兼容性。不少受访专家对 InfoQ 表

124、示,eBPF 的发展前景广阔,属于 eBPF 的时代已经来临。“eBPF 技术的发展已经超出了我的预期。操作系统内核在没有应用 eBPF 技术以前,整个内核是静态的,编写内核时实现了什么功能,运行时也只有这些功能,最多可以做一些参数的调整,但无法带来更复杂的功能变化。应用 eBPF 技术以后,可以在Linux 内核中运行沙盒程序,编译成相关字节码加载到内核中,无需更改内核源代码或加载内核模块。”有受访专家表示,eBPF 技术为操作系统内核提供了一个新的可能性,为内核带来根本性的改变。对于 eBPF 的未来,eBPF summit 2022The future of eBPF in the Li

125、nux Kernel给出了几个演进方向:更完备的编程能力:当前eBPF的编程能力存在一些局限性(比如不支持变量边界的循环,指令数量受限等),演进目标是提供图灵完备的编程能力;更强的安全性:支持类型安全,增强运行时 Verifier,演进目标是提供媲美 Rust 的安全编程能力;更广泛的移植能力:增强 CO-RE,加强 Helper 接口可移植能力,实现跨体系、平台的移植能力;更强的可编程能力:支持访问/修改内核任意参数、返回值,实现更强的内核编程能力。62 2022 年度技术盘点与展望年度技术盘点与展望 拥抱 RISC-V 近几年,RISC-V 以其开放的指令集架构受到越来越多操作系统厂商和开

126、发者的青睐,不少操作系统开始拥抱 RISC-V,并成为一种新兴趋势。Semico Research 预测,到2025 年,RISC-V 市场规模将超 10 亿美元。国外包括英特尔、苹果、Tenstorrent、瑞萨电子等多个厂商都在积极布局 RISC-V。2022 年 2 月,英特尔宣布加入 RISC-V International 基金会,正式成为该基金会第19 个高级会员,并设立了 10 亿美元的 IFS 基金,用于帮助初创和成熟企业进行代工生态的创新,其中很大一部分用于 RISC-V;9 月,半导体产业分析机构SemiAnalysis 称,苹果正在将其嵌入式内核将全面转移到 RISC-V

127、 架构;同月,任职于 Tenstorrent 负责 RISC-V 架构的传奇芯片设计师 Jim Keller 喊出了“未来是属于RISC-V 的”口号。在 2022 RISC-V 国际峰会上,RISC-V 基金会首席执行官 Calista Redmond 表示,“我们 2022 年的愿景是让 RISC-V 无处不在,随着 RISC-V 在汽车、航空航天、数据中心以及消费设备等各个领域的采用和开发,这一愿景已经真正实现”。目前,RISC-V 国际基金会在 70 个国家/地区拥有超过 3180 名会员,覆盖芯片厂商、芯片设计服务公司、软件提供商等软硬件公司,以及大学、科研机构和投资机构等。市场上有

128、超过 100 亿个 RISC-V 核心,全球有数万名工程师致力于 RISC-V 计划。国内方面,自 2018 年成立中国 RISC-V 产业联盟以来,四年间已有 150 多家会员单位。包括华为海思、阿里平头哥、紫光展锐、兆易创新在内的多家芯片厂商基于RISC-V 架构开发产品,越来越多的操作系统厂商和社区开始拥抱 RISC-V。2020 年4 月,中科院软件所牵头成立了 openEuler 社区 RISC-V SIG 组。63 2022 年度技术盘点与展望年度技术盘点与展望 2022 年 8 月,阿里平头哥发布首个高性能 RISC-V 芯片平台“无剑 600”及 SoC 原型“曳影 1520”

129、;同月,阿里云、中科院软件所 PLCT 实验室、平头哥等在龙蜥社区成立RISC-V架构联合小组,全面兼容并促进RISC-V生态发展;同月,OpenCloudOS社区推出 OCKS 2207.2 内核版本,增加对 RISC-V 64 架构的支持;11 月,deepin 社区宣布支持曳影 1520,deepin V23 已经启动与曳影 1520 平台的适配;12 月,中科院软件所基于 openEuler 打造的傲来操作系统宣布进入 2.0 阶段,最新发布的“傲来2.0-RV”聚焦 RISC-V 指令集,提供模拟器、硬件板卡等多种运行环境,其中硬件板卡支持中科院香山、果壳系列,支持哪吒 D1 开发板

130、、赛昉 VisionFive 单板机、SiFive 公司 Unmatched 系列,同时也集成了澎峰科技的并行计算库。移动操作系统方面,2022 年,OpenHarmony 新增了对 3 款 RISC-V 芯片的支持,包括 TLSR9518、HPM6750IVM1 以及 BK7235。从生态繁荣程度上来看,RISC-V生态正处于增长关键期。当前,RISC-V的生态建设有很多基础性工作需要做,比如硬件需要更加成熟和规范,软件(主要是在内核层面)需要与硬件配合得更好,以及功能更加完善,这些都需要内核开发者们合作完成。“我们的经验就是 Upstream First,即任何工作都首先贡献到上游社区,与

131、所有的生态合作伙伴一起,完善这个生态。”受访专家总结道。展望操作系统的 2023 值得关注的技术趋势/方向 2023年,操作系统领域值得关注的技术趋势/方向除了Rust for Linux、eBPF、RISC-64 2022 年度技术盘点与展望年度技术盘点与展望 V 的发展,还有云原生、异构计算、安全以及 AI 等。移动 移动操作系统历经十余年发展,已经十分成熟。随着全球进入移动互联网时代,移动操作系统的市场份额稳定。数据显示,截至 2022 年 10 月,全球操作系统市场中Android、iOS 的市场份额占比分别为 42.37%、17.60%。与此同时,国内以鸿蒙为代表的移动操作系统市场突

132、飙猛进。2022 年,在HarmonyOS 发布的第四个年头,其自研核心代码量已突破 2000 万行,搭载的设备量也正式达到 3.2 亿台,相比去年同期增长 113%。有受访专家表示,当前国产移动操作系统还处于准备期,离带动整个产业发展还有一定的距离,但“雪球正在越滚越大”,距离成熟期并不遥远。“到 2024 年,国产移动操作系统的市场规模远超百亿级”,受访专家预判道。云原生 操作系统是连接应用和硬件的桥梁,它的发展和 IT 基础设施密切相关。当前,随着云的不断普及以及云原生的不断演化,云会逐渐成为企业 IT 形态的主流,企业数字基础设施将基于云来重建,并迎来跨越式发展。与此同时,全面基于云、

133、并面向云做设计研发的操作系统将成为主流。目前,国内外各大操作系统厂商和云厂商都在积极为这一跨越式发展做准备。2022 年,操作系统+云协同趋势越来越明显。微软借助其基于云计算的操作系统 Azure,不断增加公共云 65 2022 年度技术盘点与展望年度技术盘点与展望 的市场份额;红帽除了企业 Linux(RHEL),也在云平台 OpenShift 上投入重兵;SUSE 也发布了专为边缘环境中的容器化工作负载量身打造的轻量级操作系统 SLE Micro 5.2。有受访专家预判,“未来IT基础设施属于云,而未来的操作系统也属于云上操作系统”。异构计算 异构计算是近年来计算机领域出现的热门方向之一,

134、主要是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式。与传统的通用计算芯片相比,异构架构具有高性能、低功耗等显著优点。2021 年,以 DPU 以及各种各样 XPU 为代表的异构计算异军突起,英伟达、英特尔先后发布了 DPU、IPU。2022 年,英特尔披露了 XPU 概念的下一步规划新架构Falcon Shores,它能将 x86 CPU 和 Xe GPU 硬件合并到同一颗芯片中。据路线图所示,Falcon Shores 计划于 2024 年完成。2022 年,全球首台原生 RISC-V 笔记本电脑 ROMA 正式发布,并首次运行无剑 600 高性能异构芯片曳影 1520。有受访

135、专家表示:“在2023年,可能会涌现出更多的异构计算设备,操作系统要想更好地支持这些计算设备,需要解决很多技术难题,比如如何在不同的平台上运行软件。”安全 随着操作系统代码数量逐渐增加,以及支持的硬件日益广泛,安全性问题不容忽视。66 2022 年度技术盘点与展望年度技术盘点与展望 一方面,操作系统向下支持硬件,硬件上的某些安全缺陷可能需要在软件层面进行修复;另一方面,操作系统本身具有海量的代码,一些新特性或新的执行机制出现,也会给安全带来一些新的挑战。此外,开源安全也是 2023 年值得关注的方向之一(编者注:后续我们也将发布针对开源安全的盘点与展望文章,敬请期待)。随着越来越多的开源软件在

136、千行百业中得到广泛应用,安全问题日益凸显,供应链安全攻击和容器安全威胁问题日益严峻。如何构建安全可信的操作系统,是每个参与者需要长期思考的问题。AI 近几年,AI 技术在操作系统领域诞生了诸多应用。比如,openEuler 社区曾发布一款名为 A-Tune 的操作系统性能调优引擎,能够利用 AI 技术,对运行在操作系统上的业务建立精准模型,动态感知业务特征并推理出具体应用,根据业务负载情况动态调节并给出最佳的参数配置组合,从而使业务处于最佳运行状态。除了调优工具,预计在 2023 年,操作系统领域结合 AI 技术还会带来更多惊喜,比如人机交互。每一次人机交互方式的变化都会导致整个产业的跨越式发

137、展或颠覆式发展。相应地,操作系统也需要做出改变,否则无法支撑新形态下的应用程序。在2023年,一旦AR(增强现实)、VR(虚拟现实)、MR(混合现实)技术取得长足发展,那么,操作系统必然也会迎来跨越式的发展。67 2022 年度技术盘点与展望年度技术盘点与展望 如何做好操作系统生态建设?生态是操作系统发展的核心,也是其能否成功的关键。与国外主流操作系统相比,国产操作系统由于起步较晚,在生态建设方面仍面临一定的挑战。随着开源发展理念逐渐成熟,越来越多的厂商开始发起成立操作系统开源社区,进一步加快操作系统生态建设。从 2019 年开始,国内先后成立了 openEuler、OpenAnolis、Op

138、enCloudOS 等社区。2022 年,统信、麒麟分别成了桌面操作系统根社区深度(deepin)社区、openKylin 社区。“现在是操作系统社区的春秋战国时代”,受访专家表示,随着操作系统赛道持续火热,越来越多的企业参与其中,建设自己的开源社区。在社区发展的早期阶段,一定会遇到各种各样的问题,但如果产品优秀,围绕这个产品可以吸引足够多的企业/开发者参与进来,并具备一定的创新能力,始终保持开放和中立的态度,经过时间的演化,最终会向成熟社区迈进。“做开源社区应该多做实事、少务虚”,受访专家总结道。那么,2023 年,如何才能更好地打造操作系统开源社区?首先,有情有利,方能长久。社区需要进一步

139、鼓励合作伙伴在社区探索出更多的合作模式,聚焦在产品和商业合作本身,真正牵引企业在社区落地。开源不是公益,找准自身商业价值点才能有可持续发展,基于此,操作系统生态才能在开源社区的沃土上成气候。其次,生态是圈,双向奔赴。操作系统是一项门槛比较高的技术,专业人才、技术储备、研发资源都比较有限。围绕客户业务场景,操作系统产业生态圈上的操作系统、芯片、整机、数据库、中间件、以及应用软件厂商需要互帮互助,双向奔赴,让有限 68 2022 年度技术盘点与展望年度技术盘点与展望 资源充分流通,最终拉高国内操作系统产业天花板。最后,放弃小我,成就大我。当前国内操作系统开源社区的局面需要百花齐放,要开展竞争、建立

140、一个完全商业的竞争环境,大家可以在一个小生态里各自产生创新,但最终还是要汇聚在一处。如果没有一个统一的生态、社区或是标准去做,可能就会出现“七国八制”的现象,不仅浪费资源,还影响效率。写在最后 有研究机构预测,到 2024 年,国产操作系统有 7 倍的增长空间,到达百亿级的市场规模。可以说,这是国产操作系统最好的时代,机遇远远大于挑战。对于操作系统领域的开发者而言,除了要持续提升自身的研发能力,还要具备创新能力与安全意识,始终对技术保持好奇心,并积极拥抱开源。采访嘉宾介绍(按姓名首字母排序)采访嘉宾介绍(按姓名首字母排序)郭振宇,OpenCloudOS 社区 TOC 主席;江大勇,openEu

141、ler 委员会主席;刘恺,SUSE Euler 负责人;马涛,龙蜥社区理事长;任革林,OpenHarmony 项目管理委员会首席架构专家;张磊,统信软件高级副总经理、CTO;张家驹,红帽首席架构师。69 2022 年度技术盘点与展望年度技术盘点与展望 取代搜索,“干掉”艺术家?顶流AIGC的疯狂与争议|解读AIGC 的 2022 作者:刘燕 本文是“2022 InfoQ 年度技术盘点与展望”系列文章之一,由 InfoQ 编辑部制作呈现,重点聚焦AIGC 领域在2022年的重要进展、动态,希望能帮助你准确把握2022年AIGC 领域的核心发展脉络,在行业内始终保持足够的技术敏锐度。特此感谢百度

142、ERNIE-ViLG 团队、黄民烈、李笛、林咏华、赵德丽对本文的贡献,70 2022 年度技术盘点与展望年度技术盘点与展望 他们的真知灼见,是本文能与大家见面的关键。2022,浪潮凶猛的,浪潮凶猛的 AIGC 元年。元年。风口上的 AIGC 今年的 AI 领域,可能没什么比 AIGC 更热了。AIGC 的全称是 Artificial Intelligence Generated Content,人工智能生成内容。不过,AIGC 目前还没有一个规范、统一的定义。根据中国信通院与京东探索研究院发布的人工智能生成内容(AIGC)白皮书中给出的定义,AIGC 既是从内容生产者视角进行分类的一类内容,又

143、是一种内容生产方式,还是用于内容自动化生成的一类技术集合。有预测数据显示,到 2030 年,AIGC 的市场规模或将超过万亿人民币。2022 年,尤其是下半年,AIGC 概念突然升温。有这么几个标志性的事件把 AIGC 推到了风口浪尖之上,其一是文生图模型 Stable Diffusion 的开源,其二是 ChatGPT 的爆火出圈。AI 绘画神器 Stable Diffusion 横空出世 有人将 Stable Diffusion 形容为 AI 界的“神笔马良”,这可能并不夸张。71 2022 年度技术盘点与展望年度技术盘点与展望 Stable Diffusion 是一个文本至图像的模型,于

144、今年 8 月 22 日公开发布,它能让数十亿人在几秒钟内创建出令人赞叹的艺术品。用户随意输入自己想要的文字描述,就能得到相应的图像结果。两个月后,伴随着 Stable Diffusion 的开源,它所具备的潜力瞬间得到了极大释放。开源让 Stable Diffusion 将无过滤图像生成的门槛下放到历史最低,任何具备一点点技术知识的电脑用户都能轻松上手,可以说是一项老少咸宜的 AI 图像生成工具。尽管此前,艺术创作 AI 已经历了一段时间的发展,但 Stable Diffusion 的出现才真正让这项技术得到了腾飞式的发展。因为它可以免费使用、上手快捷,大大减少了用户生成内容的障碍。Stabl

145、e Diffusion 掀起了文生图模型的热潮。今年 10 月,百度发布了首个知识增强的AI 作画大模型 ERNIE-ViLG 2.0;11 月初,阿里达摩院在魔搭社区 ModelScope 上开放了通义文生图大模型;11 月底,智源研究院大模型研究团队开源最新双语AltDiffusion 模型,中文世界有了专业级 AI 文图创作工具,其在视效上媲美 Stable Diffusion。ChatGPT 火爆出圈 最近几周,OpenAI 最新的聊天机器人 ChatGPT 火出天际,成为现象级应用。问答、写小说、写代码、写论文、写区块链智能合约.ChatGPT 的应用也频频出圈。ChatGPT 就像

146、是一个无所不知的虚拟体,它能回答各种问题,而且总能给到让人满意,甚至超过预期的答案,因此引起了极高的关注度。72 2022 年度技术盘点与展望年度技术盘点与展望 ChatGPT 展示出的强大的能力和无限可能,让人们看到,通过 ChatGPT 这样的技术方案解决很多任务的潜力。大家感到惊奇的是,在一个模型里面就可以完成各种任务,而且是很难的任务。在过去一些看似比较困难的任务(比如问伦理道德方面),ChatGPT 也能解决得很好。清华大学教授黄民烈认为,ChatGPT 的技术创新性主要在于两个方面:强大的底座模型:过去几年GPT-3的能力得到了快速提升,OpenAI建立了用户、数据和模型之间的飞轮

147、。显然,开源模型的能力已远远落后平台公司所提供的 API能力,因为开源模型没有持续的用户数据对模型进行改进。利用强化学习从人类反馈中学习:在真实调用数据上的精调模型,确保数据的质量和多样性,从人类反馈中学习。从“两两比较的数据”中学习,对强化学习而言意义很大。如果对单个生成结果进行打分,标注者主观性带来的偏差很大,无法给出精确的奖励值。在强化学习里,奖励值差一点,最后训练的策略就差很远。而对于多个结果进行排序和比较,相对就容易做很多。这种比较式的评估方法,在很多语言生成任务的评价上也被广泛采用。黄民烈认为,ChatGPT 出现对 AI 界来说,有着十分重要的意义:“它宣示着无缝人机交互时代的来

148、临。过去我们讲 conversation as a service(caas)还停留在纸面,但实际上今天,无论是开放域聊天,还是通用任务助理(ChatGPT)都在强烈地表明这一点”。从信息检索的角度看,ChatGPT 也取得了很大突破。达摩院基础视觉负责人赵德丽在接受 InfoQ 采访时表示,以前谷歌等搜索引擎做搜索和检索,只是找已经存在的信息,ChatGPT 的应用,实现了从信息的搜索到信息的创造这样一个范式的转变,从 73 2022 年度技术盘点与展望年度技术盘点与展望 算法能力上看,它取得了一个质的飞跃。短期来看,ChatGPT 有望成为或者辅助像谷歌这种传统信息检索的强有力的工具;长期

149、来看,它有望发展成为 AI 系统级的服务。但至于它最终会不会取代搜索引擎。黄民烈认为,ChatGPT 取代谷歌搜索还比较遥远,原因主要有,受限于训练数据,ChatGPT 的信息实效性较弱,缺乏很多新的信息;在信息的可信度上,搜索引擎只“搬”东西,不创造内容。ChatGPT 虽然会创造内容,但创造的东西多大程度上“有用、可信、无害”,还没有统一的定论;再就是成本问题,现在大模型的生成成本还是太高了,需要持续下降。现阶段的 ChatGPT 并不完美。通俗地说,它还存在“一本正经地胡说八道”的问题,这本质上是对信息可信性的度量和评估。解决这一问题,技术上需要有信息验证的手段;从应用上来说,需要深入结

150、合应用的场景和特点,针对性优化和解决。但整体而言,ChatGPT 还是让人非常惊喜。黄民烈非常看好 ChatGPT 接下来的发展方向。他认为这是一个正确的方向,现在还比较粗糙,但假以时日,一定会催生很多应用。赵德丽同样对ChatGPT抱有大期待。虽然还有各种瑕疵,但ChatGPT短时间内出现了各式各样的不同方向上解决问题的能力,展现了 AI 算法的巨大潜力。从技术发展和解决方案的角度看,它将来可能会成长为一个超级 APP,就像是一个无所不知的虚拟体。“ChatGPT 这种应用的出现,从长远来看的影响力,其实不亚于阿尔法狗曾经在人工智能界带来的影响力,它将会是一个影响非常深远的技术和应用”。74

151、 2022 年度技术盘点与展望年度技术盘点与展望 AIGC 为什么突然火了?AIGC 并不是一个新概念。AIGC,通常还有另一种叫法AI Creation(人工智能创造),大致从 2016 年2017 年开始,其应用不断增加,尤其是在自然语言领域,广泛应用在生成文本、作诗句、写对联等方向,近几年,逐渐延伸到作画、作曲等领域。凭何而火?今年,AIGC 突然在全球蹿红,成为人人口中的流行词。究其原因,主要由多项技术上的关键突破推动,总结来说:一,算法上:从今年 4 月开始,在文生图视觉方向上,视觉效果生成的效果取得了突破性的进展,文生图的质量得到了很大改善。OpenAI 的文本生成图像模型 DAL

152、LE 2算法发布后,在算法效果上取得了和以往相比实质性的突破,成为一个现象级的算法,其在文本生成图像生成的效果、真实度表现上,让大家看到了大规模商用的前景。AI作画任务十分直观,给人的视觉冲击强烈,使得 AIGC 逐渐破圈,快速传播。二,预训练大模型是 AIGC 的底座,没有大模型学到的丰富知识,就无法实现如此丰富的 AI 内容生成能力。AIGC 最重要的是一种融会贯通的能力,要做领域的泛化,需要学习海量的数据,大模型的规模直接决定了 AIGC 创作力的广度。多模态大模型的应用,使得 AIGC 的质量得到了较为明显的进步。三,扩散模型的发展。扩散生成的算法取得了突破,这个算法能够对图像做像素级

153、别的建模,学习效率更高。Stable Diffusion是文本生成图像模型完全开源的第一个算法,它跑起来的效率相当高,其开源也带动了相关生态快速的发展,让人们看到,基于这 75 2022 年度技术盘点与展望年度技术盘点与展望 种生成式基础模型,能够带来无限的创造和想象空间。特别是在一些国外社区里,基于 Stable Diffusion 做的各种创新式的应用发展快速,展现了商业化潜力。四,算力降低。深度学习计算能力的快速发展。在大算力的基础上,AI作画能够实现在海量数据上进行大参数模型的训练。相比之前的 AIGC 算法,算力上有了很大降低。要训练一个基础的预训练模型,需要很多算力。一些专注于基础

154、的大模型的机构,将模型训练好后,可以供很多小企业使用,只需用消费级的网卡就可以做微调,也可以直接基于 API 调用。预训练大模型加上微调可以很好地进行文生图生成风格的改变,派生出了大量的二次开发者,屡屡破圈。从 GAN 到 Diffusion GAN,是生成式 AI 的核心技术之一。2014 年以来,以生成式对抗网络(Generative Adversarial Network,GAN)为代表的深度学习算法的提出和迭代更新,让 AIGC 进入了快速发展阶段,带动了 AIGC 的一波热潮。赵德丽表示,在 Stable Diffusion 这种扩散算法出现之前,从生成的效果上看,在计算机领域,GA

155、N 是效果最好的。发展到现阶段,GAN 生成的人脸图像已经到了真假难辨的程度。以 StyleGAN 为例,其生成的图片可以做到栩栩如生,光线和纹理都清晰可见,非专业人士几乎无法分辨出是由 AI 生成的虚假图。即便是现在的 Diffusion model 目前也做不到现在 GAN 在人脸生成上的结果。但 GAN 有一个最大的缺点,它对于多类别、语义非常复杂的、一般场景下的图片生成的建模能力较弱。如果只是人脸,只是猫或者只是狗这类场景的数据,GAN 的效果很好。但它在某种复杂数据的规模能力方面,在性能上受限较大,如果把狗、猫、76 2022 年度技术盘点与展望年度技术盘点与展望 花朵、桌子、椅子、

156、电话等不同种类的数据放在一起,目前的情况下,GAN 得不到一个较好的结果。而 Diffusion model 在这方面取得了突破性的进展。Diffusion model 解决了 GAN 不能解决的问题,因此大家立刻意识到了它的巨大潜力。今年是 Diffusion model 取得快速发展的第一年。而且,它的发展速度超过当年的 GAN,当年的 GAN 已经足够火热了,但可以感受到,Diffusion model 现在的受关注程度超过当年的 GAN。Diffusion 扩散化模型带动新一波 AIGC 的热潮 今年这波 AIGC 的热潮,被认为是由生成扩散模型带动起来的。例如,OpenAI 发布了文

157、本生成图像模型 DALLE 2;谷歌推出了 Imagen;今年 8 月,初创公司Stability.AI 发布了 Stable Diffusion.百度 ERNIE-ViLG 团队向 InfoQ 介绍,扩散模型是受非平衡热力学的启发的一系列概率生成模型,通过逐渐增加噪声的方式对原始数据进行扰动,通过学习反向的恢复原始数据去噪过程得到用于生成数据的模型,典型的扩散模型如 DDPM 等。而扩散模型在生成过程中加入文本条件产生了诸如 DALLE2、Imagen、ERNIE-ViLG 2.0 等基于扩散的文本生成图像模型。传统生成对抗网络 GAN 存在训练不稳定和生成结果多样性差等缺点,而扩散模型显著

158、提升了图像生成的效果和多样性,受到业界广泛关注。生成扩散模型在多模态生成领域展现出很好的可扩展性。在训练数据时,把不同模态的训练数据混到一起,把文本、静态图片、视频、声音等各种各样不同类型的训练数据在一个语义空间里关联在一起。但因为训练数据规模大,大模型的参数特别多,用这种方式,它仍然只能得到一张分辨率很低的图片。然后不停地通过扩散模型算法,77 2022 年度技术盘点与展望年度技术盘点与展望 把很小的分辨率和图片不停地做超分辨率,不停地把一张很模糊的图片变得尺寸更大、更清晰,在这个过程里还会补上很多细节,最后得到一张相对较清晰的图。现在很多人应用 Diffusion model 来生成视频,

159、生成音乐,目前为止它最为可行的还是生成静态的视觉画面。AIGC 相关技术逐步发展成熟 AIGC 包括多种内容形式,按照黄民烈的分类方法,分为感知智能和认知智能。感知类:文生图、语音生成、音乐生成等 认知类:续写、改错、小说故事创作、对话生成 从技术上看,写作相关和图像生成这两个方向表现比较成熟,对话最难。其中在文本生成方面,例如在金融文本摘要生成领域,其技术早已成熟到可以落地的程度。ChatGPT 在内容的创作能力、问答流畅度上表现不错,但要深究其真实性、正确性和时效性,还存在不少问题。如何保证内容的真实性、正确性和时效性,是现在 AIGC 尤其是文字类的生成需要重点考虑的问题。图像生成方面,

160、AI 绘画格外火热。百度 ERNIE-ViLG 团队认为,今年以来,AI 作画发展迅速,很大程度来自于技术的突破,使得效果有了质的飞跃,甚至有些 AI 图像作品十分惊艳。不过,虽然 AI 绘画已经进入实用阶段,但依然有很大的优化空间。在技术角度,需要提高的主要是两个方面,包括生成的可控性和细节描述能力。78 2022 年度技术盘点与展望年度技术盘点与展望 AI 绘画的可控性有待提升,对于数量、逻辑、关系、多图关联等问题暂无有效的解决方案。比如说要求生成 2 个苹果,左边是红色,右边是绿色。虽然这里边的关系并不复杂,但模型很多时候,并不能稳定地生成正确的结果。细节描述能力有待提升,对于更加复杂的

161、、有规律性的细节的描述能力有待提升。比如对于一栋居民楼的图片,窗户应该是有多种不同描绘,有开的、有关的、有晾衣服的,同时很多窗户应该对齐且规格统一。小冰公司 CEO 李笛认为,整体来看,AI 作画在生成质量上有了大幅提高,但仍然需要解决一些单点的问题,例如模型本身的迭代,一个人类设计师在和雇主的工作过程中,可以根据雇主的喜好,对设计初稿的某一局部做精细调整。但 AI 无法做到这一点,AI画作一旦生成,如果想让它修改,往往是用重画的方式来进行。而现有的技术多模态大模型,注定有这类问题。它只能在一定程度上,提高作品与需求的相关性,但无法从根本上提高良品率。AI 生成视频,是 AI 生成图像的一种延

162、伸。从技术本质上看,视频可以认为是多张“图片”,即视频帧构成的序列,且序列上各帧之间有画面、逻辑等层面的关联。因此,从生成质量上来说,AI 生成视频相对更难。当前文生图技术可以通过简单的技术组合,例如分步骤扩散生成等方式,将生成图像扩展到生成视频,但效果还不能令人满意。此外,受限于数据规模和质量,AI生成视频的生成效果和现在的文本生成图像的效果相比,有较大差距。不过,相对图像,视频内容具有其独特属性。例如,在互联网视频内容消费场景中,经常会以“随便截一张图都是壁纸”作为对视频质量的极高赞誉。由此可见,相对于图片,视频对单个帧的质量要求相对较低,更强调传递信息等功能。因此,AI生成视 79 20

163、22 年度技术盘点与展望年度技术盘点与展望 频可以采用其他技术方案完成,在降低技术难度的同时,更符合特定应用场景的要求,例如基于图文输入生成视频、基于数据生成视频等。总结来说,AI 按照生成图像的方式生成视频,仍处于前沿探索阶段。商业想象力几何?赵德丽认为,现阶段,AIGC 的生成效果已经非常惊艳了,它已经达到了广泛应用的基础性能,虽然在使用上还有较大门槛,但通过大模型的开源开放等,有助于将门槛降下来。商业模式在探索中 而且可喜的是,现在,AIGC 已经有不少可行的商业模式发生了。例如在设计、艺术创作、电商、娱乐、金融等领域。具体在文本生成上,在一些商业非严肃性文书的辅助编写上已产生了不错的模

164、式;在文生图方向,已经看到,面向设计师,面向教育行业的 AI 辅助画作生成等正在探索商业用途的路上。最近几年,“数字人+AIGC”成为不少企业的探索方向。小冰从几年前就开始探索AIGC。李笛表示,AIGC 对于 AI Being 来说的作用在于,在和人交互的过程中,它不光要能从数字世界中获取知识内容和服务提供给人,它自己也应该相应地随机应变地去创造相应的内容提供给人。80 2022 年度技术盘点与展望年度技术盘点与展望 在互联网应用之外,AIGC 在实体经济领域,也蕴含着不少机会。实体经济对内容生产的需求很大。“我们以前认为实体经济的瓶颈在于生产、产能,其实不是,实体经济的很多瓶颈在于设计,在

165、于内容。”李笛说。以小冰为例,小冰的 AIGC 内容很早就应用在纺织设计领域。小冰与中国纺织信息中心、国家纺织产品开发中心推出的AI图案设计平台,可按需定制100%原创的图案纹样,目前已有超过400 家企业注册,并在生产中使用。北京智源人工智能研究院总工程师林咏华向 InfoQ 谈到,工业生产、制造、仓储、物流等实体行业,近几年一直在探索如何用计算机视觉来进行智能化升级,但实际落地并不容易。原因在于,现有的模型质量还未能满足产业落地的质量要求。其中一个重要原因是,训练模型时所用的训练数据十分局限。因此,可以考虑通过 AIGC 的方式来产生这些场景里的训练数据。例如在仓储、物流或更多的工业场景,

166、用 AI 来辅助产生一些少见的场景数据,作为训练数据的补充,提升整个模型的质量。但这需要更精准的图片生成的控制能力,比较起现有的 AIGC 模型能力,其可控性需要大大提升。AIGC 在自动驾驶场景下也有着不错的应用潜力。现在自动驾驶场景存在训练数据不足的问题,例如针对恶劣天气、事故等突发状况,视觉模型在真实场景中很难捕捉,也难以进行模拟,因此,目前业内在尝试用数字孪生和仿真的方式来模拟。也可以尝试用大模型的方式,通过给出描述,生成相应的精确场景,缓解某些场景下自动驾驶数据难获得的问题。“整体来看,AIGC 现在已经开始在探索向实体经济的应用发展,但目前还在一个比较早期的阶段”林咏华判断。81

167、2022 年度技术盘点与展望年度技术盘点与展望 向 B 端收费还是 C 端?然而,AIGC 的商业化落地,不得不面临的一个尴尬的问题是如何避免走向“廉价”。AI具有高并发性,注定了它的“廉价”。李笛认为,如果只对AI画作收费,它很可能会进入到廉价的成本经销模式。因为,人是有创造力的,从人类设计师那得到的画作,人可能愿意付一百块,从 AI 那得到的画作,且不论质量,人可能连一块都不愿意付,因为觉得它是廉价的。AI画的画可能很有价值,但人们认为它不值钱。因此如果卖的是内容,无论是卖给 B 端还是卖给 C 端它都不值钱。而如果卖调用服务给 C 端,也很难持续。API 调用的模式是一种比较粗放的从技术

168、源头开始的商业化包装方式。内容产业有一个重要特点是,它是高附加值且有区分度的,不同内容的创作者定价不同,不完全取决于本身的作品质量。但用 AI 创作不同的绘画,定价是相同的,这样容易把一个高附加值的市场“打”成一个低附加值的市场。对于 AIGC 可行的赚钱路径,李笛认为,如果 to C,是走内容平台模式,打造一个内容平台,通过广告收费。如果 to B,是用 AI Being 和企业之间进行协同。一个 AI Being 创作者,能一定程度对标人类创作者,他有“唯一性”。通过与雇主的长期磨合,双方的审美、风格会越来越趋同。对雇主来说,他的作品质量会越来越稳定。“某种意义上讲,我们认为靠 AIGC

169、本身赚不到钱。我们不是在做画笔,而是在做一个手拿画笔的人,我们不是在做能画画的 AI,而是在做能画画的 AI Being。我们侧重把创作的能力,把生成的能力赋予 AI Being,让 AI Being 本身具有价值”。82 2022 年度技术盘点与展望年度技术盘点与展望 爆发前夜“AIGC 技术走到了一个转折点,到了一个新阶段的起点”。赵德丽认为,此前,虽然AIGC 技术在不断发展,但生成效果并没有得到广泛认可,还没达到大规模商业化的条件。但现在,不一样了。今年,AIGC 生成的效果,包括基于 AIGC 技术推出来的应用,大家看到,这项目技术已经具备了大规模应用和商业化的潜力和性能,具备了从只

170、能在窄领域到更普遍场景下应用的可能性。AIGC 技术到了大规模商业化应用的转折点。今年是一个起点,但还远远没有到成熟的程度。AIGC 具体在哪些领域能用好,发挥出商业化的价值,还需要不断打磨产品和技术。例如对于文本生成图,现在对 problem 的提示语要求很高,现在算法还做不到随便给个描述,就能生成栩栩如生的图片。什么样的 problem 合适,如何设计出合适的problem 等,都有一定门槛。此外,像 ChatGPT 虽然展示了强大的能力,但在很多场景下还是有瑕疵,出现问题和答案不匹配的情况还非常多。如果对其进行商业化应用,需要再针对具体的场景,不断打磨和优化。尽管它达到了大规模应用的基础

171、,但并不是非常成熟,还达不到让大家自由应用的程度。现阶段,AIGC 已经有了一些称得上规模的应用,但在实际应用中,还存在一些问题。例如因为人设计的作品相对较贵,但人工智能的设计作品相对便宜,所以会有人利用这个漏洞,将人工智能系统里的大量作品改头换面,将它搬迁到或囤积到那些原本是人类设计者的定价体系的平台上去倾销,最终会造成人类创作作品的销量市场受到损害。AIGC 应该避免形成这样的规模化。83 2022 年度技术盘点与展望年度技术盘点与展望 热度、争议与未来 如何提高良品率 当前,AI写作、AI作画等AIGC内容在质量上还存在良莠不齐的问题,提高良品率尤为重要。不过在大模型的生产模式下,提高良

172、品率的方法并不多,某种意义上来讲,良品率目前主要依靠翻动过程,它能够在一定程度上降低瑕疵,但想要消除,不太可能,它不太可能是基于对大模型的修改而得到。接下来期待一个新的称之为台阶式的技术理念出来。提高数据的质量是基础方法之一。林咏华表示,AIGC 是针对训练数据的融会贯通和变换,所以数据的广泛性,数据的分布和数据的质量都很重要。在 AI 领域的研究人员越来越意识到,尤其在需要大量数据训练模型的大模型领域,数据起到的作用可能会比算法还大。如果希望生成的画作精良,那需要训练的图片的质量是精美的,但如果给的是小孩的画,那生成的画作可能还粗略停留在小孩阶段。此外就是从算法侧改进算法,但改进算法本身如果

173、针对通用场景,它可能在某些场景总是出现瑕疵或者出现瑕疵的概率比较高。很多团队在开发 AIGC 应用时,目标不是通用场景,比如针对的是生成二次元图像的产品,那需要对算法或模型进行二次开发。在这种情况下,完全有可能在二次开发的基础上把瑕疵去掉,提高良品率。一般通过二次开发,且在一些具体场景下的数据做模型二次微调,可以大大提高 AIGC 的良品率。84 2022 年度技术盘点与展望年度技术盘点与展望“人工智能宣布放弃版权”AI 作画的一个很大的争议点在于版权。例如,DALL-E 和 Stable Diffusion 等图形生成类 AI 工具就被质疑在互联网上随意抓取数据,且完全没有考虑过任何许可或所

174、有权限制。正是由于这种版权归属争议的存在,Shutterstock 和 Getty Images 等公司禁止在其平台上使用 AI 生成图像。谈到版权问题,李笛表示,小冰很早就提出,“人工智能宣布放弃版权”。通常来说,版权界定需要几步:第一判定是不是侵权。人类作品判定侵权有明确的界定要求,比如一个作品多少比重的内容一致,就可以判定侵权。人工智能作为系统,它天生就有判定机制,当它输出作品的过程中,它自动就可以像知网一样进行查重。它生成的原始图像里,很可能存在着很多图像跟现有的作品,存在相似性,如果相似性较高,侵权了,只要不把作品输出就行。如果让人工智能确保它给到用户的每一个作品都是不侵权的,这件事

175、很容易做。第二步要有判定训练的过程,是基于什么样的训练数据训练的。但要注意的是,无论是人类作品还是 AI 生成作品,侵权的责任认定在于,这张作品是不是跟另一个作品产生了相似性,而并非在学习作画的过程中学习了别人的作品及作品思想等。如果这样,无论是人还是 AI 只要在画画,便会判定为侵权。从这个角度看,人工智能本身在训练过程不存在版权责任,尤其是大模型,因为人工智能在训练的时候,它使用的是公开的数据来进行训练。另一个放弃版权的原因在于,人工智能保留知识产权没有意义。人工智能保留知识产权的一个先决条件是必须要经过确权的步骤。目前全球对于知识产权的确权方法主要是通过著作权登记,每登记一个作品,需要一

176、笔著作权登记费用。而 AI 生成的内容 85 2022 年度技术盘点与展望年度技术盘点与展望 规模十分庞大,这一规则对 AIGC 来说显然不现实。无法辨别真伪信息的世界 很多人担忧,随着 AIGC 的不断普及,未来大家将生活在一个无法辨别真伪信息的世界里。AIGC 生成的内容越来越多,信息的真假会成为很大的负担。但这恐怕已经是无法避免的趋势,因为现在 AI 生成的图片早已经是海量规模,而且,这些 AI 生成的数据将会越来越多的出现在公共的资讯平台上,这样的时代正在快速到来。对于用户来说,未来将面临判定真伪信息的挑战。目前还少有比较好的解决这一问题的方法。赵德丽提出了一种标记的方法。从算法角度来

177、说,可以做一些隐性标记,标记出哪些图片是生成的,哪些是真实的图片。完全的 AIGC 可能不会出现 不可否认的是,AIGC 对内容创作的确产生了重大影响。一种观点认为,内容生成的四个阶段依次为“PGC、UGC、AI 辅助生成和完全的 AIGC”。按照这一走向,未来,AI 的终级趋向会是取代人,最后内容产业将走向完全的 AIGC。李笛对此持有相反的观点,他认为,AI 的终极应该是与人协同,应该先实现“规模化的 AIGC”再到达“AI 辅助生成”阶段,当 AIGC 集大成以后,再辅助人类生成内容。此外,完全的 AIGC 可能不会实现。比如人看某个电影,是因为情节、演员、导演等 86 2022 年度技

178、术盘点与展望年度技术盘点与展望 多种因素。人类对作品的喜好,从来不仅仅是因为内容质量,即便未来完全的 AIGC化了,可能也并不是人类想要的东西。李笛发出思考:“所以不存在AIGC颠覆人的可能性,能颠覆人的只有人类自己”。赵德丽表示,AIGC 本身是基于生成模型产生的能力,生成模型训练需要数据,这些数据都是人类活动产生,生成的提示词需要人来输入,人需要做场景的设计、提示词的设计、元素的设计等等。只不过在一些具体的场景上,对于一些固定的设计模式,比如设计成具体的图形如红包界面、商品素材等,可以实现完全的 AIGC 的方式。但整体而言,人还是 AIGC 中重要的因素。再回到那个 AI 能不能让艺术家

179、丢掉饭碗的老生常谈的话题“让 AI 负责生成,让艺术家或设计师来负责审美,这两个并不矛盾,是一个相辅相成的关系。也不存在谁取代谁,有了 AI 绘画的辅助,艺术家会发挥出更大的能力,甚至说一些不是非常专业的艺术家,一些普通人借助 AIGC,也有可能创造出非常惊艳的艺术品”李笛表示。采访嘉宾:(按拼音首字母排序)采访嘉宾:(按拼音首字母排序)百度 ERNIE-ViLG 团队 黄民烈,清华大学计算机科学与技术系长聘副教授、博导,聆心智能创始人。李笛,小冰公司 CEO 林咏华,北京智源人工智能研究院总工程师 赵德丽,阿里达摩院基础视觉负责人 87 2022 年度技术盘点与展望年度技术盘点与展望 解读

180、Go 语言的 2022:泛型时代开启 作者:郝林 本文是“2022 InfoQ 年度技术盘点与展望”系列文章之一,由 InfoQ 编辑部制作呈现,重点聚焦 Go 语言在 2022 年的重要进展、动态,希望能帮助你准确把握 2022 年Go 语言的核心发展脉络,在行业内始终保持足够的技术敏锐度。之所以在这样一篇年度解读文章的标题直接提到“泛型”,是因为 Go 语言的泛型在2022 年终于浮出了水面!并且,它在功能方面已经大致完整了。圈内的开发者们都知道,这是 Go 社区(当然包括中国的 Go 社区)多年请愿的结果。88 2022 年度技术盘点与展望年度技术盘点与展望 虽然 Go 语言是 Goog

181、le 公司出品并主导开发的,但它毫无疑问也是广大 Go 语言爱好者的心头肉。可以说,对于 Go 语言泛型的正式登场,至少有一半功劳属于 Go 语言的爱好者们。肯定会有一些程序员,尤其是那些不以 Go 为主要语言的程序员会说“Go 语言的进展太慢了,其他众多新的编程语言甚至那些较老的编程语言早就支持泛型了,可 Go 语言墨迹了这么多年才搞出泛型”。确实,单就泛型这方面来说,Go 语言的脚步确实很慢,可这主要是因为 Go 语言想要做到完全向后兼容,并力求让 Go 语言的泛型完美契合其自身的精炼的编程哲学和简约的编码风格。要知道,做加法容易,而做减法却很难。不过不管怎样,Go 语言的泛型终于落地了!

182、就连现如今清心寡欲的作者也忍不住心中的喜悦!好了,感慨完毕,我们还是回归正题吧。下面,我们就一起从头至尾捋一捋 Go 语言在 2022 年的发展和变化,以及它将会在 2023 年如何继续前行。趋势概览 Go 在今年的 11 月 10 日刚满 13 岁。它已经长大并进入了少年期,不算是一门新的编程语言了。但 Go 依然保持着非常好地向后兼容。很显然,这是一件很不容易的事。从业界知名的编程语言排行榜 TIOBE Index 绘制的折线图来看,Go 语言的采用趋势在过去三年间基本上保持平稳。更具体地说,根据使用情况统计,在2020年下半年到2021年上半年的这段时间里,89 2022 年度技术盘点与

183、展望年度技术盘点与展望 Go 语言的使用率有略微提升,但时至今日又差不多回到了 2019 年的水平。与其在2016 年到 2017 年间的大爆发相比,如今 Go 语言的使用率已经基本上稳定下来了。图 1-TIOBE Index 之 Go 语言趋势 不过,就作者个人而言,感觉是有些奇怪的。按理说,Go 语言泛型的落地应该能够引起一波采用 Go 语言的小高潮,但事实上这一情况并没有出现。这可能就是“波澜不惊”的最佳诠释吧?可能因为大家都等得太久了,真到了重大的新特性来临之时却不太能兴奋得起来了。当然了,这也可能是因为 Go 语言在应用领域方面的攻城掠地已经基本完成,而且在其优势领域的使用率已经趋于

184、饱和。而对于那些新兴领域,比如机器学习、人工智能、机器人、元宇宙等,Go 语言还没有显著的优势,尤其是还没有杀手级框架或工具出现。在这种情况下,Go 语言在使用统计上的平稳趋势也是一种必然。现在换一个维度,我们横向来看,Go 语言的排名相较于前两年有比较明显的提升。如下图所示。90 2022 年度技术盘点与展望年度技术盘点与展望 图 2-TIOBE Index(2022 年 11 月)我们可以看到,Go 语言在 2021 年年底的 TIOBE Index 排名中位于第 18 位。这低于它在 2020 年年底的排名(第 16 位),以及它在 2019 年年底的排名(第 15 位),也算是一个小谷

185、底了。然而,在今年的年底,Go 语言的排名却大幅提升了,甚至,它已经摸到了 Top10 的边界!如果作者没记错的话,Go 语言最近一次进入 Top10 是在2018 年的年底。如今,4 年过去了,Go 语言终于又有希望重回 Top10 了。我们还可以看到,至今常年占据Top10的依然是那些老生常谈,甚至是那些老得不能再老的编程语言。相比之下,Go 语言真真切切算是年轻一派的优秀编程语言了。当然,除了Go语言之外,还有图形化的儿童编程语言Scratch、Apple公司出品的编程语言 Swift,以及近年来出尽风头的系统级编程语言 Rust。它们都很年轻,却都已经进入了 Top20,也是非常优秀的

186、。作者也很看好它们。在简单分析了 Go 语言在 TIOBE Index 中的排名之后,我们再来看看新晋出炉的StackOverflow Developer Survey 2022 吧。众所周知,StackOverflow 是全球最大的 91 2022 年度技术盘点与展望年度技术盘点与展望 编程社区和专业问答网站。它的 Developer Survey 报告属于年度总结性报告,已经有好多年的历史了,并且深受全球软件开发者的关注和喜爱。我们下面重点说说其中与 Go 语言强相关的内容。至于其他的内容,大家如果有兴趣的话,可以点开前面的超链接仔细阅读完整报告。在“使用率最高的编程语言(专业组)”这一栏

187、中,Go 语言的排名是第 13 位(如下图)。1 图 3-Stackoverflow Developer Survey 2022 之使用率最高的编程语言(专业组)如果只考虑通用的跨平台编程语言的话,Go 语言仅次于 Python、Java、C+和 C。这与它在 TIOBE Index 中的情况是相同的。有的程序员可能会说“JavaScript 和 92 2022 年度技术盘点与展望年度技术盘点与展望 TypeScript 现如今也可以算是通用的跨平台编程语言”。当然,从某种角度看,我们可以这样说。但是,它们终归不是原生的通用编程语言,都需要额外的工具或框架才能够实现“通用”。因此,我们稍微严格

188、一点,暂且不把它们计算在内。在应用级框架和工具栏目中,作者发现Docker和Kubernetes今年依然非常火爆。作为常用的基础工具,它们深受广大软件开发者的追捧。图 4-Stackoverflow Developer Survey 2022 之最受欢迎的基础工具(全体组)从上面这幅截图我们可以看出,Docker 和 Kubernetes 在当前的排名中都已经进入了Top5。甚至,如果只考虑专业的软件开发者的话,Docker 甚至超越了 npm,拔得头筹!图 5-Stackoverflow Developer Survey 2022 之最受欢迎的基础工具(专业组)93 2022 年度技术盘点与

189、展望年度技术盘点与展望 毫无疑问,npm 是 JavaScript 世界中 Top1 的工具,其应用是相当相当广泛的。更何况,在全世界的软件开发者当中,不论是专业的开发者还是业余的开发者,使用JavaScript 语言的人都是最多的。所以,Docker 能够超越它真的是一件非常值得骄傲的事!大家应该都知道,Docker 和 Kubernetes 都是使用 Go 语言开发出来的。在云计算领域,尤其是容器技术领域,它们都是绝对的王者!因此,如果你想进入云计算领域,或者想使用 Go 语言开发基于云的应用程序,那么最起码应该学会甚至熟练使用Docker。好啦,以上算是一个令人激动的小插曲。现在,让我们

190、把焦点再转回到编程语言的排名上来。在 Stackoverflow Developer Survey 的报告中,有一个非常有特色的栏目。我们经常戏称它为“爱恨交织”栏目,其原名是“Most loved,dreaded,and wanted”。在这个栏目里,共有七万一千多名开发者回答了相应的问题。在他们当中,有 64.58%的人喜爱 Go 语言,而有另外的 35.43%的人憎恨 Go 语言(或者说对 Go 语言有恐惧感)。在所有为大众所熟知的编程语言当中,Go 语言排在了第 8 位。94 2022 年度技术盘点与展望年度技术盘点与展望 图 6-Stackoverflow Developer Sur

191、vey 2022 之让人“爱恨交织”的编程语言 在这份排名中的 Rust、TypeScript 和 Julia 作为更加年轻的编程语言后来居上。不过,如果我们查看相邻的“最想学习的编程语言”排名的话,就会发现 Go 语言的位置靠前了很多,处于第 4 位,仅次于 Rust、Python 和 TypeScript,并且从百分比数值上来看相差无几。图 7-Stackoverflow Developer Survey 2022 之大家最想学习的编程语言 95 2022 年度技术盘点与展望年度技术盘点与展望 看起来,程序员们应该都很喜欢追新,不是吗?这起码与作者的所见所闻是比较吻合的。当然了,只有那些优

192、秀的新兴编程语言才有进入 Top10 的机会。可以想象,Docker 和 Kubernetes 在这个“爱恨交织”栏目中肯定是名列前茅的。事实也确实如此,它们分列“Loved vs.Dreaded”一栏中的前两位。图 8-Stackoverflow Developer Survey 2022 之让人“爱恨交织”的基础工具 而且,在“Want”一栏,它们拥有着一骑绝尘的态势。96 2022 年度技术盘点与展望年度技术盘点与展望 图 9-Stackoverflow Developer Survey 2022 之大家最想学习的基础工具 顺便说一句,在“爱恨交织”栏目里,同样拥有“一骑绝尘”态势的还有

193、 Visual Studio Code(以下简称 VSCode)。图 10-Stackoverflow Developer Survey 2022 之大家最想学习的集成开发环境 97 2022 年度技术盘点与展望年度技术盘点与展望 作者为什么会在这里提到 VSCode 呢?因为,在 2022 年订阅我的技术专栏的读者当中,非 gopher(gopher 的意思是 Go 语言粉丝)的人明显增多。他们问的最多的一个问题就是:“要是使用 Go 语言开发程序的话,有哪些好用的代码编辑器或者 IDE吗?”我的回答一般都是 VSCode 和 GoLand。微软公司出品的 VSCode 是 Go 语言爱好者

194、最常用的免费代码编辑器。我们使用它时,外加 Go 语言官方团队出品的 vscode-go 插件就基本上可以满足平常的需求了。而 GoLand 是 JetBrains 公司出品的,但它收费而且价格不菲。作者在这里绝不是给JetBrains 公司做广告,但是 GoLand 真的很贵、很好用。如果你对于配置编程工具非常不耐烦,并且预算很充足的话,那么我会强烈推荐你使用 GoLand。顺便说一句,如果你是 Vim 那一派的话,Go 社区中也有相应的 vim-go 插件。好了,关于 Go 语言发展趋势的整体解读,我们就暂告一段落吧。下面,我们从更新迭代的角度来看看 Go 语言在 2022 年都有哪些进展

195、。年度回顾 支持泛型 Go 语言在 2022 年最大的变化莫过于添加了对泛型(generics)的支持。这对于 Go 98 2022 年度技术盘点与展望年度技术盘点与展望 语言的广大使用者来说,也是感受最明显的变化。早在 2022 年 2 月正式发布的 1.18 版本,Go 语言就包含了类型参数提案(即 Type Parameters Proposal)中描述的通用功能的实现。这包括了需要对 Go 语言本身进行的主要的更改。注意,这些更改是完全向后兼容的。这也是 Go 语言官方对于 Go 1.x版本更新的一贯原则和保证。Go 语言官方团队为此编写和修改了大量的代码。虽然这些代码并未经过超大规模

196、的验证,但是 Go 语言团队对它们的质量和功效是非常有信心的。不过,也不排除这种可能:一些使用泛型的代码适用于 1.18 版本,但在以后的版本中会变得无效,或者说需要稍加修改才能使其有效。因为,这次为了支持泛型的改动实在是太大了。按照Go 官方的说法,这种不完全兼容的可能性会被尽可能减小,但是无法对此做出 100%保证。虽然我们都喜欢 100%确定的东西,但是万事万物都不可能有 100%的稳定性和可预测性。尤其是,对软件开发有一定理解的朋友们肯定都知道,没有哪一个软件是没有bug 的,也没有哪一个软件功能可以保证 100%的正确。所以,我们需要用更加宽容的心态来看待 Go 语言的这次超大级别的

197、更新。实际上我们也不用太过担心。因为从 Go 语言的 issue 列表上看,泛型相关的 bug 如今也已经发现和修复得差不多了。Go 语言的泛型已经趋于稳定,我们已经可以放心地将其用在生产级代码上了。从语法上说,Go 语言的类型参数(可以理解为“泛型”的另一种称谓)并未使用那个在其他编程语言中常见的尖括号(即“<”和“>”),而用的是方括号(即“”和“”)。99 2022 年度技术盘点与展望年度技术盘点与展望 这也是程序员们感受的最大一点不同。请注意,我们在这里所说的“对泛型的支持”实际上是“对自定义泛型的支持”。因为 Go 语言内置的一些数据类型从一开始就是支持泛型的,比如:va

198、r map1=mapintstring 或者 var slice1=string 然而,在 Go 1.18 之前,使用者们自己编写的函数或者类型是无法添加泛型定义的。下面重点来了。在 Go 1.18 中,对泛型的具体支持都有哪些呢?请看下文。1.自自定义的函数声明或类型声明都可以包含类型参数。定义的函数声明或类型声明都可以包含类型参数。请看如下代码:type PairK int,E string struct Key K Elem E 所谓的类型参数声明,其实就是对一个类型所涉及到的关联类型的泛化定义。例如,对于结构体类型中的每个字段,我们都必须分别定义其类型。这些字段的类型就是它们所属的结构

199、体类型的关联类型。这里的泛化定义的意思是,我们在声明一个类型的时候,并不指定它的关联类型具体是哪一个或哪几个,而只定义相应的范围。等到这个类型被实例化的时候,再由那个 100 2022 年度技术盘点与展望年度技术盘点与展望 编写实例化代码的程序员去设定类型参数的具体信息。这样的话,我们就可以定义出更加抽象的类型,而把具体化的工作留给使用它的人。这与“声明接口类型,并把其作为某些函数参数或变量的类型”的编程手法有着异曲同工之妙,都是为了提升代码的灵活性,并增强其扩展的能力。不过需要注意的是,类型参数的值与函数参数的值或变量的值是不同的。一个类型参数的值必须是代表了某个已存在类型的标识符(或者说类

200、型字面量)。另外,类型参数值代表的既可以是结构体这样的具体类型,也可以是接口那样的抽象类型。而函数参数或变量的值,则必须是某个具体类型的确切值。另一方面,Go 语言的类型参数声明与它的函数参数声明是类似的。在上述代码的方括号中,K和E分别是两个类型参数的标识符,类似于函数参数的名称。而int和string 则分别是两个类型参数的类型约束(type constraint),类似于函数参数的类型声明。至于在 int 和 string 的前面为什么会有“”这个符号,我们稍后再说。正因为结构体类型 Pair 的声明里包含了类型参数 K 和 E 的声明,所以在它的主体当中,我们自然可以自由地使用 K 和

201、 E。如代码所示,我们把 Pair 的字段 Key 的类型声明为 K,并把字段 Elem 的类型声明为 E。这样一来,Pair 的类型参数就与其主体实现了联动。这种联动将会在我们对 Pair 类型进行实例化的时候得以体现。2.对于带有类型参数的函数或类型,可以通过在它们的名称后面追加方括号并指定对于带有类型参数的函数或类型,可以通过在它们的名称后面追加方括号并指定相应的类型参数值来进行实例化。相应的类型参数值来进行实例化。示例如下:var pair1 Pairint,string=Pairint,string 101 2022 年度技术盘点与展望年度技术盘点与展望 Key:1,Elem:a,我

202、们在这里声明了一个 Pairint,string类型的变量 pair1,并把一个 Pairint,string类型的值赋给了它。请注意,我们在对一个带有类型参数的类型进行实例化的时候,也必须对它的类型参数进行实例化。在这里,Pairint,string中的 int 和 string 就是分别对 Pair 的类型参数 K 和 E 的实例化。还记得吗?我们当初在声明 Pair 类型的时候,把它的类型参数列表编写成K int,E string。其中,int 是类型参数 K 的类型约束,而string 则是类型参数 E 的类型约束。那么,这里的 Pairint,string中的 int 和 strin

203、g,分别作为 K 和 E 的值就是合法的,可以通过编译。至于为什么,我们马上就会说到。先接着看其余的代码。因为在 Pair 类型的声明当中,字段 Key 的类型声明是 K,字段 Elem 的类型声明是 E。所以,在实例化 Pairint,string的时候,我们自然就可以把某个 int 类型的值(这里是 1)赋给 Key,并把某个 string 类型的值(这里是a)赋给 Elem。3.新新符号符号“”已被添加到了运算符和标点符号的集合中。已被添加到了运算符和标点符号的集合中。我们再看 Pair 类型的声明:type PairK int,E string struct Key K Elem E

204、102 2022 年度技术盘点与展望年度技术盘点与展望 我们大可以把这里的符号“”理解为“潜在”。代码“K int”的意思是,只要一个类型(假定为 A)的潜在类型是 int,那么就可以满足我们在这段代码中对 K 所做的类型约束,这就意味着A类型的字面量可以作为类型参数K的值。同样的道理,代码“E string”的意思是,只要一个类型(假定为 B)的潜在类型是string,那么就可以满足我们在这段代码中对E所做的类型约束,这就意味着B类型的字面量可以作为类型参数 E 的值。也正因为如此,类型 Pairint,string才是合乎语法规则的,它的类型参数都已通过了有效的实例化。至于什么是“潜在类型

205、”,Go 语言规范对此有明确的解释。具体内容是:每个类型 T都有一个潜在类型。如果 T 是 Go 语言内置的布尔类型、数字类型、字符串类型之一,或者是某个类型字面量,那么相应的潜在类型就是 T 本身。否则,T 的潜在类型就是T 在其声明中引用的类型的潜在类型。下面举个例子。如果我们又编写了如下代码:type MyInt int type MyStr string 那么,对于当前的 Pair 类型声明来说,下面的代码也是合法的:var pair2 PairMyInt,MyStr=PairMyInt,MyStr Key:2,Elem:b,更确切的说,类型 PairMyInt,MyStr是合乎语法规

206、则的。因为,从前面的说明和代码可知,MyInt 的潜在类型是 int,而 MyStr 的潜在类型是 string。它们分别符合 Pair 类型的声明里对类型参数 K 和 E 的定义。103 2022 年度技术盘点与展望年度技术盘点与展望 4.接接口类型的声明中现已允许嵌入任意类型,以及由符号口类型的声明中现已允许嵌入任意类型,以及由符号“”联联结的联合类型和由结的联合类型和由T 代表的类型元素,而不只是之前允许的其他接口类型。不过,这样的接口只能代表的类型元素,而不只是之前允许的其他接口类型。不过,这样的接口只能用于泛型中的类型约束。用于泛型中的类型约束。这段话是什么意思呢?我们来详细解析一下

207、。为了配合 Go 语言对泛型的支持,官方团队对接口类型的声明语法做了很多的增强。使用 Go 语言的程序员们都知道,以前的接口声明只能像下面这样:type Reader interface Read(p byte)(n int,err error)或者这样:type ReadCloser interface Reader Close()error 也就是说,在接口类型声明的主体中,我们可以嵌入任意数量的非重复的方法声明,也可以嵌入任何其他非重复的接口类型(用接口名称来代表)。我们称这两者为合法的接口元素。但除此之外,我们就不能添加任何东西了。然而,从 Go 1.18 开始,合法的接口元素又多了一

208、种。Go 官方把这种接口元素称为类型集合(type set)。一个类型集合可以仅包含单独的类型(由类型的名称代表,如:T),也可以包含代 104 2022 年度技术盘点与展望年度技术盘点与展望 表了某个潜在类型的T,还可以是联合类型(如:T1T2T3,其中的符号“”可以被理解为“并集”),甚至可以是它们的混合(如:T1T2T3)。而且,对此我们可以分多行来写,只要它们所代表的类型是具体的且不存在重复即可。不过要注意,包含了类型集合的接口类型只能被用在泛型相关的类型约束当中。例如,有如下代码:type FloatUnion interface float32|float64 type Float

209、Maker interface FloatUnion MakeZero()可以看到,含有类型集合的接口 FloatUnion 是可以被嵌入到其他接口类型的声明里面的(或者说,其他的接口类型可以扩展 FloatUnion 接口)。但如此一来,不但FloatUnion 接口不能被用作任何值、变量、字段、参数、结果的类型,而且FloatMaker 接口也会是这样。换句话说,对这种接口的用途限制具有传递性。5.新的内置标识符新的内置标识符 any 是空接口的别名。它可以代替是空接口的别名。它可以代替 interface。这一条说得很直白。单词 any 现在属于关键字了。它代表了空接口,也就是inter

210、face。但是,空接口本身的含义却因泛型支持的出现而增多了。从 Go 1.18 开始,空接口自带类型集合,并且它的类型集合包含了所有的非接口类型。注意,这里的“所有”不但代表当前已存在的所有非接口类型,而且还囊括了将来会在程序中出现的所有非接口类型。也就是说,空接口的类型集合拥有无限多的非接口类 105 2022 年度技术盘点与展望年度技术盘点与展望 型。这与空接口的设立初衷是一致的,即:空接口是包罗万象的,也是类型之树的唯一树根。在 Go 语言中,任何接口都是空接口的扩展接口,任何类型都是空接口的实现类型。这样来看,任何类型,不论是抽象类型还是具体类型,都是对空接口所代表的类型空间的进一步圈

211、定。对于类型参数中的类型约束来说也是这样。空接口的类型集合包括了无限多的非接口类型,这使得任何类型约束所代表的类型集合都将是空接口的类型集合的一个子集。这是“进一步圈定”的另一种表现形式。因此,空接口在 Go 语言全面支持泛型之后,依然能够作为其类型系统的根基。6.新新的内置标识符的内置标识符 comparable 也代表一个接口类型。也代表一个接口类型。顾名思义,comparable接口的含义是“可比较的”。只要一个类型符合以下两种情况中的一种,我们就可以断定它实现了 comparable 接口:这个类型不是接口类型,并且它的值可以通过使用操作符=或!=进行比较。这个类型是接口类型,而且其类

212、型集合中的每一个类型都实现了 comparable 接口。比如,像 int、float32、rune、string 这样的基本类型肯定都实现了 comparable 接口,而切片(slice)类型、字典(map)类型以及任何的函数类型肯定就不是comparable 接口的实现类型。再比如,我们在前面声明过的 FloatUnion:type FloatUnion interface 106 2022 年度技术盘点与展望年度技术盘点与展望 float32|float64 可以确定它肯定实现了 comparable 接口。但如果我们把其中的float64 替换为float64,那么它就不再是 com

213、parable 接口的扩展接口了。请注意,comparable 接口,以及任何直接或间接地嵌入了(或者说扩展了)comparable 的接口都只能被用于类型约束。它们不能被用作任何值、变量、字段、参数、结果的类型。显而易见,与 any 接口一样,comparable 接口也是专门为了类型参数(或者说泛型)才引入的。同样的,comparable 接口也自带了类型集合。它的类型集合包含了所有可以被比较的类型。这样的类型既可以是已经存在的,也可以是尚未出现的。除了上述 6 个很重要的改动之外,Go 团队还为使用者们准备了 3 个实验性质的代码包。这些代码包并不在 Go 标准库当中,而是位于 Go 语

214、言官方专门设立的实验包golang.org/x/exp 里。这意味着,它们的 API 并不在 Go 1.x 的兼容性保证范围之内。并且,随着 Go 团队对泛型支持的进一步深入,这些代码包也可能会发生非向后兼容的变化。具体如下:代码包 golang.org/x/exp/constraints:其中包含了对泛型编程非常有用的一些类型约束,如 constraints.Ordered 接口等等。代码包 golang.org/x/exp/slices:其包含了不少对于切片操作非常有用的函数。而且,对于这些函数所操作的切片,其元素类型可以是任意的。比如,泛型函数func BinarySearch(x E,

215、target E)(int,bool)、func CompactS E,E comparable S、func SortE constraints.Ordered 等等。从这些函数的签名上我们就可以看出,107 2022 年度技术盘点与展望年度技术盘点与展望 它们的通用性都得益于泛型。这样的通用性在 Go 语言支持泛型之前都是不可能存在的。代码包golang.org/x/exp/maps:与golang.org/x/exp/slices包类似,其中包含了一些针对字典的非常通用的泛型函数,如:func ClearM mapKV,K comparable,V any、func CloneM map

216、KV,K comparable,V any M、func KeysM mapKV,K comparable,V any K 等。真正了解Go语言的程序员们肯定都知道,Go 团队经常会向 golang.org/x/exp包中放入一些实验性的代码。他们往往会通过这种方式来实现一些或新鲜或激进的想法。如果某些代码在这里通过了使用者们的检验,并被认为已经足够成熟,那么它们就有希望被添加到 Go 语言的标准库当中。Go 团队正是依靠这种渐进式升级的方式,在保证标准库稳定的同时,使其创新性得以延续。再说回泛型。尽管 Go 语言团队为了泛型做了如此多的工作,但到目前为止,Go 语言的泛型实现仍然存在一些小限

217、制(主要体现更加细致的编程语法、值成员访问等方面)。不过,这些小限制在大多数情况下并不会妨碍我们在应用程序中使用泛型。而且,Go 语言团队也已经预告将在未来的版本中对此进行改进。所以,作者就不在这里一一列举了。到这里,相信大家已经有所体会,“支持泛型支持泛型”可以说是可以说是 Go 语言正式发布以来最大、语言正式发布以来最大、最复杂且最重要的一项变化了最复杂且最重要的一项变化了。很显然,Go 语言本身的泛型支持工作离彻底完成还有一小段距离。而对于对于 Go 语言的技术社区来讲,更加重要的是,这项变化将意味着语言的技术社区来讲,更加重要的是,这项变化将意味着Go 语言生态系统的大规模翻新语言生态

218、系统的大规模翻新。到目前为止,Go 语言的生态系统已经非常庞大。因此,Go 语言的这项变化将会给 108 2022 年度技术盘点与展望年度技术盘点与展望 Go 社区带来很可观的压力。那些 Go 程序员们常用的第三方开发框架和工具必然需要一定的时间才能够跟进这项变化,而完美契合这项变化也许还需要更多的时间。这其实也是 Go 团队当初在考虑“是否添加泛型支持”的时候,涉及到的一个很重要的负面因素。但无论如何,Go 语言在这件事情上的第一步(也是非常重要的一步)已经迈出并平稳落地了。我们现在只希望,Go 语言以及 Go 语言技术社区能够在这个良好的基础之上继续稳步前行、平滑过渡。模糊测试 我们都知道

219、,Go 语言原生支持的测试已有三种,即:功能测试、基准测试(或称性能测试),以及示例测试。而从 1.18 版本开始,Go 语言本身支持的测试又多了一种,那就是模糊测试(fuzz test)。所谓模糊测试是一种自动化测试技术,这种测试可以通过不断地调整应用程序的输入值来试图查找应用程序内部可能存在的错误,尤其是那些我们平常不太能注意到(或称边缘情况)的错误。正因为不太能注意到,所以在编写测试代码的时候,我们往往会有意或无意地忽视掉它们。这个时候,模糊测试就可以被用来查缺补漏了。而且,这种查缺补漏也是非常重要的,特别是在面向安全的测试当中。这里所说的模糊,其含义是对应用程序的输入值(或者说参数值)

220、的模糊。更确切地讲,模糊测试程序会对应用代码(如函数、结构体、接口方法等)进行若干次调用。而每一次调用都会在预先准备好的语料库(corpus,此为模糊测试的专用术语)当中随机地挑选出一个条目(corpus entry),并把该条目作为参数值输入给应用代码。109 2022 年度技术盘点与展望年度技术盘点与展望 请注意,模糊测试的语料库与我们熟知的普通单元测试(如功能测试、基准测试等)的测试用例在生成方面有一个很大的不同。在普通的单元测试中,测试用例都是需要我们专门去准备的。这也算是普通单元测试的一种局限性。因为测试用例的规模与我们的测试工作量是成正比的,而且起码是线性的关系。我们越想全面地测试

221、应用代码,我们的工作量就越大。由于我们的精力和时间是有限的,而且也不可能无限期地测试下去,因此普通的单元测试在测试覆盖度方面就会存在天然的限制,而且很难突破。而在模糊测试中,语料库的生成是自动化完成的。模糊测试程序会自动生成一定规模的语料库。而我们只需事先向它提供一个规模非常小的种子语料库(seed corpus),甚至只包含一两个条目就可以。这个种子语料库存在的目的,只是为了指导模糊测试引擎对语料库的自动生成,比如,单个语料库条目里需要包含几个输入值,以及每个输入值都是什么类型的,诸如此类。假设,作为测试目标的函数 A 只有一个参数,那么种子语料库中的每个条目只包含一个值即可。如果作为测试目

222、标的函数 B 有两个参数,那么种子语料库里的单个条目就应该包含两个值。以此类推。当然了,没有任何一个工具是完美的。虽然模糊测试可以大大地节省我们的测试工作量,但它也有一个小缺点,那就是:我们无法对语料库提供的参数值进行精细的控制。更确切地说,在模糊测试的过程中,我们不能确定应用代码每次被调用时接收到的输入值具体是什么。在某些情况下,这可能会妨碍我们对应用代码返回的输出值(或者说结果值)的正确性判断。倘若确实需要,我们可能就要额外添加一些测试代码来做专门的判断了。如果这样的情况很多,那么我们可能还需要重新权衡是否一定要使用模糊测试,而不是用普通的功能测试或基准测试。110 2022 年度技术盘点

223、与展望年度技术盘点与展望 好了,到了这里,想必大家已经大致了解模糊测试是什么,以及我们大概应该如何运用它。至于具体怎样给 Go 程序做模糊测试,其实还是很简单的。它与之前已经存在的功能测试和基准测试的编写方式大同小异,我们稍微迁移一下以前的测试经验就基本上可以搞定。因此,作者在这里就不再赘述了。如果你想对此做深入了解,那么可以去访问 fuzzing landing page 以及 the fuzzing proposal。工作区模式 Go 语言的工作区模式(go workspace)是建立在 Go 模块模式(go module)之上的一种项目管理模式,主要体现在 go 标准命令之中。Go 模块

224、模式在 2021 年发布的 Go 1.17 中已经完全稳定下来了。我们可以通过 go mod 命令来创建和管理我们的 Go 模块。如果我们开发的 Go 项目已经达到了一定的规模,那么往往就需要把它拆分成多个模块,以便让它继续保持高内聚、低耦合的状态。这对于代码和项目的维护都是相当有利的。比如,我们有一个名叫 MyProject 的 Go 项目(同时也是一个 Go 模块)。它的存放路径是/path/go/haolin/Demo/MyProject。现在,我们想把其中的一些基础代码分离出来,以便进行独立的开发和维护。我们仔细地抽出那些基础代码,并它们放入到了一个名叫 MyLib 的模块中,并同样存

225、放在/path/go/haolin/Demo 目录之下。这两个模块分别有自己的go.mod文件。MyProject模块在它的go.mod文件中的名称为 MyLib 模块在它的 go.mod 文件中的名称为 过 请 注 意,这 两 个 模 块 并 不 实 际 存 在 于 网 址https:/ 之下。这里只是作为示意而已。111 2022 年度技术盘点与展望年度技术盘点与展望 在这之后,我们在 MyProject 模块里导入并使用 MyLib 中的代码包。但当我们想编译MyProject 模块的时候却发现,go 命令无法正确编译 MyProject,提示找不到 MyLib里的那个代码包。碰到这种情

226、况,我们需要在 MyProject 所在的路径下运行:$go mod edit-replace 这条命令的主要功能是,在 MyProject 模块的 go.mod 文件中加入如下内容:replace 其含义是,将本模块中的源码文件里的 定位到本地的路径(即/path/go/haolin/Demo/MyLib)之上。做好以上准备工作后,我们再在同样的路径下运行:$go get 其功能是,在对应的 go.mod 文件中添加相应的依赖包信息。好了,现在我们再次编译 MyProject 模块就不会有问题了。因为我们已经把本地的MyLib 模块正确地设置为了 MyProject 模块的依赖包。不过,这里

227、有一个问题,上述的 replace 指令中存在一个本地的路径。如果开发这两个模块的人不止我一个,也就是说需要通过多人协作来开发项目,那么,我这里的本地路径在别人那里就是不正确的了。因为不同的开发者几乎不可能确保把同一个项目存放在自己的计算机中的相同路径之下。我们常常称这类问题为“本地路径问题”。这个时候,Go 语言的 workspace 模式(也就是工作区模式)就派上用场了。具体的做法是,我们在/path/go/haolin/Demo 这个路径(也就是 MyProject 模块和 MyLib 模 112 2022 年度技术盘点与展望年度技术盘点与展望 块的上一级目录的路径)之下运行:$go w

228、ork init$go work use./MyLib 这里的第一条命令的功能是,把路径/path/go/haolin/Demo 所代表的目录设置为 Go工作区。它会在这个路径下添加一个名为 go.work 的文件。第二条命令的功能是,让子目录./MyLib 所代表的模块成为该工作区的一个共用模块。如此一来,该工作区中的其他 Go 模块就可以直接导入并使用 MyLib 模块中的代码包了。此外,我们还需要在 MyProject 模块所在的路径下运行命令:$go mod edit-dropreplace= 并以此删除掉对应的 go.mod 文件中包含的那个带有本地路径的 replace 指令。由于

229、我们前面针对(/path/go/haolin/Demo 路径所代表的)相应 Go 工作区的设置,这里的这个 replace 指令的消失并不会造成任何问题。MyProject 模块依然可以通过编译。至此我们可以看到,由于 Go 工作区模式的出现,我们的 Go 项目无论包含有多少个模块,也无论需要多少人进行怎样的协作调试和开发,都不用担心出现“本地路径问题”。这给团队级别的项目开发,尤其是大规模的协作开发,带来了非常大的便利。我们终于不用再为此频繁地修改 go.mod 文件了。这个 Go 项目管理上的痛点终于被消除了!内存模型更新 在 1.19 版本中,Go 语言的内存模型已经过了修改(详见 th

230、e Go memory model)。113 2022 年度技术盘点与展望年度技术盘点与展望 这使得它与其他编程语言如 C、C+、Java、JavaScript、Rust 和 Swift 使用的内存模型保持了一致。Go 语言只提供可以保证访问顺序一致性的原子操作,而不是像其他编程语言那样使用更加宽松的形式。更确切地说,在 Go 语言中,除非直接或间接地使用了相应的原子操作,否则并发地读写共享的数据必会引发数据竞争(data race)。顺便说一句,从根本上讲,Go 语言标准库中提供的其他同步或异步的数据访问工具基于的其实都是原子操作。随着内存模型的更新,Go 1.19 在 sync/atomi

231、c 包中加入了一些新的类型,如atomic.Bool、atomic.Int32、atomic.Int64、atomic.Uint32、atomic.Uint64,以及atomic.Uintptr 和 atomic.PointerT。很显然,与 sync/atomic 包中原有的诸如AddXXX、CompareAndSwapXXX、LoadXXX 之类的原子函数相比,新的原子类型可以帮助我们更加方便和彻底地运用原子操作,同时也可以避免很多容易发生的编程失误。不得不说,我们已经等待这些原子类型很久了。到这里,作者已经对 Go 语言在 2022 年的重大更新进行了相应的说明。这其中的重中之重肯定是泛

232、型,所以作者对此的着墨也明显更多。至于那些在作者看来不那么重要或相对较小的更新,大家可以去浏览 Go 语言官方出具的版本说明(Go 1.18 Release Notes 和 Go 1.19 Release Notes),这里就不一一列出了。未来展望 实际上,与 Go 1.18 相比,Go 1.19 算是一个更新量很小的版本迭代。这主要是因为,114 2022 年度技术盘点与展望年度技术盘点与展望 在影响巨大的特性加入之后,Go 语言及其团队和社区确实需要一段时间去消化它。这里其实有很多的工作要做,比如:进一步评估和验证、功能调整和修补、社区推广和反馈收集、代码优化和改进、文档补全和细化,等等。

233、不过,在明年即将发布的 Go 1.20 当中,随着上述工作的稳步推进和趋于完善,还是有一些值得关注的新东西的。下面只列举作者认为最喜闻乐见且可能最常用的几个更新:支持同时囊括多个其他错误值的单个错误值支持同时囊括多个其他错误值的单个错误值:届时 errors 包中会提供一个新的函数 Join,用来把多个错误值包装成一个单一的错误值。另外 fmt.Errorf 函数也将允许在其模版字符串(即第一个参数值)中出现多个(用于包装错误值的占位动词)%w。函数 errors.Unwrap 到时候也会以error(即 error 的切片)作为结果值的类型,而不是之前的 error,以便一次性地返回所有被包

234、装的错误值。这无疑大大增加了错误包装代码的灵活性,并间接地加强了错误判断代码的功能。sync.Map 的增强的增强:sync.Map 类型里将会出现几个新方法,如 Swap、CompareAndSwap、CompareAndDelete 等。这些方法将如 sync/atomic 包里的相应函数那样,可以让单一的原子操作中包含多个动作。在 sync.Map 的场景下,这将支持针对键值对的更加复杂的原子操作,如上述方法所对应的比较并更新、比较并删除等。使用过 sync.Map 的程序员们应该都知道,对于这种操作,我们在之前不得不使用额外的同步工具来保证其并发的安全性。支持从切片到数组的转换支持从切

235、片到数组的转换:我们都知道,把数组转换成切片很容易,只要在一个数组上执行切片操作就可以得到一个指向那个数组的切片。这样的切片就相当于一个架设在数组之上的窗口。然而,现在的 Go 语言却不支持对应的反向操作。虽然我们通过少许的魔法代码就可以实现这样的操作,但是它肯定没有“array2:=115 2022 年度技术盘点与展望年度技术盘点与展望 5int(slice1)”这样的代码方便。后者正是将会在 Go 1.20 中合法化的代码,只一行就能完成从切片到数组的转换。不过要注意,上面这小段代码只会返回 slice1 的底层数组的副本,而不是这个底层数组本身。所以,我们之后对 slice1 中元素的修

236、改将不会影响到 array2(但肯定会继续影响到 slice1 的底层数组)。顺便提一下。已经在 Go 社区中引发热议的代码包 arena 及其配套代码可能会在 1.20版本中以实验特性的方式出现。作者很看好 arena,因为它可以在某些情况下大大地减少内存分配和释放的次数,从而显著减轻 GC 的压力。在作者看来,arena 包的功能类似于 Zig 编程语言中的内存分配器(allocator)。不过相比之下,Go 语言的实现肯定是大大简化的,因为它在 Go 语言中只需起到一定的辅助作用即可。整体来看,其做法是,在需要使用大块内存时先通过 arena 包中的API 进行显式的内存空间申请,然后再

237、根据实时的需要对其中的子空间进行取用,最后当无需再使用这块内存的时候再利用 arana 中的 API 进行整体释放。简单来说,这属于一种“整体化分配、碎片化使用、整体化释放”的内存空间使用范式。关于它更详细的说明可参看 Proposal:arena:new package providing memory arenas。除了上述这些,Go 1.20 还会对编译器、标准工具、标准库等方面进行诸多的改进,详情可查看 Go 1.20 Release Notes(DRAFT)。如果在你阅读这篇文章的时候,Go 1.20 已经正式发布了,那么就可以直接去看 Go 1.20 Release Notes。总

238、结 好了,我们现在来快速地总结一下。116 2022 年度技术盘点与展望年度技术盘点与展望 Go语言在2022年的最大更新莫过于对自定义泛型类型和泛型函数的支持。新增的模糊测试 API 和工具将显著减少程序员们的测试工作量。工作区模式让我们在同时开发多个Go模块,尤其是多人协作开发的时候方便了许多(解决了一个很明显的痛点)。而在内存模型方面的修改则进一步增强了 Go 语言在数据访问方面的一致性保证。在2023年,Go语言将继续全方位地优化和改进其在各个方面的功能和性能。我们在前面已经列举了 Go 官方团队在错误处理、并发编程、便捷语法、内存管理方面的计划。作者相信,这些计划将会有条不紊地进行,

239、并在将来让 Go 语言成为更加优秀、更加流行的编程语言。希望大家继续关注 Go 语言和 Go 技术社区,尤其是国内的 Go 技术社区。同时,作者也希望能有更多的小伙伴参与到 Go 社区的建设甚至 Go 语言本身的改进当中去。如果正在阅读本文的你还没有尝试过Go语言,那么别再犹豫了,赶快到这里下载Go语言,并开始尝试编写 Go 程序吧!1.Go 1.18 Release Notes:https:/go.dev/doc/go1.18 2.Go 1.19 Release Notes:https:/go.dev/doc/go1.19 3.Go 1.20 Release Notes(DRAFT):htt

240、ps:/tip.golang.org/doc/go1.20 4.其他相关的 Go 语言官方文档 5.Go 语言源码及其修改记录 作者简介作者简介 郝林,国内知名编程布道者、技术社群 GoHackers 的发起人和组织者,微信公众号“螺旋码”(视频号同名)主理人。发布过多个 Go 语言技术教程,包括开源的Go 命 117 2022 年度技术盘点与展望年度技术盘点与展望 令教程、极客时间的付费专栏Go 语言核心 36 讲,以及图灵原创图书Go 并发编程实战,等等。其中专栏和图书拥有数万订阅者或购买者,开源教程 star 数也有数千。另外,他还在 2020 年出版了一本名为Julia 编程基础的技术

241、图书。118 2022 年度技术盘点与展望年度技术盘点与展望 大数据管理工具走向更易用与专精,但中外发展现状存在明显差异|解读大数据的 2022 作者:王宇飞 本文是“2022 InfoQ 年度技术盘点与展望”系列文章之一,由 InfoQ 编辑部制作呈现,重点聚焦大数据管理工具在 2022 年的重要进展、动态,希望能帮助你准确把握2022 年大数据领域的核心发展脉络,在行业内始终保持足够的技术敏锐度。作者:王宇飞,字节跳动数据平台开发套件技术负责人作者:王宇飞,字节跳动数据平台开发套件技术负责人 119 2022 年度技术盘点与展望年度技术盘点与展望 以云数仓为中心的数据架构开始形成 数仓的发

242、展历程 纵观整个数仓的发展历程,笔者认为大体上可以分为 4 个阶段:第 1 阶段:传统的一体机数仓,代表产品有 Oracle Exadata、IBM Netezza 等;第 2 阶段:基于 MPP 架构的数仓,它可以实现软硬件分离,数据不用再存储在特定的服务器上,代表产品有 GreenPlum、Vertica 等;第 3 阶段:随着互联网发展,企业数据量迅速增长,擅长处理海量数据的 Hadoop框架和生态得到了普及与发展,诞生了依托Hadoop生态的批处理等模式,代表产品有 Hive;第 4 阶段:伴随云的发展,云上数据仓库解决方案日趋成熟,进一步降低了用户使用成本,这个阶段的代表产品有 Am

243、azon Redshift、Snowflake 等;尽管在当下,第 2、3、4 阶段的数仓产品仍处于共存状态它们仍旧分别被各类企业所使用,但在企业数字化转型和企业上云的整体趋势背景下,我们有理由相信,未来处于第 4 阶段的云数仓,将会被越来越多的企业采用。云数仓架构的核心优势 在笔者看来,云数仓架构最显著的优势在于易用性进一步提升、成本进一步降低。尤其是新一代云数仓采用 shared everything 架构,所有节点共享底层云存储资源池,计算与存储分离,让存储及计算节点都具备灵活弹性扩展的能力。此外,可以以集中 120 2022 年度技术盘点与展望年度技术盘点与展望 化的方式解决安全信任和

244、数据共享等方面问题。相比基于 Hadoop 生态的数仓架构,用户不用再维护管理自己的集群,而是可以根据业务发展需要动态扩缩容。综合考虑硬件及自身维护数仓架构的研发等成本来看,云数仓也更有优势。云数仓开始成为企业的 single source of truth 随着过往数据生态系统的发展,企业其实已经积累了非常多的数据源,包括各种数据库、SaaS 服务等。尤其在海外,SaaS 发展更成熟,多源数据问题更加凸显。多源数据会给企业带来两方面的困扰:1.数据源之间点对点集成方式形成依赖,交织成复杂的网,维持数据间的同步越发困难;2.数据源之间都很孤立,形成一个个数据烟囱,数据很难整合起来发挥最大化价值

245、。因为云数仓的存储计算成本优势,以及随着现代数据堆栈的发展,让数据汇聚到云数仓及加工都更加便捷,这些都是企业选择云数仓作为中心存储的优势。当云数仓成为企业的 single source of truth 后,可以帮助企业基于整合后的数据更好地做出业务决策。121 2022 年度技术盘点与展望年度技术盘点与展望 数据工具更加易用与专精 数据管理成为企业基础设施增长最快的领域之一 A16Z 今年发布了世界排名前 50 的数据创业公司 https:/ 700 亿美元,2021 年数据管理支出占企业所有基础设施支出的五分之一以上。这 50 家创业公司的估值总计超过千亿美元,总融资额约 145 亿美元,

246、其中 20 家在 2021 年晋级独角兽行列。笔者认为,背后最主要的原因是数据使用的民主化对帮助企业快速成长起到了愈发关键的作用。这里面包括增长营销、业务诊断、结合机器学习赋能业务过程自动化等等,早已不再只是单纯的报表统计需求。而海外云数仓的发展,尤其像 Snowflake 的发展与崛起,进一步带动了整个大数据管理工具的生态发展,形成了目前的 Modern Data Stack。Snowflake 作为云中立的数仓,可以做到足够的开放兼容,利用生态的发展增强整体数据管理链路的竞争力。从其对生态公司的投资布局也能看出,涵盖了从数据转换、元数据管理到数据安全等多领域公司。122 2022 年度技术

247、盘点与展望年度技术盘点与展望 更多细分创新领域涌现,下一代行业标准正在悄然建立 新一代数据集成系统:ETL 向 EL(T)转变 过去,整个数据开发的基础核心链路是 ETL,即数据抽取加工后导入数仓。随着硬件成本的降低与云的发展,处理模型开始向 EL(T)的方式转变。EL(T)的优势在于把数据抽取和转换解耦,也就是EL和T,各自由独立组件完成,使得抽取过程可以更自动化,大大降低了数据导入这步的使用门槛。同时,由于 EL(T)可以让数据源更低成本地集成进来,进一步加速了云数仓成为 single source of truth 的进程。而做好一个数据集成系统主要的挑战有三点:1.架构可扩展性,不光是

248、数据源 connector 可插拔,还有不同场景的集成能力,包括批、流和 CDC;2.丰富的基础功能,作为一个垂直领域,数据集成存在很多独特的问题,比如脏数据、数据源承载能力、数据源类型不一致、数据源读写延迟、任务读写监控等;3.系统稳定性,这对于数据量大的企业而言是非常明显的痛点,比如如何保证几十万任务的海量数据传输;4.数据质量,如何做好数据的不重不丢,及异常数据的及时发现等问题。从行业发展来看,数据集成领域涌现了一些优秀的开源项目,每款产品都有着自身的特点,并聚焦解决其中一部分问题,以下是几种常见的解法:123 2022 年度技术盘点与展望年度技术盘点与展望 将易用性以及用户体验做到极致

249、,但架构比较简单,不支持分布式部署,容错性一般,处理能力以及场景比较受限;提供了丰富的数据集成基础功能,并将资源使用率做到极致,架构上基于单机多线程架构,不支持分布式和实时功能,使用场景比较受限;主打用户使用场景,支持离线、实时数据同步,并提供分布式的数据处理能力。但引擎资源开销较大,基础功能支持比较一般。字节基于内部的复杂场景和海量数据传输等需求,自研了一套提供离线、实时、增量场景下全域数据集成解决方案引擎,在架构及功能层面的优化包括:架构灵活性:connector 层、框架层、引擎层,每一层都采取可插拔的设计,同时connector 层、框架层做到完全与引擎解耦,整体结构比较清晰和灵活,可

250、扩展性较强。可以应对不同规模的数据同步场景,同时具备单机以及分布式能力,在引擎的选择上采取智能选择策略,兼顾小数据量场景的资源利用率以及大数据量场景的稳定性;集成能力完善性:在框架层提供了丰富的基础能力,比如异构数据源类型转换、脏数据处理、流控、自动并发度推断、任务运行监控、事件时间归档等;企业级稳定性:在特定导入场景,提供了更多的企业级特性,在性能、稳定性、成熟度上更有保障。比如 Kafka2Hive 通道,针对大数据量场景做了相关优化和重构,包括如何提升大并发场景下一致性快照成功率、提升大并发场景的容错性、兼容乱序写入场景等等。今年 11 月,我们已经把这套数据集成引擎 BitSail 正

251、式开源出来(https:/ 2022 年度技术盘点与展望年度技术盘点与展望 数据可观测性:概念骤热背后,数据质量和 SLA 重要性日益凸显 数据可观测性的核心是帮助企业解决更好地监控和改善企业内可交付的数据质量和效率等问题。通过持续监控、跟踪、警报、分析和故障排除事件来减少和防止数据错误或停机时间,同时能帮助用户了解组织的数据环境、数据管道和数据基础设施的健康状况。目前,Monte Carlo 等厂商正在大力推广“数据可观测性”这一概念。在笔者看来,数据可观测性概念背后要解决的问题即数据质量和 SLA 治理问题,并不是全新场景问题,但其重要性正在不断提升。核心驱动力来自两个方面:数据链路本身的

252、复杂程度升高:随着现代数据堆栈的发展,整个数据链路的建设需要多个不同的SaaS产品和服务,极大增加了数据端到端交付质量的运维和管理成本。数据对业务的重要性上升:数据驱动决策越来越普遍,故数据不及时或数据发生错误造成的成本也变得更高。决策对数据质量和实时性的依赖越高,对数据可观测性的需求也会越高。反向 ETL:数据进一步深入业务场景实现提效 反向 ETL 指的是将数据仓库加工好的数据同步到业务系统中,它处于数据集成(EL)的另一端,解决的是数据如何在消费端更好地发挥价值的问题。这种细分场景的出现,125 2022 年度技术盘点与展望年度技术盘点与展望 也是以云数仓为中心的场景扩展,意味着数据使用

253、深度增强。数据从之前的更多用于报表决策、分析等应用场景,开始过渡到更多地输出到企业的CRM 等系统,帮助优化业务流程和自动化决策等场景能力。这也是数据对业务重要性提升的一个表现。反向 ETL 让用户能够以无代码、自动化等低成本的方式提升业务场景的决策效率。典型的代表公司有 Hightouch、Census 等。DataOps 兴起,但行业标准尚未成型 图注:Gartner 2022 数据管理成熟度模型 126 2022 年度技术盘点与展望年度技术盘点与展望 Gartner 对 DataOps 的定义如下:DataOps is a collaborative data management pr

254、actice focused on improving the communication,integration and automation of data flows between data managers and data consumers across an organization.The goal of DataOps is to deliver value faster by creating predictable delivery and change management of data,data models and related artifacts.DataO

255、ps uses technology to automate the design,deployment and management of data delivery with appropriate levels of governance,and it uses metadata to improve the usability and value of data in a dynamic environment.简单来说,DataOps结合了软件工程DevOps理念,来解决数据端到端交付过程中的质量与效率问题,它是一套方法论,而不是单指某项技术或工具。2018 年,Gartner开始推

256、 DataOps 这个概念,2022 年 DataOps 进入到期望膨胀期,即越来越多的企业开始宣传和投资这个概念。在笔者看来,DataOps出现的核心驱动力还是数据对业务的影响和价值越来越大,所以需要更科学、更精细化的方式融入到整个数据开发、生产到交付的全链路中。而DevOps 已经发展多年,里面很多成熟的理念可以迁移到数据的开发交付链路中,比如持续集成、持续测试、持续监控等等。但行业整体还处于发展初期,大家对这个概念本身的理解也有差别,还没有真正形成基于普遍认可的业务实践达成的行业标准。从 Gartner 的 Hype Cycle 曲线也可以看出,DataOps 仍需要 2-5 年才能发展

257、得相对成熟。如何在 Data 场景下将 Ops 最优化落地,仍需各个厂商积极探索和完善。从字节的场景需求来看,眼下有以下两方面的 127 2022 年度技术盘点与展望年度技术盘点与展望 问题是大数据管理套件 DataLeap 在持续投入改进的。研发质量研发质量 这方面的痛点包括如何把口头研发规范应用到开发平台、如何降低由于代码问题或误操作等带来的数据事故,以及如何保障数据 SLA 链路的可观测性等问题。随着一个个场景的问题被解决,沉淀到产品上的能力一定程度上就是软件工程实践的场景迁移。比如,基于数据开发场景结合好 CICD、数据测试、版本管理等。研发效率研发效率 一方面是要制定合理的 Data

258、Ops 研发流程,另一方面是如何用更加自动化的方式把各领域工具很好地串联在一起,比如数据建模、数据质量监控、资产管理等目前都是不同的独立产品组件,并没能很好地串联起来。笔者认为海外的现代数据堆栈也有这类问题,虽然每个细分场景有独立产品支撑,提升了单场景易用性,但整体链路串联在一起反而提升了复杂度。目前已经有一些创业公司在尝试解决这个场景的问题,比如 Dataops.live 等。AI 能力进一步融入,释放更多人力 数据管理工具结合 AI 能力,在笔者看来是必然趋势。究其原因,一方面是人力成本日益攀升,而 AI 可以释放人力,让人力聚焦到更复杂的业务问题上、做更能激发创造力的事情;另一方面是随着

259、数据的民主化,企业收集和处理的数据量远超之前,尤其大型互联网公司的数据规模通常都能达到 EB 级,这种规模的数据管理运维复杂度 128 2022 年度技术盘点与展望年度技术盘点与展望 也急剧攀升,完全靠人来处理好是比较难的,而 AI 可以完全托管或协助管理。对于数据管理领域,AI可以在很多方面发挥作用。比如在数据治理方向,自动检测相似任务、利用 NLP 技术生成数据质量规则、冷热数据分级等;在数据开发方向,自动推断 Join 字段及代码片段等;在安全合规方向,智能审批及异常访问检测等。从发展阶段来说,AI在数据管理领域的应用还处于偏早期,大多数场景起到的是锦上添花的作用,仍有很大空间等待探索和

260、挖掘。结语 当前国内外大数据管理工具的发展现状还存在明显差异,具体体现在:国内的数据管理产品偏 all in one 形式,而国外现代数据堆栈在各领域都有细分的工具支持。以数据集成为例,国外数据转换和任务调度编排等每个领域都有独立的针对这个场景的厂商支持,国内则通常是一个厂商把几个领域场景的问题都解决了。整体上国内更重交付,产品力的打磨相比国外的细分SaaS产品存在一定劣势。国内私有化场景交付更多,而国外 SaaS 发展更成熟。国外 SaaS 产品的标准化程度更高,因此用户选择不同细分 SaaS 产品拼接组合的成本也更低。核心原因是国内外云的发展阶段不同,云的渗透率相差比较大,这也导致国内数据

261、工具生态还没有发展起来。而现阶段国内企业做数字化转型,需要有 all in one 的产品解决方案来支持。未来随着国内云的进一步发展,尤其是云数仓的崛起,笔者相信会 129 2022 年度技术盘点与展望年度技术盘点与展望 有更多优秀的细分领域 Data SaaS 工具涌现。这给我们带来的挑战和机遇是如何加速企业上云和数字化转型的过程,让企业有机会跳过工具能用的阶段,直接到好用。130 2022 年度技术盘点与展望年度技术盘点与展望 奇点已来,推进 All on Serverless 有哪 些 困 难、如 何 破 局?|解 读Serverless 的 2022 作者:阿里云开发者社区 从 201

262、2 年提出 Serverless 到今年 2022 年刚好十年。过去十年,上云是确定性趋势,在这个阶段企业一开始的关注点在于如何实现平滑上云。随着越来越多的企业上云,甚至很多企业系统第一天就是在云上构建,企业的核心关注点转变为如何更好地利用云的能力。131 2022 年度技术盘点与展望年度技术盘点与展望 在新的阶段中,云服务的角色也从单纯的提供资源,变成了企业构建应用的新平台,帮助企业尽可能减小机器运维等低价值重复工作,聚焦于业务的创新。云厂商的核心能力转变为企业提供Serverless云服务,消除用云复杂度,用更简单的方式提高资源利用率,帮助企业降低成本。这几年,不只是云厂商,大量的开源商业

263、产品也采用了 Serverless 模式,包括Confluent Cloud、MongoDB Atlas、Snowflake、Databricks 等。随着云厂商在存储、计算、中间件、大数据等领域推出越来越多的 Serverless 服务,云产品体系逐渐Serverless 化,也推动着 Serverless 架构从概念进入到大规模生产落地阶段。2021年 DataDog 发布 Serverless 研究报告,数据表明,从云原生初创公司到大型企业都在关注 Serverless,Serverless 生态已经超越了 FaaS,包含数十种服务,可以帮助开发人员构建更快、更动态的应用程序。Serve

264、rless 奇点己来,所谓奇点,是由平稳发展转向高速发展的转折点,这也意味着Serverless 在全行业的落地将全面爆发。但与此同时,我们也看到,一方面是企业关注度不断上升、行业开始落地,另一方面,企业和开发者也对 Serverless 存在一些困惑和顾虑。阿里云联合 InfoQ 收集了一些企业和开发者对现阶段 Serverless 的反馈,并于 12 月16 日举办了云原生 Serverless 开发者评测局线下沙龙,邀请了阿里巴巴研究员、阿里云智能云原生应用平台负责人丁宇、阿里云 Serverless 研发团队、上海慧游文化CEO 宋杰、德基网络科技有限公司大前端技术负责人刘晓伟以及南瓜

265、电影、宝马等企业技术负责人,一起探讨 All on Serverless 过程中的挑战和经验,以期给更多落地Serverless 的企业提供参考和借鉴。本文截取沙龙上的精彩发言。132 2022 年度技术盘点与展望年度技术盘点与展望 本文是“2022 InfoQ 年度技术盘点与展望”系列文章之一。Serverless 到底是什么 在谈论 Serverless 之前,我们先了解下,Serverless 是什么?2012 年,Serverless 概念正式登上舞台。2016 年,首届 Serverless ConF 将这项技术的讨论推向高峰。2017 年,阿里云推出国内首个重磅 Serverles

266、s 产品服务函数计算FC(Function Compute),让开发者只需要专注于业务逻辑开发,而不是把大量精力花在服务器等基础设施的管理上,从而快速兑现业务价值。2018 年至 19 年,伯克利连续发表两篇论文对 Serverless 做出定义,预测 Serverless将会成为云时代的最重要的计算范式,Serverless 获得了越来越多的关注。Serverless 是一个非常广义的概念,并不局限于计算。一般同时满足以下条件可称为Serverless 服务。第一、全托管服务。意味着企业使用抽象的服务化接口,而不是直接面对底层资源,也就没有安装、配置、维护或者更新软硬件的负担。全托管服务通常

267、也提供了内置的容错、安全、可观测能力,用户通常不需要再重新构建这些能力。第二、自适应弹性。意味着服务能够根据负载大小自动弹性伸缩,不但让系统能够支撑快速发展的业务,也大大提升了资源使用效率。第三、按实际用量付费。意味着只需根据实际的执行时间、流量或调用次数付费,降 133 2022 年度技术盘点与展望年度技术盘点与展望 低了成本。因此Serverless服务核心价值在于尽可能消除客户非功能性代码开发,简化应用基础设施管理的工作,从而实现研发效率的飞跃。上海慧游文化 CEO 宋杰亲历首届 Serverless Conf 现场,在他看来:Serverless 是一项非常颠覆的技术和解决方案,它和之

268、前出现的所有技术创新都有本质区别,因为它牵涉到的核心问题是商业模式的改变。“类似于机器语言到高级语言的飞跃,一下子类似于机器语言到高级语言的飞跃,一下子就简化了做企业级应用的程序员就简化了做企业级应用的程序员要关心的问题,复杂度大大降低要关心的问题,复杂度大大降低”。Serverless 引领下一代应用架构 Serverless 服务契合了研发模式演进的趋势,过去十年,各大云厂商都在不断将产品体系 Serverless 化。作为最早推进 Serverless 在中国落地的阿里云,Serverless 演进的过程,也是云计算的发展历程。阿里巴巴研究员、阿里云智能云原生应用平台负责人丁宇在分享中提

269、到,阿里云是国内最早做云计算的企业,从2009年成立开始,第一阶段从资源和IaaS开始做起,在这个阶段,很多技术被开源并开始大规模流行,包括大数据、AI、中间件等微服务和应用层的技术。从云的角度来看,这时候云厂商和开源具有非常好的协同关系,于是在云上出现了很多全托管的云产品。从企业客户角度来看,要确保应用在云上可靠、高效的运行,上云后的复杂度是非常高的,这时企业进入到想要更好用云的阶段,对于云的进化来讲,也开始向服务化的方式演进,也就是说,云开始从提供资源逐渐转变成提供服务。在这样的背景下,阿里云逐渐走向 Serverless 服务形态,包括诞生诸如计算类、存储 134 2022 年度技术盘点

270、与展望年度技术盘点与展望 类、数据类、数据库类、大数据类甚至音视频类等 Serverless 的产品。阿里云 Serverless 演进和实践 2017 年,阿里云推出 FaaS 产品函数计算 FC,这是一种以事件驱动为核心的全托管计算服务,用户只需编写代码并上传,函数计算就会自动准备好计算资源,以弹性、可靠的方式运行代码,并提供完整的可观测能力,大幅简化开发运维过程。第二年阿里云又推出了 Serverless 应用引擎 SAE,SAE 是业内首款面向应用的 Serverless PaaS 平台,屏蔽底层 IaaS 和 Kubernetes 的复杂度,提供了零代码改造、成本更优、效率更高的应用

271、托管方案,帮用户实现单体 Web 应用、微服务应用以及定时任务的Serverless 化。同年领先业界推出 Serverless 容器服务 ASK,基于弹性容器实例 ECI(Elastic Container Instance),实现 1min 扩容 2000 个 pod,降低了 Kubernetes 使用门槛,让用户更专注应用程序,而非管理底层基础设施。2020 年阿里云开源 Serverless Devs,成为业内首个支持主流 Serverless 服务/框架的云原生全生命周期管理的平台。2022 年 9 月该项目正式进入 CNCF Sandbox,也成为业内首个入选的 Serverles

272、s 工具项目。Serverless 将云计算的粒度变得很细,企业选择是否采用 Serverless 产品不是单纯的软件问题,Serverless 背后需要有足够大的计算机集群和产品体系能力,才能保证其弹性满足企业复杂的业务需求。阿里云提供了从容器到应用等各个层次的 Serverless产品组合,并且坚定的推进产品体系的全面 Serverless 化。135 2022 年度技术盘点与展望年度技术盘点与展望 目前阿里云已有 20 余款核心产品实现了 Serverless 化,阿里云函数计算 FC 日调用次数超过 200 亿次,有效支撑历年双 11 百万 QPS 洪峰,业务增速超过 300%,整体规

273、模位居国内首位,经历超复杂场景的锤炼。Serverless 计算产品凝聚了阿里云在云原生领域的技术沉淀和最佳实践经验。除了产品形态的改变之外,Serverless 同样带来了软件研发范式的改变。Serverless云产品是模块化、可组合、高可用的,他们是构建应用的要素。通过Serverless计算组合多个云产品就可以快速构建应用。Serverless 为基础,研发方式升级到组装式研发。组装式研发彻底颠覆了原有的软件研发方式,大幅提升研发效率,灵活应对业务挑战。根据权威机构调研统计,组装式研发相比传统模式,可为研发提效 50%以上。德基网络科技有限公司大前端技术负责人刘晓伟德基网络科技有限公司大

274、前端技术负责人刘晓伟对 Serverless 的降本提效效果表示肯定。他说:“过去一年我们在做前端的 Serverless 升级改造。从支出成本角度来讲降低很多;从服务角度来看的话,需要分为几个方面,单一应用切成Serverless改造成本有适当增加,但一旦改造完成,后续开发效率就会高很多。“这就是Serverless带来的价值:真正让开发者回归业务本身,让企业做得更少而收获更多。Serverless 推进中的困境和破局 对于目前的 Serverless 来说,价值已经不言自明,当然,在规模化落地的道路上,136 2022 年度技术盘点与展望年度技术盘点与展望 Serverless 也会遇到一

275、些阻力。企业开发者在是否采用这一问题上仍有犹豫和顾虑,认同技术趋势与实际应用落地之间存在一道无形的鸿沟。丁宇认为:这就是一个技术发展过程中常见的现象,是符合技术发展规律的。Serverless 规模化落地需要一个契机。而这个契机已经到来。当前企业及开发者拥抱云计算更加积极,云已经成了一个创新平台。同时,更多产品具备了云特性,如自适应弹性、免运维等。从Serverless本身来讲,因为它足够先进,不是简单地替代互联网分布式架构,而是对互联网分布式架构的升级,从而形成了自己的一套体系,能够为企业带来很多显而易见的变化。由于处在不同的时期,企业会有自己不同的选择,随着 Serverless 技术发展

276、得更成熟,相信会有更多的企业愿意拥抱 Serverless,也许像互联网分布式架构一样成为主流架构还需要 5-10 年的时间,但是先行者往往是会拿到第一波红利的,这会让企业更具有竞争力。目前,Java 语言仍占据国内后端开发主导地位,而 Java 语言的冷启动特性在函数计算上的并不友好。冷启动时长使得用户很难享受到 FC 毫秒计费,秒级扩容等特性带来的技术红利。不久前 AWS 发布了消除冷启动的产品 SnapStart,使得冷启动再次成为热议话题。冷启动包含了系统冷启动和应用冷启动两个部分。对于系统冷启动,阿里云在硬件、MicroVM、操作系统、语言运行时等进行了全栈优化。阿里云函数计算 FC

277、 在系统冷启动阶段的性能指标业界领先。而应用冷启动和用户选择的语言以及程序逻辑本身有关系。比如 Java 类应用,启动时间通常远远高于 Node.js、Python、Go 等语言,阿 137 2022 年度技术盘点与展望年度技术盘点与展望 里云内部一直在打磨这类技术,但实际应用会比较谨慎。因为 SnapStart 这类技术需要客户的应用程序对 SnapStart 进行适配,否则会出现程序正确性问题。今天 AWS支持了这个技术,做了大量基础库、三方库的适配,虽然简化了客户的复杂度,但最终仍然需要客户自己保证正确性。因此阿里云提供了一些保证兼容性的方案,希望通过持续优化尽可能减少用户的适配负担。目

278、前,阿里云主要通过预留和闲置处理冷启动问题,另外,今年云栖大会函数计算FC 发布了 vCPU 和内存解绑的策略,客户可以更精细化管理资源配比,资源利用率再一次得到优化,成本会进一步降低。除此之外,厂商锁定(vendor lockin)也是阻碍 Serverless 规模化的一大困扰。对此,阿里云也有解法。首先,阿里云已开源了 Serverless Devs,Serverless Devs 是一个开源开放的Serverless 开发者平台,致力于为开发者提供强大的工具链体系。得益于功能的可插拔特性,Serverless Devs 可以非常简单的支持不同云厂商的项目部署,或者一键部署到不同云平台。

279、其次,Serverless 架构的理念本身是重塑应用的研发模式,云平台提供完整的Serverless 产品体系,云平台提供一整套 Serverless 化的 BaaS 以及提供更为标准化、流程化的桥接。而 FaaS 更细粒度的业务处理拆分可以让业务代码开发更加简单,进而让企业多云方式的构建更加简单。最后,企业采用多云方式,也不代表所有的业务都要进行多云,平均地分布在各朵云上,很多时候是在差异化的能力上选择最好的云,只有选择最合适的云、深度用云才 138 2022 年度技术盘点与展望年度技术盘点与展望 能真正发挥云厂商的优势,获得更好的云资源。综上所述,如何做无锁定,厂商开放规范,不做限制,海纳

280、百川,在一定程度上就是无厂商锁定。Serverless 未来的畅想和规划 除了技术需要通关,思维的转变也是横亘在开发者面前的一道鸿沟。Serverless 从技术创新走到应用再走到普及,对开发者而言最大挑战是系统设计模式和编码习惯的改变。不少开发者对Serverless架构的学习都有疑问,到底是用原有开发范式还是需要学习新的范式?对于这个担忧,慧游文化 CEO 宋杰认为:“Serverless 会对传统开发模式和逻辑实现颠覆,对成熟的开发人员而言挑战可能更大,学习成本方面,对于经验丰富的程序员来说,进入云原生世界,最大的障碍不是学习,而是遗忘。“云原生技术打破了原有的限制,CPU、硬盘、内存没

281、有大小限制。对于越是经验丰富的程序员来说,思维的转换就越是困难。“程序员要需要不断学习 Serverless,才能够克服固有的思维模式。希望阿里云能够提供更多的培训帮助大家实现思维定式的转换。”宋杰表示,这也是他对阿里云的期待。除了提供更加全面丰富的 Serverless 产品与方案,作为 Serverless 中国的先行者,阿里云将持续拥抱开源,为Serverless用户提供多样化、可选择、更灵活的方式,提升开发者的幸福感。“未来阿里云整个产品体系都将Serverless化,产品和产品之间的集成更加细腻,由点及面,将整个链路串联起来,普惠更多的企业和开发者。”丁宇表示。139 2022 年度

282、技术盘点与展望年度技术盘点与展望 微服务虽已老生常谈,但生命力超出不少人想象|解读微服务的2022 作者:李艳林(彦林)本文是“2022 InfoQ 年度技术盘点与展望”系列文章之一,由 InfoQ 编辑部制作呈现,重点聚焦架构领域在 2022 年的重要进展、动态,希望能帮助你准确把握 2022 年架构领域的核心发展脉络,在行业内始终保持足够的技术敏锐度。作者:李艳林(彦林),作者:李艳林(彦林),Nacos 开源创始人,阿里云微服务引擎开源创始人,阿里云微服务引擎 MSE 创始人。创始人。140 2022 年度技术盘点与展望年度技术盘点与展望 笔者参与过阿里巴巴集团电商业务微服务的升级和改造

283、过程,并一直在支持历年双11 的大促活动,活跃在支持一线,也参与了 Nacos 开源和社区发展,目前正在阿里云负责微服务的整体开源规划和微服务引擎 MSE 的研发管理工作。因此在微服务技术的应用、开源和商业化服务上,有着比较立体的感受和思考。微服务虽已老生常谈,但其生命力之强超出不少人的想象。本文将从微服务发展的行业趋势和技术趋势两方面进行解读,欢迎各位参与评论,一起交流。技术趋势推进行业变革,行业趋势反哺技术价值,两者相互促进,才能持续保持技术的生命力。我们先来看看这一年国内的一些重要事件,这些事件也恰恰揭示并加速着行业和技术趋势:4 月,Linux 下一代架构基金会下成立了微服务技术组 S

284、IG(Special Interest Group),共同探讨微服务治理标准化的解决方案 4 月,跨不同开发语言和技术框架,微服务治理规范 OpenSergo 开源 5 月,Envoy 社区推出 Envoy Gateway 产品,加入下一代网关角逐 6 月,腾讯正式开源 Spring Cloud Tencent,打造一站式微服务解决方案 7 月,Ingress Nginx 项目暂停接收新功能,将专注于稳定性提升 8 月,CloudWeGo 正式发布 Rust RPC 开源框架 Volo 8 月,直流科技发布服务网格项目(GA 版本)11 月,Apache Dubbo 首个 Rust 语言版本正

285、式发布 11月,阿里巴巴开源下一代云原生网关Higress,基于Envoy,支持Nginx Ingress零成本快速迁移 12 月,字节跳动开源 kube-apiserver 高可用方案 KubeGateway 12 月,中国开源云联盟发布第二批开源成熟度评估结果,10 个项目中微服务领域 141 2022 年度技术盘点与展望年度技术盘点与展望 的开源项目有 4 个 此外,腾讯云&华为云先后提供了面向 Nacos 的商业版本 微服务发展的行业趋势 微服务仍在持续高速增长,关注度从开发效率转向交付效率 开源项目 Star 在一定程度上反应了一个项目的热度和生命力,从 Star 的增长上看,目前主

286、流微服务开源项目每年以平均 10%以上的速度在增长,数字上呈现的是不仅是行业规模,也折射了每年新晋微服务开发者的水位。Apache Dubbo:4.3w,YoY 12%Istio:3.3w,YoY 11%Nacos:2.6w,YoY 23%Spring Cloud Alibaba:2.5w,YoY 15%Seata:2.4w,YoY 10%Envoy:2.2w,YoY 16%SkyWalking:2.2w,YoY 14%Sentinel:2.0w,YoY 13%数据统计自 2022 年 12 月 25 日,计算主子仓库的累加数据。微服务的持续高速发展,使得他已经和计算、存储、网络、数据库、安全

287、一样成为云 142 2022 年度技术盘点与展望年度技术盘点与展望 计算的基础设施。只不过在每个不同的发展阶段,微服务面临的挑战并不相同。云原生普及之前,微服务开发者专注的是微服务的架构、迭代、交付和运维。随着云原生技术的成熟,微服务也在被云原生化,这时候,开发者和架构师更关心的是如何借助云的优势,简化微服务的运维问题,并更专注在业务的交付效率上。微服务价值愈加凸显,侧重点转向降本增效 若干年前,阿里巴巴在做微服务转型的时候,看重的是微服务的可扩展性,因为要去快速应对庞大且日益增长的用户体量。但如今,随着人力成本的不断上升,以及云的算力成本的不断下降,微服务在帮助企业提高研发效率、落地敏捷开发

288、的过程中,其发挥的降本增效价值已经越来越明显,这时候,微服务的价值侧重点是发生了变化的。过去的一年,我们看到大量的中小型企业开始采用微服务,快速上量、高效迭代,并将微服务应用建立在云上,加速迈入云原生时代。此外,云拓宽了微服务的价值边界,其价值不仅体现在开发态的效率提升,也体现在了运维态上的价值。以 Nacos 为例,注册配置中心是一个旁路应用,但却承载着高频服务任务,一旦遇到可用性问题,会大面积影响线上业务,通过云厂商提供的Nacos 商业版,可以极大的提高微服务在运维态上的价值,提升性能、提高可用性,阿 里 云 的 微 服 务 引 擎MSE,以 及 腾 讯 云 和 华 为 云 都 提 供

289、了 面 向Nacos/ZooKeeper/Eureka 的商业化服务。从互联网走向各行各业,技术成熟度获得业内公认 这一趋势并不是只在 2022 年才出现,提出中台概念的那时候,很多传统企业就已经 143 2022 年度技术盘点与展望年度技术盘点与展望 通过微服务的拆分来构建中台架构了。近一年,随着各行各业数字化进程的加速,微服务不仅出现在直面线上用户的客户服务、市场营销等领域,也在帮助重构设计研发、生产制造、企业内销售财务协作、公司治理等领域,以便企业在市场竞争中保持先发优势。例如禾连健康帮助全国 2000 家医院构建在线体检服务,致景科技构建微服务体系打通全国纺织行业信息流、物流和资金流,

290、实现数智化的综合平台,龙湖千丁借助微服务支撑全国 1000+的智慧停车业务,波司登全面推动各项业务容器化、微服务化,建立立体的在线销售体系,提升羽绒服销量。不仅其他行业在快速落地微服务架构,对技术引入相当严苛的金融行业也正积极拥抱微服务。随着金融科技的快速发展,市场对金融服务的需求日趋多样化和个性化,对场景金融服务创新、新业务需求敏态响应等提出诸多挑战,这些正不断加速金融企业的微服务架构转型。但是在传统金融领域,微服务架构的落地并没有像互联网企业那么迅速,这主要是金融行业对系统可用性和稳定性的要求非常高。然而在过去的几年,随着微服务产品的成熟和技术的标准化,这一现状得到了极大地改变,我们看到越

291、来越多的金融企业使用微服务产品改造其核心系统。工商银行通过Dubbo将基于JEE的单体架构改造成微服务架构,中信、光大、广发银行基于Seata的分布式事务能力,来解决交易数据间要求极高的数据一致性难题,中原银行的微服务平台以开源项目 SkyWalking(APM 应用性能管理)为基础,建立了分布式链路追踪系统,为微服务提供分布式追踪、度量聚合和可视化等一体化解决方案。微服务在金融这类严苛的行业下的实践,也充分证明其技术的成熟度和标准化。144 2022 年度技术盘点与展望年度技术盘点与展望 微服务发展的技术趋势 标准化,呈现更多市场机遇 事实标准和行业标准并行发展,标准化有利于降低技术的选型和

292、使用门槛,也是技术成熟度的一种体现,微服务领域开源领域呈现出比较明显的头部效应,大部分开发者倾向选择主流方案,以下数据来自我们自行举办的开发者沙龙或线上直播的调研数据,仅供参考。微服务或 RPC 框架:以 Spring 为主,Apache Dubbo 有 20%+的市场份额,在强调国产自主可控的行业,Dubbo 占比会更多些,grpc 以及一些多语言的框架也一些忠实的拥趸。注册和配置:Nacos占比最高,Eureka/Consul/Apollo各有一些市场份额,目前这个领域未看到有的开源项目。限流降级:Sentinel 占比更高,虽然也有 Hystrix 等一些海外的开源解决方案,但由于本地化

293、的文档和支持比较受限,开发者会更倾向于选择 Sentinel。分布式事务:分布式事务主要应用于对数据一致性有较强需求的行业,且具有较高的技术门槛,开源选项并不多,目前是 Seata 更受开发者的欢迎。云原生网关:主要分为 Nginx/Envoy 两大技术流派,APISIX 起步比较早,在国内的开源工作推进更快些,国外的开源项目有很多,例如 Kong/Emissary/Gloo 等,我们今年也开源了基于 Ingress 标准的云原生网关 Higress。微服务治理规范和实现:相比以上的开源项目,这是一个相对较新的领域,开源选项主要是 OpenSergo 和 Polaris。145 2022 年度

294、技术盘点与展望年度技术盘点与展望 微服务开源领域的上下游关系 微服务开源虽然趋于标准化,但从不绑定,各个开源项目之间都是解耦和开放的。这时候开发者选型会侧重在高可用上。例如开源项目本身是否经历过大量的生产实践,并且是自主可控,避免一些不可控的风险;二是开源方是否会提供一些云上的商业版。因为当云成为基础设施的时候,开发者会关注开源项目在云上的稳定性、性能、易用性,这些往往是开源版所不具备的。例如面对流量有损的情况,或是版本发布时,没有做全链路灰度,一个线上故障引发全量业务受影响,没有控制爆炸半径,其实,这些场景都是可以通过商业版来避免的。越是主流的开源项目,越是有可能联合云厂商来提供公共云上的商

295、业版。因此,当微服务的各个领域的开源选型趋于标准化,开发者们将不再过多纠结在选型上,而是在交付效率和稳定性上时,将给围绕微服务提供培训、产品服务的企业呈现出更多的市场机遇,这也会反哺整个行业的良性发展。146 2022 年度技术盘点与展望年度技术盘点与展望 DevSecOps,入口安全关注度提升 在过去的一年里,RPC 和注册&配置中心帮助开发者解决研发效率和性能问题,领域趋于稳定;服务网格和服务治理通过流量控制提升高可用能力,领域快速演进;网关帮助企业在数字化入口建立安全和高可用防线,领域处于兴起阶段,开发者关注各种方案的最佳实践和客户案例。从这些微服务中间件的发展过程中我们发现,以围绕开发

296、者为核心,提升微服务开发效率,保障生产运维高可用的 DevOps 实践越来越多,并且正在向 DevSecOps 快速演进。以云原生网关为例,在流量转发等基础运维(Ops)能力之上,企业和开发者愈加重视作为微服务网关的定制开发(Dev)能力,以及作为统一流量入口的安全(Sec)防线能力。147 2022 年度技术盘点与展望年度技术盘点与展望 云原生网关,玩家众多、活跃度高 云原生网关领域,新晋的竞争者数量是去年同期的一倍,正在加速云原生网关的标准化。技术趋势离不开内外因的合力作用。微服务的技术趋势之所以要单列一项云原生网关,外因是 K8s 逐步成为云计算的新界面,而 Ingress 作为 K8s

297、 的网络通信的标准规范,定义了外部流量进入集群内部的规则描述。而内因则是网关领域长期面临着入口网管零散、诉求各不相同的情况,例如 Nginx 发挥流量访问的网关作用,微服务网关发挥微服务体系下服务和服务之间网络访问的作用,API 网关则实现了不同应用或系统之间的互访。当 Ingress 统一网络互访协议后,就催生了云原生网关的出现。从技术优劣势上看,传统网关架构 API 定义不一致、多层网关运维代价大、扩展性弱、规则变更连接抖动,越来越不能满足视频/IOT/海外弱网的需求,不能适应云原生时代快速迭代、弹性带来的稳定性挑战。而云原生网关将多层网关进行统一架构和建设,不仅降低了网关架构的复杂度,也

298、提升了缩短了网关的转发链路、提升网关的性能。国内最早开源的 APISIX 已经服务了 1w+star,并且被 vivo/雪球/众安保险/有赞云应用于生产业务。我们今年也顺势将在集团已经服务生产业务两年之久的云原生网关 Higress 对外进行开源,他具备标准化、高集成、易扩展、热更新的优势,目的是加速云原生网关在国内的落地。148 2022 年度技术盘点与展望年度技术盘点与展望 数据面和控制面解耦,控制面重要性提升、但短期内较难标准化 随着 xDS 协议成事实标准,数据面和控制面解耦,控制面作为数据面和治理平面的连接越来越重要。微服务生态可以有很多灵活集成模式,简单的场景注册&配置中心可以直接

299、通过 xDS 协议将服务推到数据面,复杂的场景控制面可以聚合服务和规则推送到控制面,做更灵活、更复杂的治理能力扩展。控制面的统一将带来诸多好处。微服务已经从架构演进到治理,从解决如何用好微服务演进到如何管好微服务。管好微服务非常依赖微服务治理,而微服务治理是通过无损上线下、全链路灰度、流量防护等技术手段来减少、甚至避免发布和管理大规模应用过程中遇到的稳定性问题,但微服务治理在落地过程中会遇到各种难题。例如:149 2022 年度技术盘点与展望年度技术盘点与展望 在企业内部,往往存在着不同语言、不同通信协议的微服务,这会导致治理微服务的过程中,给业务开发者、架构师平添很多的认知负担,而这类异构会

300、衍生出更多的痛点。业内对服务治理的能力和边界没有明确的认识,每个企业所定义的服务治理概念不一致,造成很高的理解和沟通成本。开源微服务框架众多,对于服务治理缺乏一些标准化的约定。例如,Spring Cloud中定义的微服务接口和 Dubbo 中定义的接口就没有办法互通,通过 Dubbo 和 Istio管理的微服务也没有办法进行统一治理。缺少真正面向业务、能够减轻认知负担的抽象和标准。开发者真正想要的可能是简单的、指定服务间的调用关系和配置规则。但现在对于业务开发者来说,不仅需要了解不同微服务框架的部署架构,也要了解不同服务治理方式的概念和能力区别,认知成本很大。此时,控制面的统一能很好的解决以上

301、困扰。因此我们今年和 bilibili、SphereEx、中国移动等企业,以及 Kratos、CloudWeGo、ShardingSphere、Nacos、Spring Cloud Alibaba、Dubbo 等社区联合发起并开源 OpenSergo 项目,目的就是构建一个和语言无关、和技术形态无关,但贴近业务的统一服务治理规范和实现。另外,Linux 下一代架构基金会也正在致力于服务治理标准的制定。但控制面的统一并非一朝一夕,需要参与方在实践中不断对标准进行磨合、逐步达成共识。150 2022 年度技术盘点与展望年度技术盘点与展望 其他的一些技术趋势 多语言多语言:Java 作为国内微服务开

302、发最主流的语言,正在加速云原生化演进,通过Spring 6.0/Spring Boot 3.0/GraalVM 让 Java 能在容器和 Serverless 时代更轻量、更快速运行。随着传统客户数字化的升级,之前 C+/C/Python/PHP 研发正在加速向Go/Rust 演进,目前 Go 微服务生态逐步完善,前端 Node.js 跨语言调用后端服务场景也越来越多,Rust 微服务生态开始起步,Dubbo、CloudWeGo、Nacos 都在今年发布了 Rust 的版本,相信后续会有更多开源项目跟进。151 2022 年度技术盘点与展望年度技术盘点与展望 国产化国产化:核心技术自主可控越加

303、重要,整个软件行业都在加速国产化进程,微服务开源项目需要投入资源,支持 ARM/IPv6/Dragonwell/PolorDB/OceanBase 等国产化的上下游生态,才能获得更多开发中的青睐。Proxyless:xDS 协议成为事实标准,从 Lib 包依赖模式到 Sidecar 模式到 Proxyless模式,Sidecar 模式无侵入带来一些运维复杂度,Lib 包模式有侵入但易运维、性能好,社区尝试 Node 级 Proxy 方式,介于两者之间,但目前处于前期状态;从当前的开发者体量看,Lib 包依赖是主流,Mesh 是补充。总结 标准化、国产化、DevSecOps、云原生网关、Prox

304、yless、统一控制面和多语言,给微服务带来的新的市场机遇。近一两年,国内出现了很多围绕这些领域的初创公司,也给很多成熟企业带来的新的商业方向,两股力量的相互交融延续着微服务的生命力。152 2022 年度技术盘点与展望年度技术盘点与展望 2023,可观测性需求将迎来“爆发之年”?|解读可观测技术的 2022 作者:鲁冬雪 本文是“2022 InfoQ 年度技术盘点与展望”系列文章之一,由 InfoQ 编辑部制作呈现,重点聚焦可观测技术领域在 2022 年的重要进展、动态,希望能帮助你准确把握2022 年可观测技术领域的核心发展脉络,在行业内始终保持足够的技术敏锐度。随着 5G、云计算、微服务

305、等技术的广泛应用,企业所面临的 IT 运维环境越来越复杂,需要运维的系统不仅数量多,而且网络架构复杂、基础设施多样。在信息化建设日益 153 2022 年度技术盘点与展望年度技术盘点与展望 普及的当下,快速提升企业 IT 资产管理能力开始成为企业迫切解决的问题。过去一年,可观测技术得到了极大关注,并被 Gartner 列为 2023 年十大战略技术趋势之一。然而,企业在实际落地可观测的过程中依旧面临很多问题,比如如何选择合适的方案、平衡新旧系统之间的关系等等。其实,一个企业 IT 系统的可观测性建的好不好,在新员工入职时就能看出来。如果新员工去看文档时,看的是公司某个架构师画的系统架构图,显然

306、这个公司技术系统是缺乏可观测性的。因为企业系统一直在迭代,而系统的架构图却很难及时更新。如果新员工看到的是完整的可观测性平台数据看板,那这个公司的“可观测性”构建的应该算是比较完善的。当企业的可观测性构建趋于成熟后,开发者可以快速定位系统问题,精准的“观测性数据”可以帮助开发者完成包括自动化巡检在内的各种各样的Control 或者是金丝雀发布的控制等等。所以,可观测技术目前发展到哪个阶段了?开发者们对可观测性平台的需求到底是怎样的?带着这些问题我们对观测云 CEO 蒋烁淼进行了专访,我们一起对可观测技术过去一年的发展做了一个盘点。一、国内外“可观测性”的认知尚存在较大差异 当我们想要盘点一项技

307、术过去一年的发展状况时,首先要看它过去一年的应用率是否有所提升。去年,领域里有相关数据表明,大部分公司都在进行可观测实践,但国外也仅有 27%的公司实现了全栈的可观测,国内可能更少,可能 10%的比例都不到。154 2022 年度技术盘点与展望年度技术盘点与展望 而今年,这个比例似乎并没有提高。正如蒋总所说的那样,“在中国,真正地构建了完全可观测性的企业非常的少,做的好的企业少之又少。”放眼过去,目前国内确实很缺乏好的可观测性的服务商和技术提供商,这让中国的可观测性技术发展与国外产生了不小的距离。包括字节、阿里云等大厂在内的国内大部分厂商在可观测性方面都还是处于“零散拼装”的状态,他们大多把开

308、源的Prometheus、Loki、OpenTelemetry Collector 组装在一起形成“可观测性套件”,然后提供一个开源的托管版本给开发者使用。很少有人敢称自己为“可观测性平台”,因为没有一个完整的可观测性的概念。然而,过去一年里,无论是在国外还是国内,企业 CTO 们对于可观测性的关注度有了明显大幅提升。从全球视角来看,不管是 Grafana 的 ObservabilityCON,还是今年谷歌云举办的 Google Cloud Next22 Recap、北美的 KubeCon 2022 大会,亦或者是前不久亚马逊云科技举办的 re:Invent 全球大会、NGINX 举办的 NG

309、INX Sprint China2022,可观测性话题的探讨比例都有了明显提升,像 Google Cloud Next22 Recap 大会谈可观测性几乎占到了大会整体内容的三分之一。切回国内视角,当我们和国内的企业 CTO 们去聊天的时候会发现,他们今年明显会更关注可观测性这件事,无论是因为业务层面譬如B站713事件带来的启发,还是受行业大会演讲内容的影响,国内在可观测性方面没有明显的技术发展,大多是因为疫情下的市场经济不景气、企业预算不足下的“按兵不动”之举。聚焦到具体的业务需求上,目前企业技术决策者正处于一个认知迭代的过程中 155 2022 年度技术盘点与展望年度技术盘点与展望“将监控

310、升级为可观测性”。原来的“监控”大多都是分裂的,可能是每一个项目都有一套监控工具,可能是是一个项目中的日志平台、APM 平台单独运行。所以现在不少开发者会认为可观测性就是新瓶装旧酒,他们认为把传统的监控工具整合在一起,就是可观测性了,甚至不少创业公司的 CTO 会将一些 K8S 监控工具或者 APM 混同于可观测性。事实上,可观测性相关的工具如果被称为“下一代监控”的话,它的投资占 IT 的比重并不小,可观测性的应用场景远远要超过目前大部分开发者的认知。“可观测性”这件事在大部分 CTO 的意识中,无论是横向扩展还是垂直扩展,大家的认知都还需要有一个“求同”的过程。就像现在许多人会把“可观测性

311、”定义为是一个降本增效的好工具,很多相关产品厂商会将“降本增效”作为产品的推广利益点,这让许多开发者认为安装了可观测性平台,就可以降低成本、为业务创造价值。事实上,可观测性工具从来不是一个“便宜”的东西,可观测性平台除了基本的工具投入,还需要有一套完整的数据存储方案,企业自研一套优秀的可观测性解决方案投入成本并不低。以美国企业的可观测性相关投入为例,其会占企业整体 IT 支出的 5%-10%。而且,它的“降本增效”不是短时间内就可以显现出来的,而是通过长时间的应用,为业务提供大量的数据支撑进行技术性优化,从而产生价值。总体来说,真正的可观测性平台应该是,能够将各种各样对于系统的形态、实时的状态

312、进行有结构性的收集并提供一系列的观察、测量手段的平台。简单来说,就是用各种各样的技术,像传感器一样,能够让开发者们的开发、测试、运维过程变的更容易,能够即时了解系统的运行状态,而并不是简简单单的“监控”。156 2022 年度技术盘点与展望年度技术盘点与展望 可观测性平台一定是数据组织统一化的,否则分开的日志系统、链路系统、指标系统很难实现数据与数据的关联。比如日志里的字段,主机系统中叫host,在指标系统里叫 host name,然后有的系统用 IP 地址,有的系统用主机名,那在做关联分析和连接查询时会发现根本无从下手。有的公司也会将不同系统的数据分散开进行监控,利用“数据中台”的一个构建方

313、案将所有数据汇聚到同一个平台中去做分析,但在实践过程中会发现,数据缺少实时性的结构化,无法做实时预警预测,只能做事后故障定位。二、全球可观测性技术演进主要聚焦在 6个方面 1、OpenTelemetry 逐渐成为行业标准 OpenTelemetry作为一套由CNCF主导的云原生可观测性的标准协议,目前已经是海外企业在该领域的实践标准。从数据收集的角度来说,基于OpenTelemetry或者兼容OpenTelemetry 的方案,从今年到明年都应该会逐步成为主流。OpenTelemetry 已迭代到了 1.0 版本,作为一个客户端,日志和网络等部分也都正在得到逐步补强,严格意义上讲,OpenTe

314、lemetry 1.0 已经算是完成了整体的标准化,OpenTelemetry 标准协议已称得上是一个行业标准。反观国内,虽未形成类似的标准,却也涌现了诸如 CAT 和 SkyWalking 等一系列国产开源的 APM 系统,通过实时监控企业的应用系统,系统化地提供应用性能管理和故障定位的解决方案,在运维中被广泛使用。得益于对业务代码无侵入,性能表现优秀,157 2022 年度技术盘点与展望年度技术盘点与展望 社区活跃,中文文档齐全等众多优秀特性,SkyWalking 在国内异常火爆。2、Grafana 8.0 修改了 AGPL 协议 开源项目背后的商业公司只有在商业上取得成功,才能更好地为开

315、源项目提供新特性的开发、支持与维护,形成良性循环,这样开源项目的维护才会更加长久。Grafana在云原生技术领域的监控工具中几乎是标准一般的存在,而在可观测性的投资方面,Grafana 也写下了浓墨重彩的一笔,推出了 Loki 日志存储、时序引擎 Mimir 和调用堆栈的存储引擎等一系列产品,力图通过提供一个复刻 DataDog 所有功能的开源方案,打包售卖 Grafana Cloud 服务。因此在 Grafana 8.0 后修改了 AGPL,允许甲方有技术实力的公司基于它的开源方案做二次开发,而不允许乙方在没有商业授权的时候拿着 Grafana 的产品包装出售,此举对国内不少的信创公司都造成

316、了巨大的冲击。3、eBPF 技术日趋成熟 内核通过文件系统或系统调用暴露出的信息有限,单纯从用户态切入无法抓取这些信息,只有从内核本身调用的过程中获取调用信息才可以补足相关能力。eBPF 是一项革命性的技术,它可以在 Linux 内核中运行沙盒程序,而无需更改内核源代码或加载内核模块。通过使 Linux 内核可编程,基础架构软件可以利用现有的层,使它们更加智能和功能丰富,无需继续为系统增加额外的复杂性层。eBPF 促进了网络,安全性,应用程序配置/跟踪和性能故障排除等领域的新一代工具 158 2022 年度技术盘点与展望年度技术盘点与展望 的开发,这些工具不再依赖现有的内核功能,而是在不影响执

317、行效率或安全性的情况下主动重新运行。在对内核无侵入的前提下,它通过动态地向内核中插入一段自己的代码,实现定义监控及跟踪能力。随着内核的发展,eBPF 逐步从最初的数据包过滤拓展到了网络、内核、安全、跟踪等领域,并且它的功能特性还在快速发展中,通过内核虚拟机,所有的 IO 包括程序运行、进程的网络通信等各种细部数据尽收眼底,大大加强了系统的可观测能力。然而,目前大多数的只通过 eBPF 获取数据并把自己标榜为可观测平台的公司,也仅仅是做了一个 eBPF 的支持而已。从第三方视角看,eBPF 是对传统观测能力一个非常好的补充,可以通过它拿到更多的数据,用户获取内核丰富观测指标的门槛被极大降低。4、

318、可观测性开始更“注意安全”云原生数据库等新兴概念的出现,大大消除了大家对于存储成本方面的顾虑,使得企业可以更聚焦于提升观测能力本身,而不必在成本和性能方面分神,这方面的发展也有迹可循。比如今年 DataDog 推出了一个名为哈士奇的存储架构,它是一个完全云原生面向可观测性的数据库,得益于云原生的存储能力,可以在同等价格下多存储5-10 倍数据,以往即使收集到了海量的数据,但面对高昂的存储成本,这些数据也只能被丢弃或者针对这些数据进行采样,本质上看,这对客户需要的结果也是有浪费的。但这也并不意味着使用这种新技术之后并不需要进行采样,只是新的更低成本更高性能的数据库技术,可以大大提升可观测性能够覆

319、盖的范围,降低存储成本,这也是一个很重要的发展。159 2022 年度技术盘点与展望年度技术盘点与展望 安全和可观测性的合并,已在全球范围内形成一种趋势。摩根士丹利在安全分析和可观测性文章中也提到,在国外,以 DataDog 为代表的公司在上市之后发布的新增功能中有 70%都是安全相关的,这其中的道理非常简单,可观测性是通过检查其输出来衡量系统内部状态的能力,它收集了系统的方方面面,通过这些数据可以分析出系统的故障,自然也就能够分析出系统有没有被入侵。比如 DataDog 就提供了通过分析当前访问请求,区分哪些可能是黑客在嗅探,或者准备未来做 DDoS 攻击的接口的功能。也就是说,采集的数据在

320、安全方面也能够发挥作用,而不像传统安全工具那样,需要针对安全场景再进行一次数据采集。所以,安全和可观测性的合并在全球范围内已经成为一种趋势,当然抗 DDoS、挖防火墙这些并不会合并,针对攻击现场的追踪,比如国内的态势感知、国外的 SIEM 这些安全产品都选择了和可观测性进行融合。5、建立“业务的可观测性”越来越重要 可观测性的概念起源于工业领域,在该领域中,可观测性被定义为从系统外部输出推断系统内部健康状态的能力;在软件产品和服务领域,可观测性就是从应用系统中收集尽可能多的遥测数据,以便可以调查和解决新出现的复杂问题,确保企业能够主动观察系统,在影响客户体验之前解决故障及问题,安全地进行测试并

321、实施优化,它可以更好地管理和控制业务风险,有助于我们了解“正在发生什么”以及“为什么会这样”。可观测性使团队能够更有效地监控现代系统,帮助他们找到并连接复杂链中的影响,并将其追溯到原因。此外,它还使系统管理员、IT运营分析师和开发员能够了解他们的整个架构。160 2022 年度技术盘点与展望年度技术盘点与展望 如今的 IT 系统,迭代发布更迅速,业务系统更庞大,网络链路更复杂,运行环境更动态。在“业务至上”的互联网时代,技术工程师们保障的核心其实并不是这套 IT 系统或软件,他们保障的核心其实是业务,一笔业务可能会涉及到多个微服务系统,技术工程师们不再追踪一个 API 的全链路调用关系,而是要

322、追踪到整个 API 关联的订单、用户甚至具体到哪一笔交易,这也是可观测性和业务结合的一个重要发展趋势。Gartner 也提到,“未来一切业务皆需可观测性”,简单地讲就是把运营人员、运维人员、IT 人员看到的数据做统一,而不是互相甩锅。6、多个“新玩家”入局 随着微服务架构的流行,一些微服务架构下的问题也日渐突出,比如一个请求会涉及到多个服务,而服务本身可能也会依赖其他业务,整个请求路径就构成了一个网状的调用链,而在这个调用链中,一旦某个节点发生异常,整个调用链的稳定性就会受到影响。据此,我们需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。近年来

323、,各种调用链监控产品层出不穷,呈现百花齐放的态势,各家你方唱罢我登场,比如 New Relic 收购的那家叫 PIXIE 的公司可以称得上是一个新玩家,又如最近出现了一个面向 K8S 的叫做 Kubeshark 的公司,它专门研发用于网络分析的开源组件。此外,随着 eBPF 的出现,未来会涌现越来越多的解决方案,尤其是面向整个 K8s 生态环境,这也是全球可观测性技术的一个演进方向。161 2022 年度技术盘点与展望年度技术盘点与展望 三、具有“4 个统一性”的可观测性平台是企业刚需 当我们盘点完可观测性的行业趋势,所以到底什么样的平台才是目前企业所需要的呢?国内首批获得中国信通院颁发的可观

324、测性平台技术能力先进级认证,新一代云原生全链路数据可观测平台观测云给出了答案。观测云能全环境高基数采集数据,支持多维度信息智能检索分析,及提供强大的自定义可编程能力,使系统运行状态尽在掌控,故障根因无所遁形,实现了统一采集、统一标签、统一存储和统一界面,带来全功能的一体化可观测体验。观测云平台从技术层面主要实现了 4 个统一统一采集、统一治理、统一分析和统一编程:第一个统一,是统一的数据收集。数据采集是数据关联的基础能力,现今,国内外都有大量的数据采集器,但大多数采集能力单一,比如 Telegraf 仅支持指标,Filebeat只服务日志,OpenTelemetry 的 Collector 对

325、非云原生的组件并不友好,需要大量安装 Exporter 插件。为了实现系统的可观测性,一台主机上可能需要安装无数个 Agent,这既引入了管理上的问题,又产生了成本的问题,一定程度上造成了资源的浪费。观测云的 DataKit是目前唯一的真正一体化实现各种环境(如传统环境、云原生等)统一数据采集平台,它通过一个进程或 Daemonset Pod 就可以实现全方位的数据采集,配置体验良好,开源且拓展性强,涵盖了更为全面的数据采集类型,有海量的技术栈的指标收集能力,采集器的配置更简单,数据质量更好。第二个统一,是数据采样格式实现统一。可观测性数据的一个重要特性就是实时性,162 2022 年度技术盘

326、点与展望年度技术盘点与展望 Logstash 等传统的开源方案均在中心或边缘中心完成数据治理工作,而受限于中心处理的延迟和 delay,在日志收集方面通常有很大的时延,实时性也就无从得到保障。而在观测云的解决方案中,客户只需多拿出5%的CPU用于数据的处理,一方面可以发挥可观测数据的实时性。另一方面,还可以利用数据本身的现状还原。比如当把所有数据收集到中心的时候,实际上很多环境信息或多或少的都会存在遗漏或缺失的情况,如数据来源于哪个容器、哪个 pod、哪个部署单元或者哪个项目等,在边缘侧可以随时获取这些数据作为补充。行内人都知道,观测云是一个 SaaS 方案,在边缘侧还可以实现采样功能。比如数

327、据中存在的一些电话号码、金额、用户 ID 等信息,完全可以通过边缘脱敏或者删除掉一些不需要上传或者不易上传的数字。这样一来,数据在上传前就已经完成了脱敏、加密或者丢弃,在丢弃情况下,还能大幅降低传输的带宽;数据无需上传到中心再做治理,这也进一步提升了客户的信任。此外,由于减少了一个中间处理模块,系统的整体实时性也得到了很大的保障。目前观测云也在考虑把端上的统一治理能力做成一个插件,贡献给 OpenTelemetry,使得 OpenTelemetry 的 Agent 也具备边缘计算的能力。据悉,目前观测云平台完全兼容 OpenTelemetry,单一采集器即可实现容器指标采集、应用链路追踪和日志

328、采集。同时能和各种常用采集器实现串联,包括Promethues、Skywalking、Fluentd等十几种常见工具,可以替换更可以共存,轻松实现数据高密采集。第三个统一,是统一的数据治理。用户的数据在被传输到中心后,将会被统一存储、统一压缩、统一部署,保存在观测云自己定义的逻辑数据存储架构中,相较于开源方案,观测云主要有两个优势:163 2022 年度技术盘点与展望年度技术盘点与展望 在存储的整合性角度,观测云的成本低于开源方案;不论是指标数据、日志数据、链路数据、用户行为甚至未来开展到安全数据,区别于其他厂商平台,观测云通过自研的 DQL(Debug Query Language)语言在数

329、据分析平台进行整体分析,甚至针对不用用户使用不同时代的存储技术。第四个统一,是统一的拓展开发平台。当 DQL 或者软件本身的能力无法满足用户的需要时,用户可以通过 DataFlux Function 平台进行无限的拓展。比如出于中大型公司的安全合规要求,直接通过第三方平台发送 SaaS 平台的告警邮件到内部邮箱,会被直接屏蔽掉,而如果用户把自己的发件服务器注册到 DataFlux Function,就可以实现向内部邮箱发送告警邮件,类似的能力还有短信、电话等等。除此之外,DataFlux Function 平台还可以实现对各种云平台甚至业务数据的载入,最近,观测云使用 DataFlux Fun

330、ction 帮客户实现了业务对账系统和 IT 代码调用间的关联。据悉,未来观测云会基于 DataFlux Function 平台推出一个抢占型实例量化交易的 Demo。除 了 这 四 个“统 一”,观 测 云 还 提 供 Site Reliability Engineering(SRE)和Observability Engineering 的最佳实践,支持智能推测算法,可自动识别基础设施和应用程序的潜在问题。坚持每两周迭代升级,使工程师们可随时体验最前沿的技术和最尖端的能力。是目前市面上少见的,真正意义上做到了“观测性”实现的平台,真正地满足了企业系统及开发者们在观测性方面的需求。百闻不如一试

331、。当我们回溯平台选型的根本,发现当前市面上的可观测性平台质量良莠不齐,大多还处于“监控”状态,系统整体性较差,无论是对于企业来说还是对于开发者来说,试错成本高。而目前观测云 SaaS 版完全按量计费,没有初始成本,拒 164 2022 年度技术盘点与展望年度技术盘点与展望 绝为闲置功能付费,可提供专属服务经理,让初创团队也能体验一流的全链路系统可观测能力,切实地解决了平台选型难的问题。正如蒋烁淼所说的,“一个好的系统首先要做到采集、治理、分析、变成这四个方面的统一;其次,需要尽量兼容开源,将整个技术栈和开源进行一个双向的连接。观测云在未来将进一步下探存储成本,最终让利用户。”四、国产可观测性的

332、未来需要更多厂商共同努力 目前,可观测性还在发展初期,很多产品仍在探索阶段,也有很多问题亟待解决,未来人们对可观测性的需求只会越来越高。谈及“可观测性”的未来,蒋烁淼认为,可观测性未来主要有四大趋势。观测性平台的开发厂商未来需要在以下几个方面做出改进和优化:提供更大的技术环境支持能力,支持标准的可观测协议;引入更多的算法,以智能的方式做数据的巡检;连接安全产品;进一步降低存储成本。这与媒体第三方视角观察到的趋势保持相似。然而,纸上得来终觉浅,绝知此事要躬行。虽然国内像观测云等厂商紧跟行业需求及技术发展趋势,提供了自定义数据大盘、基础设施监控、日志分析、用户访问监测、应用性能检测、Profili

333、ng、云拨测、智能 165 2022 年度技术盘点与展望年度技术盘点与展望 巡检等多种解决方案,力图打造可观测性最佳实践。但是,仅仅是一家或者几家的努力,是远远不够的。行业的发展需要更多的人参与进来。观测性平台开发厂商需要挖掘更多用户需求,而普通开发者也应该将更多的注意力放到“可观测性”上,让可观测性工具成为业务优化的得力助手。166 2022 年度技术盘点与展望年度技术盘点与展望 数据烟囱亟需打破,云原生融合数据库雪中送炭|解读云原生数据库的 2022 作者:郑思宇 采访嘉宾:采访嘉宾:矩阵起源创始人及矩阵起源创始人及 CEO 王龙王龙 据 Gartner 预测,到 2025 年,基于云原生平台的数字化业务比例将达到 95%,将带来云原生数据库市场的快速增长。毫无疑问,云原生数据库即将成为云上数据库使用的标准范式。167 2022 年度技术盘点与展望年度技术盘点与展望 云原生数据库使得传

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(InfoQ:2022年度技术盘点与展望报告(310页).pdf)为本站 (蓝色烟花) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部