| 主題 | 重點 | 白話說明 |
|---|---|---|
| AWS Batch 是什麼 | 全受管的批次處理服務 | 你把工作丟進去,AWS 幫你準備算力來跑。 |
| 適合哪種工作 | 有開始、有結束的工作 | 像是每天凌晨跑報表、轉檔、圖片處理、科學運算。 |
| 不適合哪種工作 | 長期持續執行的服務、即時串流 | Batch 是跑完就結束,不是一直在線上的服務。 |
| 核心概念 | Job、Queue、Compute Environment | 工作先進佇列,Batch 再依需求準備後面的運算資源。 |
| 運算資源 | EC2、Spot,也可搭配 ECS / EKS / Fargate | Batch 會幫你決定要開多少資源來跑工作。 |
| 擴展方式 | 自動擴展 | 工作多就多開,工作少就縮回去。 |
| 成本優化 | 可搭配 Spot Instances | 很適合大量、可中斷、想省成本的批次工作。 |
| 工作定義方式 | 用 Docker 映像檔定義 job | 先把程式和環境包好,再交給 Batch 執行。 |
| 你要管什麼 | 主要管工作內容 | 不用太操心機器數量和 Auto Scaling。 |
| 常見用例 | 圖片處理、影片轉碼、大量資料轉換、模擬運算、批次分析 | 都是那種一次丟很多工作進去,跑完就結束的情境。 |
| 與 S3 搭配 | S3 可作為輸入與輸出 | 檔案進 S3 → 觸發 Batch → 處理完再存回 S3。 |
| 考試關鍵字 | large-scale batch processing、Docker、Queue、EC2 / Spot、自動擴展 | 看到大量批次運算、排隊處理、要省成本,常會想到 AWS Batch。 |
AWS Batch vs Lambda 比較表
| 比較項目 | AWS Batch | AWS Lambda |
|---|---|---|
| 工作型態 | 批次工作 | 事件驅動的小型任務 |
| 執行時間 | 沒有明確短時間限制 | 最長 15 分鐘 |
| 執行環境 | Docker 容器,可高度自訂 | 受 Lambda 執行環境限制 |
| 語言限制 | 幾乎不限,能包進 Docker 就行 | 只能用支援的執行環境 |
| 資源規模 | 可用較大 CPU、記憶體、磁碟 | 資源較受限 |
| 儲存空間 | 可搭配 EBS、Instance Store | 暫存空間有限 |
| 底層機器 | 依賴 EC2 / Spot / Fargate | 真正的 serverless |
| 適合情境 | 大量、長時間、重運算任務 | 短時間、事件觸發、輕量處理 |
一句話記憶
| 服務 | 記法 |
|---|---|
| AWS Batch | 大量、排隊、長時間、容器化批次工作 |
| Lambda | 短小、事件觸發、快速執行的 serverless 函數 |
考試最容易考的點
| 題型 | 看到什麼情境 | 優先想到 |
|---|---|---|
| 大量工作排隊處理 | 幾千到幾十萬個 job | AWS Batch |
| 要省成本 | 可接受 Spot | AWS Batch |
| 工作超過 15 分鐘 | 長時間任務 | AWS Batch |
| 要自訂執行環境 | 需要 Docker | AWS Batch |
| S3 檔案處理 | 上傳後批次轉檔、批次分析 | AWS Batch |
| 短時間事件處理 | API、簡單轉換、觸發型流程 | Lambda |
超短版結論
| 項目 | 結論 |
|---|---|
| AWS Batch 定位 | 跑批次工作的服務 |
| 最大特色 | 自動準備運算資源來跑大量 job |
| 核心優勢 | 可擴展、可用 Spot、省事、省成本 |
| 跟 Lambda 差別 | Batch 適合大、久、重;Lambda 適合短、小、快 |
沒有留言:
張貼留言