完整無伺服器應用

🔥 Vibe Prompt

「架構一個無伺服器 SaaS 應用:認證、API、資料庫、檔案上傳、非同步處理、監控。」

系統架構

CloudFront(SPA 託管)
    ↓
Cognito(認證:OAuth, MFA)
    ↓
API Gateway HTTP API
    ↓
Lambda(商業邏輯)
    ↓
DynamoDB + S3 + EventBridge
    ↓
Step Functions(工作流程)
    ↓
SES(郵件)+ SNS(推播)

基礎設施即程式碼

# 50 行搞定無伺服器架構
module "serverless" {
  source = "terraform-aws-modules/lambda/aws"
  
  functions = {
    api = {
      handler = "index.handler"
      runtime = "nodejs20.x"
      source_path = "./src/api"
      environment_variables = {
        TABLE_NAME = "orders"
        BUCKET_NAME = "uploads"
      }
    }
    worker = {
      handler = "index.handler"
      runtime = "python3.12"
      source_path = "./src/worker"
      timeout = 300
      memory_size = 1024
    }
  }
  
  api_gateway = {
    protocol = "HTTP"
    cors = { allow_origins = ["https://app.example.com"] }
  }
}

module "dynamodb" {
  source = "terraform-aws-modules/dynamodb-table/aws"
  tables = {
    orders = {
      hash_key = "PK"
      range_key = "SK"
      billing_mode = "PAY_PER_REQUEST"
    }
  }
}

監控與可觀測性

CloudWatch → 儀表板 + 警報 + 日誌
    ↓
X-Ray(分散式追蹤)
    ↓
EventBridge → PagerDuty(值班)

無伺服器課程完成!🎉

  • ✅ Lambda
  • ✅ API Gateway
  • ✅ DynamoDB & EventBridge
  • ✅ Step Functions
  • ✅ 完整 SaaS 應用

費用估算

| 服務 | 每月(1 萬使用者) | |------|-------------------| | Lambda | $2-5 | | API Gateway | $3 | | DynamoDB | $5-10 | | CloudFront | $1 | | Cognito | $0(免費用戶) | | 總計 | $10-20 |



Serverless 的取捨:什麼時候不要用?

Serverless 不是萬靈丹。做為課程的最後一章,我必須誠實告訴你它的限制:

| 場景 | 為什麼不適合 Serverless | |:----|:----------------------| | 穩定、高流量的批次處理 | 預留容量的 EC2 或 ECS 成本更低 | | GPU / ML 訓練 | Lambda 沒有 GPU,Timeout 15 分鐘 | | WebSocket 長連線遊戲 | API Gateway WebSocket 有連線數限制 | | 需要特定作業系統或 Kernel 模組 | Lambda 執行環境是唯讀的 | | 極低延遲需求(<10ms) | 冷啟動無法完全消除 | | 既有大型單體系統 | rewrtie 成本遠大於 Serverless 節省的利益 |

如果你的專案落在上半部,Serverless 是絕佳選擇。如果在下半部,傳統架構可能更適合。

為什麼要學這些?

這堂課的目標不是讓你成為 AWS 認證架構師,而是讓你能夠獨立開發一個完整的 SaaS 應用,從認證、API、資料庫、檔案上傳到非同步處理全部自己掌握。這些技能對於接案、創業、或內部工具開發都非常實用。

從這裡可以去哪裡?

完成這堂課後,你已經有能力建立 production-ready 的 Serverless 應用了。接下來可以探索:

  • AWS CDK 進階:用程式碼管理基礎設施 + 自動化測試
  • Event-Driven Architecture:EventBridge Pipes、Saga Pattern
  • Observability:OpenTelemetry + Grafana + Loki 取代 CloudWatch
  • Multi-Region:Global Tables + Route53 做災難備援
  • 微服務拆分:將單體 Serverless 應用拆分為多個獨立服務

最重要的是——找一個真實的專案來實作。最好的學習方式永遠是把所學用在真正需要的地方。

解鎖完整教學內容

本章為付費內容。加入專案即可解鎖超過 5000 字的深度解析,包含 10 個以上神級 Prompt 與真實 Source Code 範例!