2021年软件开发趋势预测

2021-01-21 admin

对于软件开发行业来说,2020 年是意义重大的一年,许多领域都取得了重大突破。本文将基于来自认证来源的数据、图表和事实,根据过去来预测未来。如果你想要了解软件行业在 2021 年会有哪些变化,请阅读本文,本文涵盖了云、边缘计算、容器、量子、区块链、人工智能、深度学习、批处理、流式处理、数据库、编程、软件架构、Web、App、低代码、无代码等重要方向。

2020 年是近代史上史无前例的一年。人类在过去一百年中都没有经历过像 COVID-19 这样的全球性大流行病。它影响了我们星球上所有的国家、部门和几乎所有的个人。

好消息是我们马上就会拥有疫苗,终于可以满怀乐观和希望迎接新的 2021 年。对于软件开发行业来说,2020 年是意义重大的一年,在许多领域都取得了重大突破。COVID-19 显著加快了数字化转型,而且 2021 年的数字化转型趋势会更明显。

一年以前,我写了一篇文章来预测 2020 年的软件开发趋势:

软件开发行业,一年几乎就是一光年。作者没有更新旧帖子,而是创建了一个新的预测清单,预测 2021 年软件开发行业的重要技术趋势。

做预测是一项有风险的任务。但是作者会使用来自认证来源的数据、图表和事实,根据过去来预测未来。如果你想要了解FMS货代物流软件行业在 2021 年有哪些变化,请阅读本文。

1、集中式基础设施:云,无处不在的云

在 COVID-19 期间,大部分行业遭受了沉重的打击,尽管只有少数行业。云是朝阳行业,在大流行期间,它实际上比以往任何时候都更强大。如果在云应用方面存在任何疑问和不确定性,COVID-19 已经消除了这一点。

像 Corona 这样的全球性灾难表明,我们不仅需要云升级规模,也需要降低规模,例如,当我们的服务需求显著下降时。想想旅游和运输行业,他们不得不维护昂贵的数据中心,尽管他们的市场下降了 90%。

Forrester 预测,全球公有云 IT 基础设施将在 2021 年增长 35% 至 1200 亿美元:

2、分散式基础设施:边缘计算将出现指数级增长

在公有云中,我们希望有一个集中的数据中心来提供数据和计算能力。但在许多场景中,我们有相反的需求,例如,数据和计算能力接近终端用户。有些是非常低的延迟(5 到 20ms)、高带宽、监管原因、实时用例、智能且强大的终端设备等等。

虽然边缘计算是一个老概念,并且我们已经在内容交付网络 (Content Delivery Network,CDN) 中使用边缘计算,但近年来它正变得越来越流行。随着互联车辆(自动汽车、无人机)、在线游戏、物联网、智能设备和边缘 AI/ML 的兴起,边缘计算将在 2021 年及以后成为一个巨大的市场。边缘计算将在 2021 年成为关键的另一个原因是 5G 移动设备的兴起。

2021 年,两个行业集团将争夺边缘计算的市场份额。其中一个集团ERP软件是公有云提供商,例如亚马逊、微软、谷歌,在这方面,亚马逊是 AWS Snow family、AWS IoT Greengrass 等许多服务的领导者。微软也提供 Azure Stack Edge、Azure Edge Zone 等边缘计算服务。谷歌也使用 Google Anthos 将它的数据中心服务转移到终端用户。

另一个集团是已经具备边缘基础设施的行业,例如电信公司、数据中心提供商、网络提供商。如果它们能够快速行动并利用它们的优势(例如,现有的基础设施),他们就有机会在这方面发挥领导作用。混合云提供商 RedHat(IBM)凭借其混合云平台 OpenShift 和 OpenStack 的参与,将成为这里的关键选手。

请为 2021 年及以后边缘计算领域的许多创新、融合、并肩战斗和标准化做好准备。

3、云:AWS 领先,但多云会是未来

在公有云供应商中,谁是领导者是毫无疑问的。在 2020 年第三季度,亚马逊以 32% 的市场份额领跑公有云市场,微进销存软件在其云产品方面表现强劲,在 2020 年实现了 48% 的年度增长。在 2020 年第三季度,微软的市场份额为 19%,而它在 2019 年第三季度的市场份额为 17%。

目前,谷歌是第三大公有云提供商,在 2020 年第三季度的市场份额为 7%。

在 2021 年,亚马逊和微软将分别保持第一和第二的位置。然而,阿里巴巴将在 2021 年取代谷歌,因为它在 2020 年第三季度的市场份额为 6%,仅次于谷歌。

直到现在,亚马逊还不愿意加入多云倡议来保护它的市场份额。但正如我们 10 年前在微软身上看到的那样,整个行业和社区比最大的单个公司更强大。

云原生计算基金会(Cloud Native Computing Foundation ,CNCF) 在多云运动中扮演着关键角色,可以说已经超过了 Linux 基金会。在 2021 年,我们可以看到 CNCF 有更多增长。此外,像 HashiCorp 这样的多云服务供应商会变得更加重要。

一些突出的项目也提供了与流行的特定供应商的云服务的 API 兼容性,例如 MinIO(提供兼容 AWS S3 的对象存储)。在 2021 年,将会有更多类似 MinIO 的倡议,这样我们就可以轻松地切换受欢迎的供应商的服务。

这对整个行业来说是个好消息,正如我梦想的那样,公司可以在多个云上无缝部署它们的应用程序。

4、容器化:Kubernets 称王,Docker 将退场

容器化是云原生 IT 的核心技术,无论是公有云、私有云,甚至是边缘计算。几年来,Kubernetes 已经成为领先的容器编排和管理技术。就像 Linux 之前统治着数据中心一样,Kubernetes 也统治着公有云和私有云。起初,谷歌是 Kubernetes 背后的主导力量,但是现在几乎所有的巨头科技公司都支持 Kubernetes。

所有主要的公有云提供商现在都提供托管的 Kubernets 服务(Amazon EKS、Azure AKS、Google GKE)以及它们的托管容器化服务。另一方面,RedHat 正在使用 OpenShift 在私有云中提供托管的 Kubernetes 服务。

在 2021 年,我们将看到更多对 Kubernetes 的采用,因为它是混合云或多云战略的核心组件。非传统企业应用程序,如 AI/ML、数据库、数据平台、无服务器和边缘计算应用程序也将转移到 Kubernetes。

另一方面,Docker 正在慢慢失去它作为一种现代化技术的魅力。已经有一些倡议来标准化容器格式和运行时,其中两个在最近几年得到了巨大的推动。一方面是 Kubernetes 引领的容器运行时接口(Container Runtime Interface,CRI)。另一方面是 Linux 基金会引领的开放容器倡议(Open Container Initiative,OCI)。

最近,Kubernetes 弃用 Docker 而支持 CRI,并计划在 2021 年的后续 Kubernetes 版本(1.22)中完全移除 Docker

由于 Kubernetes 是容器生态系统中的巨头,2021 年将会是 Docker 终结的开始。从好的方面看,CRI 和 OCI 在 2021 年会获得更大的发展势头,尤其是基于 CRI 的容器将在 2021 年获得巨大的爆发式增长。

5、计算:量子计算将得到推动

量子计算是这个清单上最具革命性的技术。就像数字计算机一样,它有潜力影响每一个领域。许多政府和科技巨头都在探索和投资量子计算。谷歌和 IBM 是这个领域的两个最大的选手。

6、区块链:过山车仍将继续

区块链 (分布式账本) 也是近年来开发的主要颠覆性技术之一。就技术而言,它有改变整个行业的潜力。虽然加密货币在普及这项技术方面发挥了重要作用。它在推动这项技术走向 Gartner 的炒作周期曲线(Gartner’s Hype Cycle curve)的“期望膨胀期”方面也扮演了主要角色。

许多流氓实体利用比特币 Bitcoin 的流行,制造诈骗项目来欺骗那些想在短时间内暴富的普通人。现在,区块链正经历炒作周期曲线的“幻灭低谷”。另外,政府正在干预加密货币来防止诈骗。

其它开源区块链,如以太坊(Ethereum),正在将代码放入区块中,使它能够用于智能合约,这是区块链的未来。

在 2021 年,区块链将更多地作为一种智能合约机制使用,有望进入“启蒙斜坡(Slope of Englishtenment)”阶段。

7、人工智能:AI 将惠及所有人

作为近来最热门的技术之一,人工智能在 2020 年也取得了许多突破。另一个有意思的趋势是,人工智能开始以“全民 AI(AI for all)”的口号进入所有领域。

在 2021 年,自然语言处理将取得突破性进展,人工智能将撰写文章或编写小型应用程序。

另一个有趣的发展是 AutoML 2.0,它支持工程自动化。在 2021 年,全周期人工智能自动化将取得重大进展,人工智能将更加平民化。

人工智能并不是没有偏见的,有道德的人工智能正变得越来越有吸引力。人工智能领域的另一个主要趋势是可解释的人工智能,即人工智能为什么做出某种决定需要一个解释。在 2021 年,随着欧盟对解释人工智能的决定制定法规,这些领域将取得重大进展。

8、深度学习库:TensorFlow 2.0 和 PyTorch

谷歌和 Facebook 是深度学习和神经网络领域的两大主导者。谷歌的主要业务是搜索能力,它是自然语言处理领域的领先创新者。Facebook 的主要业务是社交网络,它必须处理图像、视频和文本。在图像处理领域,Facebook 是技术领导者,有许多创新。

出自谷歌的 TensorFlow 是深度学习领域的领先的库,但是 2016 年 Facebook 发布了 PyTorch 后一切都发生了变化。PyTorch 使用动态图而不是(TensorFlow 使用的)静态图,并且对 Python 更加友好。作为回应,谷歌在 2019 年创建了 TensorFlow 2.0,复制了 PyTorch 的很多功能(动态图、对 Python 友好)。它还与谷歌的 Collab 完美结合(Collab 是一款非常现代且功能强大的笔记本)。

另一方面,开发人员喜欢用 PyTorch 工作,它以更好的开发人员工效学而更受开发人员的喜爱

在 2021 年,TensorFlow 2.0 和 PyTorch 将成为企业和社区的“首选”库。拥有 TensorFlow 代码库或者想要使用 Collab 笔记本的企业应该使用 TensorFlow 2.0。刚进入深度学习或者想要继续使用 Juypter 笔记本的企业或个人应该选择 PyTorch。

9、数据存储:一个尺寸不能填满所有

现代数据库的前景充满选择和广泛的变化。我们有经典的 SQL 数据库,主要是四大数据库:MySQL、 Oracle、 MS-SQL、 PostgreSQL。我们也有 NoSQL 数据库,主要由一系列数据库组成:文档、键值对、宽列、时间序列、搜索、图。还有许多其它类型的数据存储。

我们最近看到了所谓的全球分布式 ACID 事务数据库或者 NewSQL 数据库。谷歌凭借 Google Spanner 成为这个领域的领导者,Google Spanner 是首个水平读 / 写可伸缩的 ACID 兼容数据库。亚马逊也有一个水平可扩展 ACID 兼容数据库,Amazon Aurora,提供几乎所有的 SQL 功能,但没有水平写入伸缩。除了超大规模云提供商之外,CockroachDB 也是一个非常突出的 NewSQL 或分布式 SQL 数据库。

在 2021 年,数据存储生态系统将保持现在的样子,有很多选择。没有一种数据库可以满足所有的目的。在 2021 年,选择正确的数据也将是一个非常具有挑战性的任务,需要仔细考虑。

许多流行的数据库已经修改了它们的许可 (MongoDB、 Cassandra、 Redis、Kafka),因为超级规模的云提供商,尤其是亚马逊,滥用了它们的创新,赚了钱却没有回报。这一趋势在 2021 年将继续,其它初创公司或创新型公司将使用更严格的许可来保护他们免受云提供商的掠夺。

10、数据密集型计算:Spark 将继续领先

就在几年前,Hadoop 还是数据密集型计算或分布式批处理任务的默认选择。Apache Spark 目前是供应商中立的分布式批处理任务平台的首选,在大多数情况下几乎取代了 Hadoop。

这一趋势将在 2021 年继续,Spark 将被用作数据密集型计算的首选平台。Spark 是一个基于 JVM 的系统,需要非常大的资源,你将得到一份巨大的云账单。但不幸的是,目前还没有一个资源节约型的框架能匹配 Spark 的能力和成熟度。

所有主流的云提供商都有它们自己的云原生解决方案来进行数据密集型计算。我的个人建议是在 2021 年使用 Spark 而不是特定的云解决方案,以避免供应商锁定。

11、实时流处理:Flink 将是明显的选择

近年来,随着企业抛弃传统的 Lambda 架构,转而使用实时流处理框架,实时流处理正变得越来越流行。

此外,这里存在两种类型的框架。一种是以 Spark Streaming 为核心的基于微批量的平台。另一种是以 Apache Flink 为核心的低延迟流处理平台。

Apache Flink 在需要实时流处理(欺诈检测、异常检测、基于规则的警报、实时数据即时分析)的场景中超越了 Spark 流处理。

所有超大规模云提供商也提供了它们自己的解决方案。我建议在 2021 年选择 Flink,而不是 Spark 或者专有云解决方案,因为它在实时流处理方面具有无与伦比的能力。

12、数据平台:其他人将追随 Snowflake

现代数据架构相当复杂。它包含数据源、ETL 管道、数据仓库、数据湖、数据分析工具以及许多其它组件。