關於將 AWS Lambda 工作負載移轉至 OCI 函數

AWS Lambda 函數經常內嵌在較大的應用程式和整合工作流程中。

成功的移轉需要比在平台之間移動程式碼多。OCI Functions 是 AWS Lambda 移轉計畫的預設目標。在選取 OCI Functions 作為目標之前,請先識別呼叫每個函數的方式、與其互動的服務、其依賴的操作行為,以及必須保留哪些行為。

此產品目錄包含收集觸發程式類型、持續時間上限、記憶體使用量、有效負載大小、並行、重試和失敗行為、相依性、IAM 權限、網路路徑、記錄日誌、監督以及復原預期。這些特性決定 OCI Functions 或其他 OCI 服務是更好的目標。

評估期間,請驗證 OCI Functions 是否支援工作負載的呼叫、有效負載、逾時、記憶體、並行、網路、相依性及整合需求。

如果 OCI 函數無法符合記載的需求,請先暫停移轉並完成例外複查,再提議非函數架構。例外情況必須包括技術限制、經修訂的總成本模型、移轉工作、營運影響,以及經修訂方法的明確核准。

您將執行的作業

  • 建立 Lambda 組態、觸發程式、相依性、權限、流量、失敗及作業訊號的證據型產品目錄。
  • 比較來源行為與 OCI Functions 限制、呼叫模式、觸發程式模式、安全性、相依性封裝、網路及可觀察性。
  • 將可攜式業務邏輯與提供者特定的事件剖析、識別、SDK 呼叫、部署封裝、記錄日誌、加密密碼、重試及作業程式碼分開。
  • 將函數部署為 OCI Functions 容器映像,並在切換之前驗證輸出、錯誤、副作用、延遲、容量、重試、安全性、可觀察性及倒回整備度。

如何使用這份手冊

本手冊提供評估與導入指南。

對於大型 Lambda 資產,請勿從手動評估每個功能開始。從一個代表性範例開始,示範主要程式實際執行、觸發程式、相依性、流量設定檔以及關鍵業務層次。

使用範例來:

  1. 確認代表性工作負載的 OCI Functions 移轉方法。
  2. 識別所需的轉接器和目標程式碼變更。
  3. 識別必要的安全、網路、部署及作業變更。
  4. 預估移轉工作、風險和可重複使用的模式。
  5. 選取代表性工作負載以進行工作移轉試驗。

它不會自動轉換 Lambda 程式碼,也不會產生所有必要的整合。

架構

這個可重複使用的樣式會將來源評估與目標實行分開。

先將 Lambda 函數、其觸發程式及其作業行為納入庫存。然後將可攜式商業邏輯與提供者特定的轉接器隔離。目標實行會在 OCI Functions 應用程式中執行、從容器登錄中儲存的容器映像部署、使用 OCI IAM 和資源主體進行程式實際執行存取、從已核准的加密密碼存放區 (例如 OCI Vault) 擷取加密密碼,並在需要時透過 OCI 日誌記錄、監控、警示及 APM 發出作業訊號。

AWS Lambda 與 OCI Functions 的關係對應

這是 OCI Functions 周圍重新建立的工作負載附加群組檢視


migrate-lambda-functions-arch.png 的描述如下
migrate-lambda-functions-arch.png 圖解描述

migrate-lambda-functions-arch-oracle.zip#GUID-B6E215FE-1619-4CDD-B055-0194D46ADBF8

架構原則

  • 先評估,然後進行移轉。 觸發程式、有效負載、重試、層、權限、網路以及作業行為可能會有所不同。
  • 將觸發程式移轉視為行為移轉。 比較事件型態、認證、重試、排序、批次處理、重複傳遞、篩選、失效字母或失敗目的地,以及中毒訊息處理。
  • 測量來源工作負載。 擷取呼叫速率、尖峰並行、持續時間百分位數、持續時間上限、記憶體使用狀況、冷啟動敏感路徑、有效負載大小、錯誤率、調節率、DLQ 或失敗計數、存量 (Backlog) 以及下游限制。
  • 保持業務邏輯可攜。 隔離轉接器以進行事件剖析、身分識別、SDK 呼叫、物件或訊息存取、記錄日誌、組態、加密密碼及重試行為。
  • 讓作業成為移轉的一部分。 切換之前必須有日誌、度量、警示、儀表板、追蹤、執行手冊、倒回觸發程式以及失敗測試。

核心組成

此架構通常包括來源 Lambda 工作負載、移轉記錄、OCI 呼叫層、 OCI Functions 應用程式和影像,以及支援的安全、網路和作業服務。將來源視為證據,而不是直接藍圖;從所需的行為和驗證結果中選擇 OCI 元件。

AWS Lambda 和 OCI 等效概念

在評估期間使用此金鑰。

此按鍵的用意是作為翻譯指南,並非一對一的同等性承諾。針對每個資料列,比較來源行為與目標 OCI 行為,並在移轉記錄中保留證據。

AWS Lambda 概念 OCI 概念或樣式 要比較或驗證的內容
功能與處理程式 OCI Functions 與 Fn FDK 處理程式 程式實際執行、架構、處理程式進入點、事件剖析器、回應物件、錯誤行為、本機測試路徑以及程式實際執行特定程式庫支援。
ZIP 封裝,圖層,延伸 容器映像檔或共用基礎映像檔 相依性版本、原生程式庫、影像大小、啟動行為、擴充行為、內嵌 SDK 假設,以及是否應跨函數共用相依性。
執行角色和資源原則 OCI Identity and Access Management (IAM) 原則、動態群組和資源主體 程式實際執行動作、區間和資源範圍、跨帳戶或跨區間存取、加密密碼讀取、物件或佇列存取,以及拒絕路徑測試。
API 閘道與 Lambda OCI API 閘道加上 OCI 函數 認證、路由與方法、標頭、查詢字串、主體綱要、狀態代碼、回應標頭、逾時、有效負載大小、延遲以及錯誤主體。
S3 物件事件 透過 OCI 活動進行 OCI Object Storage 事件 事件綱要、物件描述資料、命名空間、儲存桶以及前置碼篩選、建立 / 更新 / 刪除行為、重試、重複項目、冪等,以及預防輸入 / 輸出迴圈。
SQS,streams,串流,SNS,EventBridge,日誌訂閱 OCI Queue、 OCI StreamingOCI NotificationsOCI EventsOCI Connector Hub 或重新設計的流程 批次大小、訂購、重試、部分失敗、失效字母或失敗目的地、可見性或重試時段、壓抑、中毒訊息、扇出、篩選以及重複傳遞。
同步或非同步呼叫 同步或分離呼叫 呼叫程式回應語意、結果處理、呼叫逾時、執行逾時、取消連附的完成處理、成功 / 失敗目的地,以及重試路徑。
記憶體,逾時,有效負載,臨時假設 OCI Functions 記憶體、逾時、要求、回應、影像和程式實際執行設定值 p95/p99 與最長持續時間、逾時計數、記憶體空餘空間、要求 / 回應有效負載大小、暫時儲存假設、大型負載卸載設計和相依性負載時間。
保留 / 佈建的並行與事件來源調整 OCI 服務限制、應用程式並行、佈建的並行、觸發控制和下游保護 目前和尖峰並行、冷啟動敏感度、節流或 429s、佇列時效或待處理項目、重試風暴、下游容量限制,以及來源設定是否保留容量、容量上限流量或減少延遲。
CloudWatch 日誌、度量、警示、X 光 OCI LoggingOCI Monitoring 、警訊、儀表板,以及 Oracle Application Performance Monitoring ( APM),視需要 必要的日誌欄位、關聯 ID、呼叫計數、持續時間、錯誤率、逾時計數、警示臨界值、追蹤、儀表板、執行手冊以及未預期事件回應擁有權。
加密密碼管理員,參數存放區,KMS,VPC 網路 OCI Vault 、金鑰、VCN、子網路、閘道、專用端點、DNS 和安全規則 加密密碼輪換、流失檢查、路由規則、傳出、DNS、允許清單、專用存取、未授權路徑封鎖,以及下游連線限制。