库存 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 GatewayOCI Functions 验证、方法、路由、标头、有效负载大小、错误响应、延迟和超时
    对象、通知、队列、流或日志事件处理器 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、调用计数、持续时间、错误、超时、容量症状、下游故障、仪表盘视图、预警和运行手册步骤。

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

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

设计注意事项和目标选择

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

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

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

目标选择指南

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

准备 OCI 资源和部署访问

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

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

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

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

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