AWS re:Invent 回顧

AWS Lambda 的最新功能 (CNS376)

回顧系列

場次筆記

Lambda 的主要差異化優勢:速度

  • 主要願景:為客戶與建置者提供速度
  • 速度涵蓋程式碼產生以及整個交付週期
  • 更快的交付能帶來更吸引人的應用程式與使用者回饋
  • 應用程式預設即採用良好架構,能處理可擴展性、可用性與可靠性
  • 主要優點:無須管理基礎設施,可減少維運並提升速度

發布項目分為 3 個群組

1 個新原語

  1. 推出 Lambda 的受管執行個體

2 個受管執行個體

  1. 心智模型:Lambda 在針尖型工作負載(流量大幅暴增)方面表現出色
  2. 對於穩定狀態流量,建置者會尋求最佳化效能與成本
  3. 可選擇運算執行個體、網路或記憶體,以最佳化效能
  4. 保留完整的監管作業與開發人員體驗
  5. 事件來源整合、修補、路由與擴展皆由 Lambda 處理
  6. 推出多重並行,以更有效率地處理請求
  7. 納入 EC2 的定價優惠(Savings Plans、Reserved Instances)以降低成本

最佳化

3 個容量供應者

  1. 額外要求:建立容量供應者

10.指定運算執行個體、記憶體執行個體或擴展設定檔的偏好

11.也可選擇讓 Lambda 做決定,並持續改善價格效能

使用案例與功能

  • 穩定狀態應用程式:由 Lambda 順暢處理
  • 針尖型暴增/流量管理:交由 Lambda 處理以提供功能
  • 穩定狀態/普及使用:移至受管執行個體以進行最佳化
  • 效能關鍵應用程式:提供專用執行個體
  • 多種應用程式:媒體資料處理、Web 應用程式、事件驅動應用程式
  • 法規要求:受管執行個體可設定運算區域偏好

租戶隔離功能

  • 使用案例:需要隔離不同請求的情境
  • 優點:傳遞唯一租戶 ID 或 JWT token,以取得乾淨且隔離的執行環境
  • 改善:CICD 週期,並且不再需要自訂工具

預設即採用良好架構

  • 價值主張:採用具有效能與安全性修正的最新程式語言
  • 最近新增:Python 3.14、Java 2.5、Node.js 24
  • 優點:提升開發人員生產力,並能安全、更快速地交付軟體
  • 心智模型:在社群發布後 90 天內提供新的執行階段

其他功能與優點

執行階段升級

  • 自動化修補:處理 Log4j 等漏洞
  • 挑戰:函式數量龐大時,升級執行階段需要投入大量心力
  • 解決方案:AWS Transform Custom(以生成式 AI 為基礎的升級)
  • 優點:最多可減少 85% 的技術債,並順暢整合至開發週期
  • Snapstart:
  • 問題:函式初始化期間的冷啟動
  • 解決方案:建立執行環境快照,讓後續叫用更快速
  • 優點:縮短冷啟動時間,不需要變更程式碼或自訂工具
  • Fault Injection Service (FIS) 整合:
  • 用途:測試應用程式在壓力條件下的韌性
  • 功能:指定延遲增加或下游服務無法使用等條件
  • 優點:協助規劃並預防服務中斷,提高對正式環境情境的信心
  • 改善的可觀測性:
  • 挑戰:無法掌握事件來源輪詢機制
  • 解決方案:啟用額外的 CloudWatch 指標,用於計數、日誌與節流
  • 優點:立即偵測問題並縮短解決時間,無須自訂工具

AWS Transform custom

由 AWS 管理、開箱即用的轉換,是預先建置且經 AWS 審查的轉換

適用於常見的升級情境。這些轉換無須任何額外設定即可使用。

目前可用的轉換

  • Java 8 至 17 遷移(適用於 Gradle 與 Maven)
  • Node.js 12 至 22 升級(包括 Lambda 環境)
  • Python 執行階段更新至 3.11/3.12/3.13(標準與 Lambda)
  • AWS SDK 遷移(v1 至 v2)
  • 主要特性:
  • 經 AWS 驗證 - 這些轉換已由 AWS 審查,確保高品質
  • 可直接使用 - 無須額外設定
  • 持續增加 - 持續新增其他轉換
  • 可自訂 - 可使用符合貴組織需求的特定規則強化預先建置的轉換(例如,新增處理內部程式庫或程式碼標準的規則)
  • 實驗性支援 - 某些轉換在進一步測試期間可能標示為實驗性

其他功能與優點

其他 CloudWatch 指標

  • 問題:無法掌握事件來源輪詢機制(Kafka、SQS)
  • 解決方案:啟用額外指標,用於 polar 計數、延遲與節流
  • 優點:立即偵測問題並縮短解決時間,無須自訂工具
  • 支援 Avro 格式的 Schema Registry:
  • 問題:建置者必須手動加入 Avro 序列化/還原序列化的樣板程式碼
  • 解決方案:新增自動序列化與還原序列化 Avro 事件的功能
  • 優點:程式碼更少、錯誤更少、支援結構描述演進,無須自訂工具
  • SQS 的佈建模式:
  • 問題:客戶需要更快速地擴展,並控制輪詢的並行
  • 解決方案:佈建模式可預先暖機容量,以立即處理流量暴增
  • 優點:消除流量暴增期間的延遲、協助達成 SLA、最佳化成本,無須自訂工具
  • 加速開發人員:
  • 目標:協助開發人員更快速地交付軟體
  • 開發人員偏好:完成初步主控台測試後,在本機/IDE 中進行開發
  • 重點:簡化開發流程以縮短上市時間

加速開發週期的功能

從主控台順暢轉移至 IDE

  • 功能:按一下即可在主控台建置最基本的應用程式
  • 優點:封裝相依性、在本機 IDE 中啟用,以便立即撰寫程式碼,無須手動作業
  • 使用 LocalStack 進行本機測試:
  • 合作夥伴:LocalStack 模擬 AWS 服務(儲存、資料庫、網路)
  • 優點:完全在本機離線開發與測試,能更快速地反覆調整商業邏輯,無須自訂工具
  • 遠端偵錯:
  • 功能:按兩下即可啟用檢查點/中斷點
  • 優點:程式碼在正式環境執行時,可在本機分析變數與原始程式碼,測試 IAM 政策、角色、資料庫連線、VPC 與網路設定,無須自訂工具
  • 最佳實務 MCP Server:
  • 功能:內建最佳實務(輸入驗證、錯誤處理、狀態碼)
  • 優點:產生品質更好且一致的程式碼、減少程式碼審查週期、加快開發速度
  • 支援:Web 應用程式與事件驅動應用程式(Kafka 觸發程序、事件驅動架構)