AWS 效能效率 = 選對服務、自動擴展、善用快取、持續監控、理解取捨。
一、Performance Efficiency 是什麼?
Performance Efficiency 指的是有效率地使用運算資源來滿足系統需求, 並且在需求改變、技術演進時,仍然維持良好的效能。
簡單說,就是讓系統在不同流量、不同資料量、不同使用情境下, 都能維持穩定且合適的效能。
二、AWS 效能效率設計重點
選對服務
Serverless
自動擴展
快取
全球加速
持續監控
- 善用先進技術:AWS 持續推出新服務與新功能,可能大幅改善架構。
- 快速全球部署:需要多區域部署時,應該靠自動化快速完成。
- 使用 Serverless:不需要管理伺服器,服務可依需求自動擴展。
- 頻繁實驗:現在跑得動,不代表未來流量變 10 倍還跑得動。
- 理解服務特性:不同服務適合不同場景,選錯服務會影響效能與成本。
- 理解效能取捨:快取、資料一致性、成本、即時性都要一起考量。
三、AWS 服務整理
| 類別 | AWS 服務 | 用途 | 白話說明 |
|---|---|---|---|
| 自動擴展 | Auto Scaling | 根據需求自動增加或減少資源 | 流量變大自動加機器,流量變小自動減少 |
| Serverless 運算 | AWS Lambda | 執行事件驅動程式碼 | 不用管主機,有事件來就執行 |
| 虛擬主機 | Amazon EC2 | 提供可控的運算資源 | 需要自己管理主機,但彈性高 |
| 磁碟效能 | Amazon EBS | 提供 EC2 使用的磁碟 | 需要高 I/O 或穩定磁碟效能時使用 |
| 物件儲存 | Amazon S3 | 儲存大量檔案與物件 | 圖片、備份、Log、靜態檔案常放這裡 |
| 關聯式資料庫 | Amazon RDS | 受管關聯式資料庫 | AWS 幫你管 DB 主機、備份與維護 |
| 高效能資料庫 | Amazon Aurora | AWS 雲端原生關聯式資料庫 | 更偏雲端化與高擴展的資料庫選項 |
| 快取 | ElastiCache | Redis / Memcached 快取服務 | 熱門資料先放記憶體,加速查詢 |
| CDN | CloudFront | 全球內容快取與加速 | 讓使用者從最近的節點拿資料 |
| 監控 | CloudWatch Metrics | 收集效能指標 | 看 CPU、延遲、錯誤率與容量壓力 |
| 告警 | CloudWatch Alarms | 指標異常時通知或觸發動作 | 超過門檻就提醒你 |
| 儀表板 | CloudWatch Dashboards | 視覺化監控畫面 | 把系統狀態集中看 |
| 基礎架構自動化 | CloudFormation | 用模板建立 AWS 資源 | 快速、一致地部署環境 |
| 大量資料搬移 | AWS Snowball | 用實體設備搬移大量資料 | 網路傳太慢時,用設備寄送資料 |
四、生活化比喻
Performance Efficiency 可以想成經營一間餐廳。
- Auto Scaling:客人變多時,自動加開櫃台與廚師。
- Lambda:臨時外包人員,有任務才出現,做完就離開。
- EC2:固定員工,彈性高,但要自己管理。
- EBS:廚房設備,設備效能會影響出餐速度。
- S3:大型倉庫,適合放大量食材、包材與備品。
- RDS:訂單資料庫,負責保存訂單、會員與庫存資料。
- Aurora:升級版訂單系統,更適合高流量需求。
- ElastiCache:熱門菜先備好,不用每次從頭煮。
- CloudFront:各地取餐點,客人不用都跑回總店。
- CloudWatch:餐廳監控看板,看排隊人數、出餐時間、錯誤訂單數。
- Snowball:搬整個倉庫時,直接叫貨櫃車。
五、整體概念流程圖
系統需求產生
例如:使用者變多、資料變大、查詢變慢
│
▼
[選擇合適運算方式]
EC2 / Auto Scaling / Lambda
決定要自己管主機,還是使用 Serverless
│
▼
[選擇合適儲存方式]
EBS / S3
依照磁碟效能、物件儲存、資料量選擇
│
▼
[選擇合適資料庫]
RDS / Aurora
依照關聯式資料、讀寫壓力、擴展需求選擇
│
▼
[提升讀取效能]
ElastiCache / CloudFront
用快取降低後端壓力,加快使用者存取速度
│
▼
[全球化部署]
CloudFront / Multi-Region / CloudFormation
讓服務可以更快部署到不同區域
│
▼
[監控效能]
CloudWatch Metrics + Alarms + Dashboards
觀察 CPU、延遲、錯誤率、Throttling
│
▼
[持續調整與實驗]
測試不同架構與服務組合
找出效能、成本、維運之間的最佳平衡
│
▼
[做出取捨]
速度 vs 成本
即時性 vs 快取
自管彈性 vs Serverless 簡化
網路傳輸 vs Snowball 搬移
六、常見誤解與正確觀念
| 常見誤解 | 正確觀念 |
|---|---|
| 效能不好就把 EC2 開大 | 不一定要 Scale Up,很多時候應該水平擴展或換服務 |
| Serverless 一定比 EC2 快 | Serverless 是少管理、好擴展,不代表所有場景都最快 |
| 有 Auto Scaling 就不用監控 | Auto Scaling 也需要 CloudWatch 指標與告警判斷是否有效 |
| CloudFront 只是加速圖片 | CloudFront 可加速靜態與部分動態內容,也能降低來源伺服器壓力 |
| ElastiCache 一定適合所有系統 | 快取適合讀多寫少或熱門資料,但要處理資料過期與一致性問題 |
| RDS 不夠快就一定換 Aurora | 要先確認瓶頸是 CPU、I/O、SQL、Index 還是連線數 |
| S3 可以取代所有儲存 | S3 是物件儲存,不是傳統檔案系統或區塊磁碟 |
| EBS 效能都一樣 | 不同磁碟類型適合不同 I/O 與延遲需求 |
| Snowball 是即時資料傳輸工具 | Snowball 適合大量資料搬移,不適合即時同步 |
| CloudWatch 只看有沒有掛掉 | CloudWatch 更重要的是看趨勢、瓶頸、延遲、錯誤率與容量壓力 |
| 效能效率就是追求最快 | 真正的效能效率是效能、成本、穩定性、維運複雜度之間的平衡 |
七、總結
AWS 效能效率不是把機器開到最大,而是根據工作負載選對服務,
搭配 Auto Scaling、Lambda、ElastiCache、CloudFront、CloudWatch 等工具,
在效能、成本、穩定性與維運複雜度之間取得最佳平衡。
沒有留言:
張貼留言