iT邦幫忙

2025 iThome 鐵人賽

DAY 29
0
Build on AWS

一步步帶你認識 Cloud Native —— 用AWS免費服務打造雲原生專案系列 第 29

Day29 AWS Well-Architected Framework 專案回顧 | 用雲原生思維檢查系統

  • 分享至 

  • xImage
  •  

前言

從 Day1 談 Cloud Native 的概念,到今天已經來到倒數第二篇文章。一路走來,我們實作了 Cognito 登入、API Gateway + Lambda 後端、DynamoDB 資料模型,還加上 CI/CD Pipeline 自動化部署。

今天就不急著衝新功能,先停下來回頭看看,這 29 天我們到底完成了什麼,然後帶大家認識一個 AWS 的經典指南——Well-Architected Framework (WAF),看看它怎麼幫我們把專案跟「雲原生思維」串起來。


AWS Well-Architected Framework 是什麼?

早期很多人搬上雲的第一步,就是「把資料中心的東西原封不動搬到 AWS」。結果雖然是在雲上跑,但維運還是麻煩、成本也沒省多少。

AWS 看久了就發現:大家需要的不只是服務,而是一套「判斷架構好壞」的準則。於是 2015 年,Well-Architected Framework 誕生了。

它不是規範,更像是一份「架構健康檢查表」,讓你在設計或回顧系統時,能用六大支柱來檢視:

  • 卓越營運 (Operational Excellence):能不能好好維運?
  • 安全性 (Security):資料和存取有沒有顧好?
  • 可靠性 (Reliability):系統掛掉能不能自動恢復?
  • 效能效率 (Performance Efficiency):資源用得聰不聰明?
  • 成本最佳化 (Cost Optimization):有沒有亂燒錢?
  • 永續性 (Sustainability):有沒有避免浪費、不必要的負擔?

這六個面向,就是 AWS 用來引導使用者走向「雲原生最佳實踐」的指南針。


專案回顧:我們完成了什麼?

回顧一下這個「多人協作平台」專案,我們一路完成了:

  • 身分管理 (Cognito)

    • User Pool 管會員登入
    • 支援 Google 登入 (Federated Login)
    • JWT Token 驗證 API 請求
  • 後端邏輯 (API Gateway + Lambda)

    • 對外提供 REST API
    • Lambda + DynamoDB 完成 CRUD
    • API Gateway 串接 Cognito,做 Token 驗證
  • 資料模型 (DynamoDB)

    • 單表設計:專案 (Project)、使用者 (User)、事件 (Event) 放在一起
    • GSI 讓「使用者為中心」的查詢成為可能
    • LSI 幫助排序與篩選
  • 部署與自動化 (CI/CD)

    • GitHub Actions + AWS CDK
    • OIDC + IAM Role 確保安全部署
  • 前端 Demo

    • Cognito Hosted UI 登入流程
    • Amplify 串接 Cognito,拿 Token 打 API
    • Cloudfront OAC 0信任分發 S3 資源

一路看下來,其實已經是一個能跑的雲原生小平台了。


用 WAF 檢視專案

光有功能還不夠,我們也要看看這個架構「健康不健康」。這時候 WAF 就派上用場。

把我們的成果放進六大支柱的框架來看,大概是這樣:

WAF 支柱 對應實踐
Operational Excellence (卓越營運) GitHub Actions + CDK,自動化部署與版本控管
Security (安全性) Cognito 登入驗證、IAM Role 最小權限原則
Reliability (可靠性) Serverless 架構 (Lambda + DynamoDB),天然高可用
Performance Efficiency (效能效率) DynamoDB 單表設計,靠 GSI/LSI 提升查詢效率
Cost Optimization (成本最佳化) Free Tier 開發 + AWS Budgets 做成本控管
Sustainability (永續性) Serverless 彈性計算,需要才用,避免資源浪費

可以看到,用 WAF 來檢視專案,就像是把一個「功能清單」轉換成一個「架構清單」。

其實這也是 WAF 在業界最常見的用法之一:

  • 設計前:當作 checklist,幫助團隊避免遺漏重點。
  • 專案進行中:用來對照現況,找出潛在改進空間。
  • 系統上線後:定期健康檢查,確保架構沒有隨著時間變得昂貴或脆弱。

換句話說,WAF 不只適用在這個小專案,而是能陪伴任何系統的全生命週期。


小結

今天我們先放慢腳步,整理這 29 天的成果,並用 WAF 幫專案做了一次「健康檢查」。

結果發現,之前一個個看似獨立的實作,其實都能和 WAF 六大支柱對應起來。這不只是巧合,而是雲端服務設計背後的思維自然展現。

對我來說,這系列的收穫不僅是「做出一個能跑的平台」,更是開始養成了 用雲端思維看待架構 的習慣。

明天就是 Day30,也是最後一篇。我會帶大家完整展示這個協作平台的成果,並聊聊未來的擴充方向。敬請期待!


上一篇
Day 28 雲上的成本可視化:用 AWS 工具避免帳單驚喜
下一篇
Day30 雲原生專案 Showcase 與未來展望
系列文
一步步帶你認識 Cloud Native —— 用AWS免費服務打造雲原生專案30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言