![]()
作者 | Ben Linders
譯者 | 平川
我們的系統(tǒng)架構(gòu)會隨著技術(shù)和開發(fā)實踐的發(fā)展而變化,但我們實踐架構(gòu)的方式并沒有跟上這種變化。按照 Andrew Harmel-Law 的說法,架構(gòu)需要去中心化,就像我們?nèi)ブ行幕覀兊南到y(tǒng)那樣。在哥本哈根舉行的 Goto 大會上,他提出了架構(gòu)建議流程。
Harmel-Law 說,架構(gòu)設(shè)計的最大挑戰(zhàn)是在恰當?shù)臅r間做出恰當?shù)倪x擇。架構(gòu)決策無處不在,無時無刻不在發(fā)生。如果只有少數(shù)被指定的人負責并承擔所有決策的責任,那么他們就必須基于完整準確的信息與背景為所有人做出最優(yōu)決策。他們還需要對所有這些決策負責:
他們不僅要確保每個人都了解他們對架構(gòu)的理解;他們還必須不斷從實施和運行這些架構(gòu)所產(chǎn)生的反饋和錯誤中學習。 坦白說,這是不可能的,如果你不想成為一個阻礙流程運轉(zhuǎn)的人。
Harmel-Law 說,傳統(tǒng)的架構(gòu)實踐方法(“象牙塔”和“動手型架構(gòu)師”這兩種思維定式)不具有可擴展性,會阻礙流程的正常運轉(zhuǎn),并且沒有充分考慮來自運行(測試)代碼的反饋循環(huán)。“架構(gòu)師”這個傳統(tǒng)角色需要變成對話的發(fā)起者和指導者,推動恰到好處的共識形成,并創(chuàng)造學習與快速反饋的空間。
相對于由一位架構(gòu)師做出并傳達決策,有一個替代方案是“讓任何人都能做決策”。Harmel-Law 解釋說,架構(gòu)建議流程為此創(chuàng)造了空間:
聲明“任何人都可以做出任何決策,只要他們從所有受影響方和那些有專業(yè)知識的人那里尋求建議(這與許可不同)”,這可以將決策的職責和責任轉(zhuǎn)移給需要它們的人。雖然沒有人有義務(wù)做出決策,但它允許那些自己覺得有必要的人這樣做。
接下來發(fā)生的事情是,架構(gòu)對話開始在需要的地點和時間發(fā)生。Harmel-Law 提到了兩個案例研究,參見 InfoQ 的文章:“賦予團隊權(quán)力:去中心化架構(gòu)決策”以及“Xapo 銀行的去中心化架構(gòu)實踐”。
Harmel-Law 說,在這種情況下,“架構(gòu)師”角色分散到整個組織中,那些傳統(tǒng)上扮演這個角色的人退回到建議者、背景提供者、決策教練和對話策展人的角色。架構(gòu)實踐擴展到需要實踐架構(gòu)設(shè)計的人,并由具有相關(guān)經(jīng)驗的人提供支持:
對于一個曾經(jīng)扮演過傳統(tǒng)“架構(gòu)師”角色的人,這種體驗的變化令人興奮。
使用架構(gòu)建議流程,任何人都可以做出任何架構(gòu)決策,只要他們從以下人員那里尋求建議:
那些受影響的人
那些有專業(yè)知識的人
采用架構(gòu)建議流程是一場革命;這是回歸到軟件系統(tǒng)設(shè)計的第一性原理,將重點放在架構(gòu)實踐上,即在恰當?shù)臅r間讓恰當?shù)娜诉M行恰當?shù)膶υ挘琀armel-Law 解釋說:
這種實踐將以一種獨特的方式呈現(xiàn)出來,其獨特性體現(xiàn)在你自身、你的同事、現(xiàn)有的系統(tǒng)、你的客戶、技術(shù)的總體演變以及市場等諸多方面。
Harmel-Law 提到了一些需要重點注意的失效模式:
“糟糕的決策”——特別是高層人士介入阻止決策發(fā)生。
“Old guard == new guard”——仍然是同樣的人(高級架構(gòu)師)在做所有的決策。
“雷達外決策”——私下或在不遵循流程的情況下做出決策(如不尋求適當?shù)慕ㄗh,或不將所有內(nèi)容記錄在架構(gòu)決策報告[ADR] 中)。
不信任——人們彼此都不信任對方會遵循流程并對決策結(jié)果負責。
Harmel-Law 說,起初,參與者可能會遇到一些困難,因為他們難以摒棄自己原有的思維模式。架構(gòu)決策不再需要共識,建議提供者也不是在為決策提供“許可”——決策權(quán)始終掌握在發(fā)起當前決策流程的人手中。如果所提供的建議未納入最終決策,那也是完全可以接受的。
Harmel-Law 舉了一個例子,有一個團隊想要為他們正在編寫的服務(wù)選擇一個新平臺。選項包括:一組 lambda 函數(shù)、一個在 Kubernetes pod 上運行的微服務(wù),或者一系列定制的計算節(jié)點:
系統(tǒng)架構(gòu)師就 lambda 選項提供建議,并在相關(guān) ADR 上發(fā)表評論。他們指出,根據(jù)他們的經(jīng)驗,lambda 啟動速度慢,并且會增加狀態(tài)管理的難度。盡管理解這些擔憂,但團隊仍然可以選擇基于 lambda 的選項。他們會對決策負責。雖然他們可能已經(jīng)理解了系統(tǒng)架構(gòu)師的擔憂,但卻不一定要遵循架構(gòu)師的建議。
這不僅改變了架構(gòu)實踐,也改變了那些從事架構(gòu)設(shè)計的人的心理模型。Harmel-Law 說,架構(gòu)實踐從一種等級化、封閉式的半秘密知識體系和權(quán)力博弈,轉(zhuǎn)變?yōu)橹R共享和經(jīng)驗共創(chuàng)的實踐。它弱化個人知識儲備(“我知道一些有價值的東西,其他人都不知道,因此我有權(quán)力”),推崇集體知識流動(“當正確的信息在恰當?shù)臅r機傳遞給合適的人群時,我們都能從中受益”)。
https://www.infoq.com/news/2026/03/architecture-advice-process/
聲明:本文為 InfoQ 翻譯,未經(jīng)許可禁止轉(zhuǎn)載。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.