了解 data flow 並知道需求和 issue 需要看的子系統之後,接下來就可以更深入的介紹,假設系統是部署在 AWS 上,可以畫出 AWS 的 infra ,讓新人更了解這個子系統會用到哪些 AWS 服務,用這些服務來做什麼,每個 Service 之間的關係,以及這些 resource 的名稱。
以下面的圖為例,可以看到這個系統用了三個 Lambda ,分別是 auth 、 payment_handle 和 order_status ,如果今天有一個需求是要調整付款的邏輯,新人看到這個 infra ,應該可以很快地猜出應該是要改 payment_handle 這隻 Lambda ,然後就可以專注於 payment_handle 的程式碼。
或者客戶反應查詢訂單時遇到 internal server error ,從下面的圖知道 log 會送到 cloudwatch ,可以直接從 cloudwatch 找 order_status 的 log 確認是什麼問題。
除了 infra 架構圖之外,也可以使用 UML 說明程式的細節,幫助新人知道要修改哪支程式。
如果需要查看資料庫的資料,使用 ER Model 解說系統架構,也是一個不錯的方法,新人能夠從資料表的關係了解,要看哪些資料表查問題。