養小孩^3的時間真的過得特別快 T_T 來記些最近隨手用到的、零碎的知識。

AWS CloudFormation 包含了 CreationUpdateDeletion 等三類 Policy,但在設計 Infrastructure-as-Code 的服務時,建議將資料層(資料庫)與應用層的 Stack 分開,且資料層要有自 Snapshot 還原的機制,避免後續維運困擾。兩群 Stack 可以透過 Nested StackExport Value、Service Registry / Discovery、或是 CI 注入的方式再組合起來。

若考慮上線後持續優化資料層,對接的應用層最好能同時連接多個對等的資料層,以實現雙寫、雙讀等模式;這也適用於實現跨 Region 的各種一致性設計。為了簡化應用層的設計,我們將資料邏輯自應用層抽離成為資料應用層,與資料層合併成為獨立的 Web Service。