天天看點

2021年InfoQ 軟體行業發展趨勢觀察

作者 | 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/

繼續閱讀