库存 Lambda 工作负载

创建具有足够证据的迁移记录,以重现和比较源行为。

要清点 lambda 工作量,请执行以下步骤:

  1. 记录配置、部署路径、相关项、层、本机库、环境变量、VPC 设置、IAM 角色、触发器、责任人和运营联系人。
  2. 捕获基线度量:调用速率、峰值并发性、p95 和 p99 持续时间、最长持续时间、已用内存、有效负载大小、错误、超时、限制、重试次数、DLQ 或故障计数、队列使用时间或积压、预警阈值以及下游容量限制。
  3. 保存具有代表性的成功事件、格式错误的事件、重复事件、超时案例、权限故障、下游故障示例以及编写敏感值的源日志示例。

查找:包含证据链接、初始风险注释和需要所有者确认的缺口的完整库存记录。

输出:不要仅依赖于配置导出。日志、度量、预警和代表性事件通常会揭示配置本身未显示的行为。

评估 OCI 函数迁移的每个采样函数

记录每个采样函数的要求、所需的更改和迁移决策。

要评估 OCI 函数迁移的每个采样函数,请为每个采样函数完成包含以下项的评估记录:

  • 函数名称和应用程序所有者
  • 业务目的和重要性
  • 运行时和版本
  • 触发和传入事件格式
  • 使用的 AWS 服务和 SDK 调用
  • 执行时间、内存、并发性和有效负载大小
  • 重试、排序、重复交付和失败行为
  • IAM 权限和网络相关性
  • 当前日志、指标、预警和服务级别目标
  • 必需的 OCI 函数配置和触发器模式
  • 所需的代码、适配器或部署更改
  • 已知的差距和未解决的风险

使用以下评估结果之一:

  • OCI Functions 迁移就绪:工作负荷可以通过有限的更改迁移到 OCI Functions 。
  • 包含更改的 OCI Functions 迁移:工作负载需要适配器、目标代码更改、配置更改或操作更改。
  • 需要例外复查:OCI Functions 可能不满足记录的工作量要求。没有本手册中介绍的例外复查,请勿继续使用非功能体系结构。

应用程序所有者和迁移所有者应在实施开始之前审核评估。

评估 OCI 函数迁移要求

确定工作负载的 OCI 函数迁移方法。

要评估 OCI Functions 迁移要求,请执行以下步骤:

  1. 查看工作负载的触发器、运行时、依赖项、执行持续时间、内存、并发性、有效负载、IAM、网络和运行要求,以确定 OCI Functions 迁移方法。
  2. 将可移植业务逻辑与 AWS 特定的事件解析、SDK 调用、IAM 假设、日志记录和重试处理分开。

    这使得所需的迁移更改在实施开始之前可见。

  3. 使用以下 OCI 函数迁移模式作为起点。
    工作量模式 OCI 函数迁移模式 验证
    无状态、事件驱动、短期运行的工作负载 OCI 功能 有效负载、内存、超时、并发、依赖项以及所需的下游访问
    HTTP API 工作负载 OCI API Gateway 和 OCI Functions 验证、方法、路由、标头、有效负载大小、错误响应、延迟和超时
    对象、通知、队列、流或日志事件处理器 OCI Functions ,包含适用的 OCI Events 、Oracle Cloud Infrastructure Queue 、 OCI Notifications 、 OCI Streaming 或 OCI Connector Hub 服务 事件格式、传送行为、重试、排序、重复处理、故障目的地和背压

OCI Functions 是 Lambda 迁移计划的默认目标,可满足工作负载的功能、性能、安全性和运营要求。

设计目标 OCI 体系结构

定义调用、身份、密钥、网络、依赖关系、可观测性和切换模式。

要设计目标 OCI 体系结构,请执行以下步骤:

  1. 选择调用路径和文档预期的验证、有效负载配置、标头或元数据、延迟、重试次数、排序、批处理行为、重复传送、筛选和故障目标。
  2. 定义 OCI 函数应用程序、区间、映像资料档案库、VCN、子网、路由表、安全规则、服务网关或 NAT 网关、专用访问、出站要求和下游端点。
  3. 识别运行时函数调用的每个 OCI 服务或外部端点,包括 OCI Object Storage 、OCI Queue、 OCI Streaming 、 OCI Vault 、数据库和第三方 API。
  4. 定义操作信号,例如日志字段、关联 ID、调用计数、持续时间、错误、超时、容量症状、下游故障、仪表盘视图、预警和运行手册步骤。

查找包含组件列表、集成路径、安全设计、运营设计和图表重绘指导的目标架构摘要。

注意事项:仅当描述正常流、重试流、故障流、拒绝访问流和回滚流时,体系结构设计才完成。

设计注意事项和目标选择

在设计审核期间使用这些注意事项。

他们有意以行动为导向,因此审查者可以要求证据,而不是接受准备的一般声明。

  • 目标拟合:使用 OCI 函数进行无状态、事件驱动、短期运行、符合目标限制和调用模型的可容器化工作。使用另一个目标来运行长时间、有状态、类似守护进程、编排繁重、类似工作进程或 AWS 服务耦合的工作负载。
  • 有效负载和超时:记录实际请求和响应大小、最长持续时间、超时计数和调用方响应语义。通过引用通过 OCI Object Storage 、OCI Queue、 OCI Streaming 或其他存储(而不是通过函数有效负载)传递大数据。
  • 依赖项:将 ZIP 和 Lambda 层假设转换为映像或共享基本映像依赖项。测试本机库、映像大小、依赖关系版本、启动行为、嵌入式 SDK 假设和运行时行为。
  • 并发和扩展:库存使用 AWS 预留或预配并发的原因:预留容量、流量上限、冷启动减少、事件源限制或下游保护。通过容量规划、适当的并发预配、触发控制、后压和下游限制来设计 OCI 行为。
  • 触发器:验证事件配置、重试、排序、批处理行为、重复传送、筛选、故障目标和幂等性。触发行为通常是风险最高的迁移区域。
  • 操作:将日志、度量、预警、仪表盘、跟踪、运行手册、回退触发器和回退所有者视为迁移可交付项,而不是切换后清除。

目标选择指南

工作量特性 建议的 OCI 目标 使用理由
无状态、事件驱动、短期运行、可容器化功能 OCI 功能 满足有效负载、超时、内存、触发器、依赖性、网络和并发约束时,最适合。
具有简单请求/响应行为的 HTTP API 函数 OCI API Gateway 和 OCI Functions 验证、标头、有效负载大小、超时、延迟、状态代码和响应语义时非常适合。
对象、通知、队列、流或日志事件处理器 OCI Functions (包含 OCI Events 、 OCI Notifications 、 OCI Connector Hub 、 OCI Streaming (通过 Connector Hub)或重新设计的消息传递流) 潜在拟合,但必须重新设计和测试交付、重试、排序、批处理、重复、毒药消息和失败行为。
长时间运行的职务或类似员工的流程 OCI Container Instances 、 OKE 、 OCI Compute 或分解的工作流 避免函数调用和运行时约束,同时保留基于容器或服务的部署路径。
集中式编排 Oracle Integration 、工作流服务或重新设计 当工作负载协调系统、等待外部状态或管理补偿步骤(而不是执行一小部分计算)时,可以更好地适应。
有状态进程、本地持久状态或守护进程 OCI Compute 、 OKE 或重新设计 OCI Functions 不是持久的本地状态或守护进程执行模型。

准备 OCI 资源和部署访问

准备构建、部署和烟雾测试所需的最低目标环境。

要准备 OCI 资源和部署访问,请执行以下步骤:

  1. 创建或标识区间、 OCI Functions 应用程序、VCN 子网、OCI Container Registry 存储库、 OCI Vault 密钥位置、日志记录资源和监视预警。
  2. 配置开发人员和 CI/CD 访问,以构建映像、推送映像、部署功能、调用烟雾测试和读取日志。
  3. 为运行时访问创建动态组规则和策略语句。尽可能按区间和资源进行范围,特别是存储桶、流、队列、 OCI Vault 密钥和数据库。
  4. 烟雾测试映像推送、函数部署、直接调用、日志发射、秘密读取、拒绝秘密读取以及一个代表性的下游服务调用。

查找具有记录的访问路径和通过烟雾测试的就绪目标环境。

注意事项:当进程需要不同的权限时,请确保部署标识和运行时标识是分开的。