2022年软件开发的22个趋势

作者:亿网科技  来源:亿网科技  发布时间:2022-04-19

1. 集中式基础设施:云优先是新的规范


同往年一样,第一条预测依旧跟云有关,今年在基础设施这个关键词前面多出了一个集中式(Centralized)的前缀,这跟当前云计算行业的下沉还是有关系的,如果关注互联网行业比较多的人,可能会觉得分布式云是现在的发展趋势,但其实对于正在数字化转型的非互联网行业而言,集中式的基础设施仍旧是第一选择。


2022 年,仍旧会是公有云快速发展的一年,Gartner 预测 2022 年公有云的收入将增长 16%,在互联网以外的各个行业,金融、政务、出行、工业、民生等多个行业,公有云都会得到有效的利用。所以如果你是非互联网企业的决策者或从业者,现在开始认真关注云计算还来得及。


2. 去中心化基础设施:边缘的云


边缘计算开始被广泛关注,大概也就是最近两年的事情,我看了一下 2019 年做的那篇趋势预测里,其实没有写边缘计算,但 2021 年的版本里已经有了。跟公有云希望将存储、计算能力和 AI/ML 集中在一个中心位置(可用区域)的特点不同,边缘计算本身是一种去中心化的方式,它希望将存储、计算能力和 AI/ML 部署在靠近用户的地方。低延迟场景(游戏)、低网络带宽(离岸站点)、无网络、监管要求、实时用例(联网车辆)、智能设备(物联网)这些都是需要边缘计算的场景。


再加上 5G 和 Web 3 等关键技术的兴起,边缘计算在 2022 及以后得到广泛采用是很合理的预判。事实上最近两年各大云厂商已经在开始有意识地推边缘计算的能力和产品了,我印象中国内几大云厂商都有相关的案例,比如我之前采访过的华为云的 KubeEdge。


Kamaruzzaman 提到了一项比较关键的动议——“State of the Edge”,旨在标准化边缘计算技术。“标准化”这个词是我特别敏感的一个点,因为从商业化的角度看,在没有实现事实标准之前,商业化的拓展往往是杂乱无序或者说没有核心优势的,而形成事实上或人为认定的标准以后,商业化的动向才能更为明朗。毕竟三流企业做产品,一流企业做标准。


3. 公有云:多云将获得更多的动力


阻碍企业上云的一大绊脚石,就是厂商锁定的问题。毕竟云厂商在商业信誉这块上,总是或多或少存在一些黑历史,要么硬盘坏了,要么剽合作伙伴方案,要么抄开源项目代码。你把企业安身立命的核心资产、数据都放在某一家云上,且不说安全的问题,以后要想迁移都是个麻烦。


所以多云、混合云的发展趋势是实实在在肉眼可见的,Kamaruzzaman 提到了很多致力于提供云服务中立性的 API 服务,比如 MinIO(兼容 S3)、Aviatrix(云原生网络)、Volterra(分布式云服务)、LightOS(云原生存储)等。


还有一点比较有意思的是,Google 正在致力于将他们的流行服务,比如 Big Query 引入到其公有云竞争对手 AWS、Azure 里,但这种现象在国内的云计算行业是否有类似案例或者说未来会不会有类似案例,我个人表示怀疑……



4. 容器:K8s 将成为基础,而 Docker 将会反弹


如果要对现代 IT 产业的关键技术做个排名,容器毫无疑问将占据一席之地。在容器化技术的普及化中,K8s 发挥了巨大的作用。背靠大厂(Google)、足够努力、精心设计、快速迭代,才有了今天成为事实标准的 K8s。


但另一方面,随着 K8s 技术的成熟,未来关于 K8s 本身的吸引力会持续减少,这有点类似于跨越鸿沟理论中的技术采用生命周期,K8s 我认为已经到了晚期大众这个阶段。所以 Kamaruzzaman 表示,K8s 已经成为现代软件开发的引擎,但也由于其本身的成熟度而导致进展缓慢。从这个角度看,有点类似于 Java。


Docker 是另一个在容器化历史进程中发挥了关键作用的技术,不幸的是,即便在全盛时期,Docker 也没有找到商业化的终南捷径,加上公司一系列的骚操作,在与 K8s 的正面对决中败下阵来。


2022 年起,Docker 宣布推出新的订阅模式,继续做着商业化的艰难探索。坦白说,这个小标题预测的结论并非定论,更多是 Kamaruzzaman 基于 Docker 的历史功绩提出的美好祝愿,我其实也一样。Docker 是我对开源行业产生浓厚兴趣的开始,希望它能有一个好的未来。


延展阅读:《Docker 麻烦大了



5. 网络安全:每个人都会认真对待安全


对初创公司或者中型公司来说,网络安全就像“房间里的大象”,他们可以看到网络安全的需求,却没有足够的资源去实现他。这其实也是公有云能迅速落地下沉的一大原因,初创企业不需要自己去搭建底层的基础设施,也省去了网络安全的防护,只要部署在公有云上就行,其他的事交给云厂商。


可当云厂商遭到网络攻击,或者出现故障时,受到影响的就绝不只是一家公司而已。事实上,2021 年曝出来的云厂商高危漏洞也不在少数,2022 年公有云厂商和 Linux 都要在安全方面更努力地工作。


除了云安全,另一个常见的网络安全来源于开源软件。之前奇安信有过相关数据报告,90%的开源软件存在安全漏洞,这对于在开源软件基础上构建起来的互联网本身就是个令人不寒而栗的问题。幸运的是,高危漏洞的利用没有那么容易。不幸的是,很多世界流行的开源软件,背后的维护者甚至只有两三个人,比如 2021 年最受关注的 log4j 漏洞,影响了全世界近一半的 IT 公司。


我们需要思考一个问题,为什么世界流行的开源项目却得不到应有的收益?为众人抱薪者,不可使其冻毙于风雪。


6. 区块链:加密货币之外的生活终于开始了


区块链经常与加密货币联系在一起,每次有人被加密货币嘎了腰子,就有人开始痛骂区块链技术。但从技术上来讲,加密货币只是区块链技术的一个实现方式,却并非区块链的全部或唯一用例。


2021 年区块链一个非常流行的新用例是 NFT(Non-Fungible Tokens),之前勇士队球星库里花了 18 万美元买了一张 NFT 的头像就火出了圈。

NFT 目前更多用在数字艺术方面,但显然可以期待它未来的使用场景。从这个点延伸出去可以看到,区块链技术正在越来越为人所正视,注意是正视。IDC 预测 2022 年区块链技术的解决方案增长将达到 75%,考虑到目前该项技术的普及程度,我觉得这个数字不算盲目乐观。


区块链一个为人所诟病的点在于能源消耗,在国内双碳政策的前提下,区块链要想获得长远发展,必然还是需要做出一些改变的,像以太坊那样,在 2022 年由能源密集型的“proof of work”模型转向绿色的“proof of stake”模型。



7. 机器学习:AutoML 和无代码人工智能将使机器学习民主化


我之前策划“稀土开发者大会”的时候,用过一句文案叫“机器都在学习,你凭什么例外”。这个点说的就是机器学习,但从实际的行业发展来看,机器学习的应用规模还是受到不小的制约,最大的原因是——搞机器学习的专家太少了。第二个原因是——大多数公司不需要完全的机器学习,有限的使用就够了。


AutoML 就是在有限情况下实现机器学习使用的一种方式。某种意义上,它就相当于低代码/无代码,不同之处在于,低代码/无代码是降低开发的门槛,而 AutoML 是降低机器学习的使用门槛。


8. 人工智能:狭义人工智能将被广泛采用


我最近在看阿西莫夫的科幻系列,里面提到过的“机器人三大准则”、由机器人协助建立的行星文明等等故事,讲述的就是人工智能的终极目标之一——让 AI 可以和人一样聪明,甚至更聪明。但从 AI 发展的 60 多年历程里,我们离这个目标还差得远。


跟机器学习一样,深度学习在过去十年间获得了大量采用和快速增长,预计在未来仍将如此。人工智能发展的终极目标在肉眼可见的当前触不可及,但让人工智能代理在特定领域协助/增强人类还是问题不大的。


9. 深度学习库:TensorFlow 将继续统治


深度学习的轮子有很多,但你基本上可以只看这两个:Google 的 TensorFlow,Meta 的 PyTorch


TensorFlow 在其 2.0 版本中进行了自我更新,并引入了动态图形、Python 友好和许多其他变化。它还提供了 Tensorflow.js 以在浏览器中使用 AI 库。其另一个创新是 Tensorflow Lite,它提供了在移动和 Web 上部署 Tensorflow 的功能。Tensorflow 还发布了 Tensorflow Extended(TFX),这是一个用于部署生产 ML 管道的端到端平台。


PyTorch 是另一个主要的人工智能库,它引入了动态图形和 Python,对开发人员也更友好。它还发布了 PyTorch Mobile,支持在 Android/iOS 设备上使用 PyTorch。它通过 PyTorch Profiler 为开发人员提供了更多的友好性来调试大型 AI 模型。


从 Stack Overflow 的调查数据来看,TensorFlow 继续保持统治地位似乎并没有什么悬念。



10. 数据库:多模型、多用途数据库正在兴起


过去几年间,数据库领域的一个趋势就是用一种特定的数据库去匹配特定的用例,比如:


  • RDBMS:用于结构化数据的事物

  • Wide-Column Database:用于低延迟,分布式数据库

  • Key-Value Store:用于分布式缓存

  • Graph Database:用于极端关系数据

  • Document Database:用于具有半结构化数据的事物

  • Distributed SQL:用于具有事务保证的低延迟,分布式数据库

  • OLAP Database:用于数据仓库和数据分析


这种方法的一个缺点是,我们经常需要为一个应用程序使用多个数据库。现在有一个新的趋势,即每个数据库将提供一个以上的模型并服务于一个以上的用例。PostgreSQL(Multi-Model)、Azure CosmosDB(Multi-Model, Multi-purpose)、SingleStore(OLAP 和 OLTP)是这些数据库的先驱。



11. 数据密集型计算:Spark VS 公有云