存貨 Lambda 工作負載
建立具有足夠證據的移轉記錄,以重製和比較來源行為。
若要清點 Lambda 工作負載,請依照下列步驟進行:
- 記錄組態、部署路徑、相依性、圖層、原生程式庫、環境變數、VPC 設定值、IAM 角色、觸發程式、擁有者以及作業聯絡人。
- 擷取基準度量:呼叫速率、尖峰並行、p95 和 p99 持續時間、持續時間上限、使用的記憶體、有效負載大小、錯誤、逾時值、節流、重試次數、DLQ 或失敗次數、佇列時效或待處理項目、警示臨界值以及順流容量限制。
- 儲存代表成功事件、格式錯誤的事件、重複事件、逾時案例、權限失敗、下游失敗範例,以及已隱匿機密值的來源日誌範例。
尋找:包含證據連結、初始風險備註及需要擁有者確認的差距的完整庫存記錄。
輸出:不要只依賴組態匯出。日誌、測量結果、警示以及代表性事件通常會顯示單獨組態未顯示的行為。
評估 OCI Functions 移轉的每個抽樣函數
記錄每個已抽樣函數的需求、必要的變更及移轉決策。
若要評估 OCI Functions 移轉的每個抽樣函數,請為每個抽樣函數完成包含下列項目的評估記錄:
- 功能名稱和應用程式擁有者
- 業務目的與重要性
- 程式實際執行與版本
- 觸發程式和內送事件格式
- 使用的 AWS 服務和 SDK 呼叫
- 執行時間、記憶體、並行以及有效負載大小
- 重試、排序、重複傳遞以及失敗行為
- IAM 權限和網路相依性
- 目前的日誌、度量、警示以及服務層次目標
- 必要的 OCI Functions 組態和觸發條件樣式
- 必要的程式碼、轉接器或部署變更
- 已知的差距與未解決的風險
使用下列其中一個評估結果:
- OCI Functions 移轉就緒:工作負載可以在有限的變更下移至 OCI Functions 。
- 具有變更的 OCI 函數移轉:工作負載需要轉接器、目標程式碼變更、組態變更或作業變更。
- 需要例外複查: OCI Functions 可能不符合記載的工作負載需求。在沒有本手冊中說明的例外審查的情況下,請勿繼續進行非功能架構。
應用程式擁有者和移轉擁有者應先複查評估後再開始導入。
評估 OCI 功能移轉需求
確定工作負載的 OCI Functions 移轉方法。
若要評估 OCI Functions 移轉需求,請遵循下列步驟:
OCI Functions 是 Lambda 移轉計畫的預設目標,符合工作負載的功能、效能、安全性及作業需求。
設計目標 OCI 架構
定義呼叫、識別、加密密碼、網路、相依性、可觀察性及切換模式。
若要設計目標 OCI 架構,請遵循以下步驟:
- 選取呼叫路徑和文件預期的認證、有效負載資源配置、標頭或描述資料、延遲、重試、排序、批次行為、重複傳遞、篩選以及失敗目的地。
- 定義 OCI 函數應用程式、區間、映像檔儲存區域、VCN、子網路、路由表、安全規則、服務閘道或 NAT 閘道、專用存取、傳出需求以及下游端點。
- 在執行時期識別函數呼叫的每個 OCI 服務或外部端點,包括 OCI Object Storage 、OCI Queue、 OCI Streaming 、 OCI Vault 、資料庫和第三方 API。
- 定義作業訊號,例如日誌欄位、關聯 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 Events 、 OCI Notifications 、 OCI Connector Hub 、 OCI Streaming (透過 Connector Hub),或重新設計的訊息流程 | 潛在適配,但必須重新設計並測試傳遞、重試、訂購、批次、重複、中毒訊息及失敗行為。 |
| 長時間執行的工作或類似職工的處理 | OCI 容器執行處理、 OKE 、OCI Compute 或分解的工作流程 | 避免函數呼叫和程式實際執行限制,同時保留容器或服務式部署路徑。 |
| 整合重度協調 | Oracle Integration 、工作流程服務或重新設計 | 當工作負載協調系統、等待外部狀態或管理補償步驟,而非執行少量運算時,較適合。 |
| 狀態性處理作業、本機持久狀態或協助程式 | OCI Compute 、 OKE 或重新設計 | OCI Functions 不是持久的本機狀態或常駐程式執行模型。 |
準備 OCI 資源與部署存取
準備建置、部署及抽煙測試所需的最低目標環境。
若要準備 OCI 資源和部署存取,請依照下列步驟進行:
- 建立或識別區間、 OCI 函數應用程式、VCN 子網路、OCI 容器登錄儲存區域、 OCI 保存庫加密密碼位置、記錄日誌資源以及監控警示。
- 設定開發人員和 CI/CD 存取權,以建立映像檔、推送映像檔、部署函數、呼叫抽煙測試及讀取日誌。
- 建立動態群組規則和原則敘述句以進行程式實際執行存取。儘可能依區間和資源進行範圍,尤其是針對儲存桶、串流、佇列、 OCI 保存庫加密密碼和資料庫。
- 煙霧測試影像推送、功能部署、直接呼叫、日誌排放、加密密碼讀取、拒絕加密密碼讀取,以及一個代表性下游服務呼叫。
尋找記錄存取路徑且通過煙霧測試的就緒目標環境。
考量:當程序需要不同的權限時,請確定部署識別和執行時期識別是分開的。