作者 | Daniel Bryant, Wesley Reisz, Thomas Betts, Charles Humble 等
译者 | 平川
策划 | 丁晓昀
在 2021 年即将结束的时候,InfoQ 播客的联合主办方开会讨论了我们在过去一年里观察到的软件行业的主要发展趋势,以及他们在 2022 年将继续关注的内容。除了这份总结之外,你还可以收听播客集,或者查阅讨论的完整文字记录。
Daniel Bryant 主持了讨论过程,Wesley Reisz、Shane Hastie、Charles Humble、Srini Penchikala 和 Thomas Betts 等参加了讨论。
混合及远程办公
2020 年,团队工作方式最显著的变化就是被迫转向远程办公,现在已经演变为“混合”办公,并且很可能成为未来的标准。InfoQ“文化与方法“主编、InfoQ 文化播客主持人 Shane Hastie 说:"我们再也不会回到一周五天、每天通勤时间三小时这样的生活中去了。在软件领域,大多数人都不需要为了提高工作效率而每天待在办公室里"。
然而,这确实带来了一系列新的挑战。在混合办公模式下,团队成员大多在家里,偶尔在办公室,这就需要找到合适的平衡点,让团队一起办公。一些组织正越来越多地采用异步模式,并尽量减少甚或消除同步会议,如 Zoom 电话会议。Hastie 说,我们需要在文化、理念和思维方式上做出转变,这样这些新的工作方式才能取得成功。他认为,长期来看,最大的影响将是看哪些试验能取得成功,并从失败中汲取教训并做出调整。
我们正处于“大辞职”的浪潮中,很明显,个人更加重视自己和家庭的幸福感。这与开发者和员工体验有关,组织必须更加努力,证明自己可以提供很好的工作环境。
在多样性、包容性和公平性方面,过去的一年好坏参半。某些方面出现了倒退,最明显的是,女性比男性承担了更多与大流行病相关的职责。不过,在那些当前雇用远程员工(而不是那些住在办公室附近或可以搬迁的有限人群)的公司中,多样性和包容性都得到了改善。
混合环境有可能造成一种新的分化,公司需要刻意做出努力,做到对所有员工一视同仁,不管他们是在办公室还是在远程。Wesley Reisz 提到了 QCon Plus 一个专注于回归办公室的议题,其中有个例子是 Netflix 采取专门的措施,使领导者能够更好地与他们的远程员工进行联系。
Thomas Betts 提出了“同步光谱(The Spectrum of Synchronous)”,这也是 James Stanier 在该议题中的演讲主题。一个极端情况是每个人都在办公室里,交流完全同步,另一个极端情况是,每个人都在远程,所有交流都是异步的。混合环境是介于两者之间,有一个恰当的平衡。对于文档类的东西,异步没什么问题,但失去了人性,所以为了有一个健康的环境,仍然需要一些面对面的时间。
远程和混合办公的另一个方面是建立联系和人际关系网络。对新来的年轻员工来说,这尤其具有挑战性,他们可能会以远程方式开始他们的第一份工作。公司和老员工要有意识地帮助年轻员工建立联系。
架构趋势
微服务仍然是一种主要的架构模式,2021 年,Thomas Betts 提出了 康威定律的 COVID 推论,即一个公司开发分布式系统的能力与他们维持全远程办公的能力直接相关。反之,如果你们的流程依赖于很多人在同一个房间里同步沟通,那么你们在向远程办公过渡时就可能会陷入挣扎,而且很可能没法成功采用微服务。此外,远程团队之间有效的异步沟通可以成为异步软件开发能力的一种信号。
在工具和标准方面,2021 年,AsyncAPI 成熟了不少,有许多新的工具和语言支持了该规范。它比它所基于的 OpenAPI 规范晚了几年,而增长和采用情况也在以类似的方式增加。这将使更多的人使用契约来定义异步通信的边界,以及使用代码生成为集成事件驱动架构的开发人员提供帮助。
数据网格也开始作为一种新的趋势出现。其理念是将领域驱动设计的概念应用于数据,而数据产品只是开发团队额外多出来的一项职责。2021 年,我们看到许多人在谈论数据网状,Betts 期待 2022 年可以看到有公司开始实施它,并分享他们成功的故事,以及他们现实中必须克服的挑战。
AI 和 ML
在 2021 年,Srini Penchikala 在 AI 和 ML 方面观察到了 4 个发展趋势。首先是数据管理。“数据管理包括数据摄取、数据存储、数据处理、数据整合(使用 GraphQL 或其他基于 API 的数据访问解决方案),然后是数据处理和分析。”流是主要的趋势,而数据的产生非常频繁,例如来自物联网设备或自动驾驶汽车。
接下来的两类是基础设施和运营,Penchikala 说,数据领域在创新方面通常会落后,现在正在追赶我们在开发和架构方面看到的发展趋势。对于基础设施,公司正在利用容器来运行 Spark 作业,使用 Kubernetes 根据需求为机器学习解决方案扩容或缩容,并且正在实施基于 GPU 的解决方案。
数据运营是一种基于 DevOps 的数据系统运营方法,进而会发展成 ML Ops。典型的机器学习生命周期需要模型、训练数据和测试数据,然后需要通过迭代来找出哪个模型的效果好并部署到生产环境中。人工操作无法满足商业用户的需求,而 ML Ops 试图将这一过程自动化,并实现模型的版本管理和动态应用。
伦理、能源与环境
对于数据,Penchikala 提到的最后一个分类是伦理,业界正试图在使用人工智能、ML 和数据工程解决方案时兼顾责任和公平性。但数据只是软件伦理的一个方面,而且这个主题最近才作为计算机科学课程的一部分来教授。Humble 说:“我们构建的系统可以对人们的生活产生深远的影响,对此,我们谈论得不够,推理也不够,这真的很可怕。”
虽然我们看到计算机学位的课程中有伦理学,但其程度无法与工程相比。在工程中,经过认证的专业工程师会签字确认设计安全。正如 Reisz 所指出的,教授软件伦理学的一个挑战是,“我们还没有对如今编写的软件做伦理学分类”。当软件使用 ML 模型来决定哪些人获得资源时,这是个比无轨电车方案更复杂的问题。
软件对环境的影响也是一个日益受到关注的问题,而且人们最近才开始讨论。软件消耗了全球 10% 的电力,对环境的影响比航空业还大。有一些具体的例子,如加密货币开采,但所有人工智能和 ML 都对人和环境有着重大的影响。
Humble 认为,我们倾向于关注个体开发者能做什么,但这实际上是大型云供应商需要关注的问题。如果你把代码转移到云中,然后要求云供应商所使用的所有能源都是绿色的,这将是一个非常好的开始,而且会比其他任何东西都更有价值。需求塑造的理念,即让你的代码以最环保的方式运行,是 Asim Hussain InfoQ 播客 中的主题。
Reisz 甚至说,“可持续性和伦理可能是我们作为软件开发人员所面临的最大的问题”。他提到了 Astrid Atkinson,她离开谷歌后创办了 Camus Energy,并在 QCon Plus 大会上做过演讲。Reisz 认为,这只是人们运用软件技能来关注能源和环境问题的一个例子。
存储关于人的数据
关于人的数据是伦理问题的一个子集,它是如何被存储、使用和提供的。在过去的几年里,GDPR、CCPA 和其他类似的法案,迫使人们思考这些问题。在过去,法规通常侧重于强迫公司采取一种可能已经过时的解决方案。相比之下,GDPR 则提出了一个还没有明确解决方案的问题,由此引发了人们对解决方案的更多的公开讨论。讨论还在继续,有许多新的问题需要回答。我们如何保证个人的隐私安全?谁应该拥有这些数据?数据应该存放在哪里?
GitHub Copilot 与编码辅助工具
GitHub Copilot 和其他基于人工智能的编码辅助工具的引入,让人们看到了在极端情况下不再需要开发人员的可能性。Reisz 认为,我们不会很快就看到真正的通用人工智能,但我们会看到人工智能能够增强人类的能力。他用汽车的巡航控制做了类比。一开始只是保持一个设定的速度,现在已经发展到了车道保持辅助,最终是完全的自动驾驶。Copilot 帮助处理样板代码,几十年来,开发人员一直因为要编写这样的代码而抱怨。这使得开发人员能够更专注于具体的业务需求。
根据 Charles Humble 的说法,这些工具只处理简单的部分,但是,“在软件开发中,困难的部分是弄清楚要构建什么,而这些工具在这方面都没有提供真正的帮助。”低代码解决方案也是如此,它让商业用户可以快速解决小问题。但是,当你需要以可重复的方式构建可扩展、可增长的软件时,这些解决方案就会失效。在 2018 年 QCon 旧金山会议的主题演讲 中,Grady Booch 将软件描述成是致力于不断提高抽象层次的艺术。Reisz 认为这是一种更高层次的抽象。
云计算
云计算是一个 900 亿美元(USD)的产业,而且不会变小。多云和混合云是一个无法回避的现实,最常见的原因是兼并和收购。因为这个现实,我们现在看到了混合云需求的技术解决方案,如 GCP Anthos 和 AWS Outposts。Bryant 认为,观察控制平面将非常有趣,因为公司要处理治理、安全以及其他跨云供应商的交互。
采用云原生模式仍然至关重要,因为它更好地支持了云无关设计,可以以不同的方式部署。其中一个子集是云原生数据实践,在架构上,它提供了一个集成层来处理用户授权等通用策略。这可以帮助缓解 "数据引力 "的问题,即系统中所有的东西都是基于数据的存储位置而构建。
一些为云平台“铺路”的工具正在创建之中,其中提到的两个工具是 Open Policy Agent(Reisz 与项目的共同创建者进行了讨论)和 Crossplane(它让你可以遵循 开放应用模型 构建自己的 PaaS)。
软件供应链、区块链与 NFT
对 2021 年一些备受关注的网络攻击的反思,引发了人们对软件供应链的讨论,以及我们该如何处理依赖关系。几乎所有的软件都有依赖关系,无论是库还是云服务,这引发了人们对如何理解自己所运行的整个代码栈的关注。有一些工具正在创建之中,但目前,我们没有办法说,“我可以验证这个软件是我认为的那样”。可悲的是,这种复杂性可能会导致更多的供应链攻击,无论是通过软件编译时的注入,还是通过发行版更新。
Reisz 期待在 2022 年看到区块链和不可伪造代币(NFT)的一些切实可行的用法。最初,我们将看到它们应用在游戏和元空间中,在那里你能够买到真正独一无二或数量有限的东西,并且它将始终属于你。这将催生其他类型的软件,可以在不同的游戏中与你同行。区块链也可以用于隐私用例,如个人的私人医疗记录。
虽然目前还没有这样用,但区块链也可用于软件的认证,验证供应链中某个东西的真实性。Docker、VMware 和其他公司正在提供经过审批的组件和容器目录,让企业可以验证他们正在使用的东西。
展望 2022
Bryant 问每个参与者,他们期待在新的一年里看到什么。
Penchikala 指出,所有的趋势、技术和实践都是相互联系的。他期待看到数据工程、人工智能和 ML 解决方案变得更加符合伦理、更加公平。机器学习和人工智能可能不会取代我们,但为了让它们真正把我们的工作变得更好,我们需要花时间来确保它们符合伦理且是公平的。这可以通过标准化我们验证这些解决方案的伦理性质的方式来实现,包括定义所有相关方的公平性。
Humble 对改善我们阅读和理解代码的方式这个想法非常感兴趣。在过去的 30 年里,我们的行业一直专注于简化代码编写工作。但是,作为一名程序员,你大部分时间可能是在阅读代码,无论是你的还是别人的,并试图理解它做了什么。他一直在研究 Ballerina 语言,它有内置的序列图,可以表示并发模型。修改图也会改变代码,这让我们可以更好地理解并发模型的工作原理。他最近 与 James Clark 谈到了这个问题。
Hastie 正在寻找并拜访更多善待人的人性化工作场所。“我希望这纯粹是因为组织关心人,但在我这个愤世嫉俗的人看来,他们必须这样做,因为他们正在失去优秀的人。如果你想吸引优秀的人,你就需要给他们提供一个好的工作环境”。
Reisz 观察到了一个常见的主题,即提高软件的抽象层次。这增强了软件的能力,让软件可以做更多的事情。
Betts 非常希望看到一个企业实施数据网状的好例子,而不仅仅是高层架构设计。他认为会有一些真正有趣的发展,人们会带来一些很棒的故事,关于他们如何处理数据,一切是如何运作的,以及为什么那相比于过去来说是一种改进。他还想看看是否有可能证明他对康威定律所做的 COVID 推论,即混合和远程优先的公司更擅长编写分布式软件。
对于伦理和可持续性,每个人都有话要说,并且认为,这是未来几年其他一切事物的主要驱动力。Humble 计划抓住一切机会把它作为行业的一个问题提出来。每个人都希望我们能在新的一年里看到这方面的进展。
作者简介:
Daniel Bryant 在 Ambassador Labs 担任 DevRel 总监,同时也是 InfoQ 的新闻经理和 QCon 伦敦大会的主席。目前,他主要关注“DevOps”工具、云 / 容器平台和微服务实施。Daniel 是伦敦 Java 社区(LJC)的负责人,他向多个开源项目做贡献,并为 InfoQ、O'Reilly 和 DZone 等知名技术网站撰稿,还定期在 QCon、JavaOne 和 Devoxx 等国际会议上发表演讲。
Wesley Reisz 是 VMWare 的一名平台架构师。他专注于云原生实践,并对边缘 K8s 很感兴趣(他之前是一家边缘计算平台创业公司的技术副总裁)。Wes 还担任 QCon 旧金山大会的主席,并共同主持了 InfoQ 播客。他的文章和录音可以反映出他对边缘、架构、云原生计算和机器学习的兴趣。此前,Wes 曾担任全球所有英语 QCon 会议的产品负责人,是惠普企业系统的首席架构师,并在路易斯维尔大学担任兼职教授超过 13 年。
Thomas Betts 是 InfoQ 架构与设计的首席编辑,也是 InfoQ 播客的联合主持人,同时还是 Blackbaud 的高级首席软件架构师。二十多年来,他一直专注于提供让客户满意的软件解决方案。他曾在多个行业工作,包括零售、金融、医疗、国防和旅游。Thomas 与他的妻子和儿子住在丹佛,喜欢徒步旅行及探索美丽的科罗拉多州。
Charles Humble 是云原生咨询公司 Container Solutions 的主编。作为一名前软件工程师、架构师和 CTO,他曾在科技公司、特别是最近在内容集团担任高管(从小型初创企业到中大型公司,与离岸、在岸和远程团队合作)。2014 年 3 月至 2020 年 4 月,他曾担任 InfoQ.com 的主编。在此之前,他是薪酬研究公司 PRPi Consulting 的首席技术官,该公司于 2012 年 7 月被普华永道收购。在业余时间,他作为英国环境技术乐队 Twofish 的两名成员之一进行音乐创作,他们 在 2021 年发行了第二张专辑。
Shane Hastie 是 InfoQ.com 文化与方法编辑团队的负责人,并每周一次主持 InfoQ 文化播客。在过去的 30 多年里,Shane 一直是开发人员、测试人员、培训师、项目经理和业务分析师等角色的实践者和领导者,帮助团队实现与总体业务目标相一致的结果。他曾与大大小小的组织合作,从个人团队到世界各地的大型机构。在信息技术和软件密集型产品开发的各个层面,他都有着超过 30 年的实践经验。2011 年至 2016 年,Shane 是敏捷联盟的董事,也是新西兰敏捷联盟的创始主席。Shane 还是一名 ICF 注册的专业教练。“我坚信,现如今,全世界的组织都迫切需要人性化的工作方式和敏捷的思维方式。重要的是要让敏捷的价值观和原则突破软件的范畴,将它们恰当地融合到企业的文化中才是成功的关键——我们所处的行业触及人们生活的方方面面,并对整个社会产生着巨大的影响,我想成为保证这个行业既符合伦理又可持续发展的一分子。”
Srini Penchikala 目前在德州奥斯汀担任高级软件架构师。他也是 InfoQAI/ML/ 数据工程社区的 首席编辑。Srini 在软件架构、设计和开发方面有超过 22 年的经验。他是《Apache Spark 大数据处理》一书的作者,也是 Manning Publications 出版的《Spring Roo 实战》一书的合著者。Srini 曾在大数据会议、企业数据世界、JavaOne、SEI 架构技术会议(SATURN)、IT 架构师会议(ITARC)、No Fluff Just Stuff、NoSQL Now 和 Project World Conference 等会议上发言。他还在 InfoQ、The ServerSide、OReilly Network(ONJava)、DevX Java、java.net 和 JavaWorld 等网站上发表了多篇关于软件架构、安全和风险管理以及 NoSQL 数据库的文章。
原文链接:
https://www.infoq.com/articles/summary-podcast-2021-review/