
架構不是只有「怎麼開發」,更是「怎麼活下來」。
先講結論
大多數團隊啟動專案時只想著怎麼把功能做出來,但依照比重來說,維運才是人力消耗最沉重的地方。沒有好的架構基礎,開發跟維運的人力消耗會大到你不敢相信。
為什麼要了解架構?
我見過最經典的慘案是這樣的:開發人員跑去主導 Infra 議題,R&R 混亂到沒人知道該找誰。好一點的結果是重工,慘一點就是半夜 on-call 修機器變成家常便飯。
你可能覺得「我就寫好我的 code 就好了吧?」——但如果整個系統架構是歪的,你寫再好的 code 也只是在一棟快倒的大樓裡面精心裝潢一間套房。
好的架構長什麼樣?
我把它拆成三個維度來看:
CI/CD 與版本控制——你的程式碼怎麼管理、怎麼部署、怎麼在出事的時候退回去。這塊搞不好,部署就像玩俄羅斯輪盤。相關的有 CD 持續整合與持續部署、泛用 Git 流程及對應指令、Release 流程。
前後端設計——不是說你用了 React 加 Django 就叫好架構。是你的 後端 MVP 設計原則 跟 前端 MVP 設計原則 有沒有被想清楚。
監控與日誌——系統掛了你知不知道?知道的話能不能快速定位問題?泛用 Log 設計 就是在處理這件事。
對服務跟團隊的要求
好的架構對服務來說:有固定的部署頻率而且可以被檢視、出事有共識的復原流程、版本控制原則清晰、程式架構一致(或正在往一致的方向走)、隨時知道系統運行狀況。
好的架構對團隊來說:有明確的角色責任定義、有意識地在培養替代人力、是一個學習型組織。
你可能注意到了——這裡面技術只占一半,另一半是人跟流程的問題。架構從來不只是技術決策,它更是組織決策。
好的架構讓你半夜睡得著,爛的架構讓你半夜被叫起來。