存貨 Lambda 工作負載

建立具有足夠證據的移轉記錄,以重製和比較來源行為。

若要清點 Lambda 工作負載,請依照下列步驟進行:

  1. 記錄組態、部署路徑、相依性、圖層、原生程式庫、環境變數、VPC 設定值、IAM 角色、觸發程式、擁有者以及作業聯絡人。
  2. 擷取基準度量:呼叫速率、尖峰並行、p95 和 p99 持續時間、持續時間上限、使用的記憶體、有效負載大小、錯誤、逾時值、節流、重試次數、DLQ 或失敗次數、佇列時效或待處理項目、警示臨界值以及順流容量限制。
  3. 儲存代表成功事件、格式錯誤的事件、重複事件、逾時案例、權限失敗、下游失敗範例,以及已隱匿機密值的來源日誌範例。

尋找:包含證據連結、初始風險備註及需要擁有者確認的差距的完整庫存記錄。

輸出:不要只依賴組態匯出。日誌、測量結果、警示以及代表性事件通常會顯示單獨組態未顯示的行為。

評估 OCI Functions 移轉的每個抽樣函數

記錄每個已抽樣函數的需求、必要的變更及移轉決策。

若要評估 OCI Functions 移轉的每個抽樣函數,請為每個抽樣函數完成包含下列項目的評估記錄:

  • 功能名稱和應用程式擁有者
  • 業務目的與重要性
  • 程式實際執行與版本
  • 觸發程式和內送事件格式
  • 使用的 AWS 服務和 SDK 呼叫
  • 執行時間、記憶體、並行以及有效負載大小
  • 重試、排序、重複傳遞以及失敗行為
  • IAM 權限和網路相依性
  • 目前的日誌、度量、警示以及服務層次目標
  • 必要的 OCI Functions 組態和觸發條件樣式
  • 必要的程式碼、轉接器或部署變更
  • 已知的差距與未解決的風險

使用下列其中一個評估結果:

  • OCI Functions 移轉就緒:工作負載可以在有限的變更下移至 OCI Functions
  • 具有變更的 OCI 函數移轉:工作負載需要轉接器、目標程式碼變更、組態變更或作業變更。
  • 需要例外複查: OCI Functions 可能不符合記載的工作負載需求。在沒有本手冊中說明的例外審查的情況下,請勿繼續進行非功能架構。

應用程式擁有者和移轉擁有者應先複查評估後再開始導入。

評估 OCI 功能移轉需求

確定工作負載的 OCI Functions 移轉方法。

若要評估 OCI Functions 移轉需求,請遵循下列步驟:

  1. 複查工作負載的觸發程式、程式實際執行、相依性、執行持續時間、記憶體、並行、有效負載、IAM、網路以及作業需求,以判斷 OCI 函數移轉方法。
  2. 將可攜式業務邏輯與 AWS 特定的事件剖析、SDK 呼叫、IAM 假設、記錄和重試處理分開。

    這樣一來,在導入開始前就可以看到必要的移轉變更。

  3. 使用下列 OCI Functions 移轉模式作為起點。
    工作負載樣式 OCI Functions 移轉模式 驗證
    無狀態、事件驅動、短期執行的工作負載 OCI Functions 有效負載、記憶體、逾時、並行、相依性以及必要的下游存取
    HTTP API 工作負載 OCI API 閘道加上 OCI 函數 認證、方法、路由、標頭、有效負載大小、錯誤回應、延遲及逾時
    物件、通知、佇列、串流或日誌事件處理器 OCI Functions 包含適用的 OCI EventsOracle Cloud Infrastructure QueueOCI NotificationsOCI StreamingOCI Connector Hub 服務 事件格式、傳遞行為、重試、排序、重複處理、失敗目的地及背壓

OCI Functions 是 Lambda 移轉計畫的預設目標,符合工作負載的功能、效能、安全性及作業需求。

設計目標 OCI 架構

定義呼叫、識別、加密密碼、網路、相依性、可觀察性及切換模式。

若要設計目標 OCI 架構,請遵循以下步驟:

  1. 選取呼叫路徑和文件預期的認證、有效負載資源配置、標頭或描述資料、延遲、重試、排序、批次行為、重複傳遞、篩選以及失敗目的地。
  2. 定義 OCI 函數應用程式、區間、映像檔儲存區域、VCN、子網路、路由表、安全規則、服務閘道或 NAT 閘道、專用存取、傳出需求以及下游端點。
  3. 在執行時期識別函數呼叫的每個 OCI 服務或外部端點,包括 OCI Object Storage 、OCI Queue、 OCI StreamingOCI Vault 、資料庫和第三方 API。
  4. 定義作業訊號,例如日誌欄位、關聯 ID、呼叫計數、持續時間、錯誤、逾時、容量徵兆、下游失敗、儀表板檢視、警示以及 Runbook 步驟。

尋找含有元件清單、整合路徑、安全性設計、作業設計及圖表重新繪製指南的目標架構摘要。

考量:只有在描述一般流程、重試流程、失敗流程、拒絕存取流程及倒回流程時,架構設計才會完成。

設計考量與目標選擇

在設計審查期間使用這些考量事項。

他們是刻意採取行動的,因此審核者可以要求證據,而不是接受一般的整備陳述。

  • 目標適用性:使用 OCI 函數作為符合目標限制和呼叫模型的無狀態、事件驅動、短期執行、可容器化工作。將另一個目標用於長時間執行、狀態性、類似常駐程式、協調繁重、類似工作或 AWS 服務耦合的工作負載。
  • 承載與逾時:記錄實際要求與回應大小、持續時間上限、逾時計數,以及來電者回應語意。透過 OCI Object Storage 、OCI Queue、 OCI Streaming 或其他存放區,而不是透過函數有效負載來傳遞大型資料。
  • 相依性:將 ZIP 和 Lambda 層假設轉換為影像或共用基礎影像相依性。測試原生程式庫、映像檔大小、相依性版本、啟動行為、內嵌 SDK 假設以及程式實際執行行為。
  • 並行與調整規模:使用 AWS 保留或佈建並行的原因庫存:保留容量、流量上限、冷啟動減少、事件來源調節或下游保護。設計具備容量規劃功能的 OCI 行為,並在適當時佈建並行、觸發控制、背壓和下游限制。
  • 觸發程式:驗證事件資源配置、重試、排序、批次行為、重複傳遞、篩選、失敗目的地以及等冪。觸發程式行為通常是最高風險的移轉區域。
  • 作業:將日誌、測量結果、警示、儀表板、追蹤、執行手冊、倒回觸發程式以及倒回擁有者視為移轉交付項目,而不是後續切換清除。

目標選擇指南

工作負載特性 建議的 OCI 目標 原因
無狀態、事件驅動、短期執行、可容器化功能 OCI Functions 滿足有效負載、逾時、記憶體、觸發程式、相依性、網路和並行限制條件時,最接近。
具有簡單要求 / 回應行為的 HTTP API 函數 OCI API 閘道加上 OCI 函數 驗證驗證驗證、標頭、有效負載大小、逾時、延遲、狀態代碼及回應語意時,非常適合。
物件、通知、佇列、串流或日誌事件處理器 OCI Functions 包含 OCI EventsOCI NotificationsOCI Connector HubOCI Streaming (透過 Connector Hub),或重新設計的訊息流程 潛在適配,但必須重新設計並測試傳遞、重試、訂購、批次、重複、中毒訊息及失敗行為。
長時間執行的工作或類似職工的處理 OCI 容器執行處理OKEOCI Compute 或分解的工作流程 避免函數呼叫和程式實際執行限制,同時保留容器或服務式部署路徑。
整合重度協調 Oracle Integration 、工作流程服務或重新設計 當工作負載協調系統、等待外部狀態或管理補償步驟,而非執行少量運算時,較適合。
狀態性處理作業、本機持久狀態或協助程式 OCI ComputeOKE 或重新設計 OCI Functions 不是持久的本機狀態或常駐程式執行模型。

準備 OCI 資源與部署存取

準備建置、部署及抽煙測試所需的最低目標環境。

若要準備 OCI 資源和部署存取,請依照下列步驟進行:

  1. 建立或識別區間、 OCI 函數應用程式、VCN 子網路、OCI 容器登錄儲存區域、 OCI 保存庫加密密碼位置、記錄日誌資源以及監控警示。
  2. 設定開發人員和 CI/CD 存取權,以建立映像檔、推送映像檔、部署函數、呼叫抽煙測試及讀取日誌。
  3. 建立動態群組規則和原則敘述句以進行程式實際執行存取。儘可能依區間和資源進行範圍,尤其是針對儲存桶、串流、佇列、 OCI 保存庫加密密碼和資料庫。
  4. 煙霧測試影像推送、功能部署、直接呼叫、日誌排放、加密密碼讀取、拒絕加密密碼讀取,以及一個代表性下游服務呼叫。

尋找記錄存取路徑且通過煙霧測試的就緒目標環境。

考量:當程序需要不同的權限時,請確定部署識別和執行時期識別是分開的。