AWS re:Invent 回顾

AWS Lambda 新功能 (CNS376)

回顾系列

场次笔记

Lambda 的关键差异化优势:速度

  • 主要愿景:为客户和构建者提供速度
  • 速度涵盖代码生成和整个交付周期
  • 更快的交付会带来更具吸引力的应用程序和更多用户反馈
  • 应用程序默认遵循良好架构,能够处理可扩展性、可用性和可靠性
  • 主要优势:无需管理基础设施,从而减少运维工作并提高速度

发布内容分为 3 组

1 新原语

  1. 引入 Lambda 托管实例

2 托管实例

  1. 心智模型:Lambda 在尖峰型工作负载(流量急剧攀升)中表现出色
  2. 对于稳态流量,构建者会寻求优化性能和成本
  3. 允许选择计算实例、网络或内存以优化性能
  4. 保留完整的监控运维能力和开发者体验
  5. 事件源集成、补丁、路由和扩展均由 Lambda 处理
  6. 引入多并发,以更高效地处理请求
  7. 纳入 EC2 的定价优惠(Savings Plans、Reserved Instances),以实现成本

优化

3 容量提供程序

  1. 额外要求:创建容量提供程序

10.指定对计算实例、内存实例或扩展配置文件的偏好

11.也可以让 Lambda 进行选择,并持续提升性价比

使用案例和功能

  • 稳态应用程序:由 Lambda 无缝处理
  • 尖峰突发/流量管理:留给 Lambda 处理,以获得相应功能
  • 稳态/高人气场景:迁移到托管实例进行优化
  • 性能关键型应用程序:提供专用实例
  • 各类应用程序:媒体数据处理、Web 应用程序、事件驱动型应用程序
  • 监管要求:托管实例允许设置对计算区域的偏好

租户隔离功能

  • 使用案例:请求之间需要隔离的场景
  • 优势:传入唯一租户 ID 或 JWT 令牌,以获得干净、隔离的执行环境
  • 改进:改善 CICD 周期,并消除对定制工具的需要

默认遵循良好架构

  • 价值主张:提供包含性能和安全修复的最新编程语言
  • 最近新增:Python 3.14、Java 2.5、Node.js 24
  • 优势:提高开发者生产力,并支持安全、更快速地交付软件
  • 心智模型:在社区发布后的 90 天内提供新运行时

其他功能和优势

运行时升级

  • 自动补丁:处理 Log4j 等漏洞
  • 挑战:当函数数量很多时,升级运行时需要大量工作
  • 解决方案:AWS Transform Custom(基于生成式 AI 的升级)
  • 优势:将技术债务最多减少 85%,无缝集成到开发周期中。
  • Snapstart:
  • 问题:函数初始化期间的冷启动
  • 解决方案:为执行环境创建快照,加快后续调用
  • 优势:缩短冷启动时间,无需更改代码或使用定制工具。
  • Fault Injection Service (FIS) 集成:
  • 目的:测试应用程序在压力条件下的弹性
  • 功能:指定延迟增加或下游服务不可用等条件
  • 优势:帮助规划并防止停机,增强对生产场景的信心。
  • 改进可观测性:
  • 挑战:无法了解事件源轮询机制
  • 解决方案:启用其他 CloudWatch 指标,用于统计计数、日志和限流
  • 优势:即时发现问题并缩短解决时间,无需使用定制工具

AWS Transform custom

由 AWS 管理、开箱即用的转换,这些转换针对常见升级场景预先构建并经过 AWS 审查。

无需任何额外设置即可使用。

当前可用的转换

  • Java 8 到 17 迁移(同时适用于 Gradle 和 Maven)
  • Node.js 12 到 22 升级(包括 Lambda 环境)
  • Python 运行时更新至 3.11/3.12/3.13(标准环境和 Lambda)
  • AWS SDK 迁移(v1 到 v2)。
  • 主要特征:
  • 经 AWS 验证——这些转换经过 AWS 审查,质量很高
  • 随时可用——无需额外设置
  • 持续扩充——不断添加更多转换
  • 可定制——可以使用组织特定的规则增强预构建转换(例如,添加处理内部库或编码标准的规则)
  • 实验性支持——某些转换在接受进一步测试期间可能会被标记为实验性

其他功能和优势

其他 CloudWatch 指标

  • 问题:无法了解事件源轮询机制(Kafka、SQS)
  • 解决方案:启用其他指标,用于统计轮询次数、延迟和限流
  • 优势:即时发现问题并缩短解决时间,无需使用定制工具。
  • Avro 格式的 Schema Registry 支持:
  • 问题:构建者必须手动添加 Avro 序列化/反序列化的样板代码
  • 解决方案:添加自动序列化和反序列化 Avro 事件的能力
  • 优势:代码更少、错误更少、支持 schema 演进,无需使用定制工具。
  • SQS Provision Mode:
  • 问题:客户需要更快扩展,并控制轮询并发
  • 解决方案:Provision Mode 允许预热容量,以立即处理流量峰值
  • 优势:消除峰值期间的延迟,帮助满足 SLA,优化成本,无需使用定制工具。
  • 加速开发者:
  • 目标:帮助开发者更快交付软件
  • 开发者偏好:在控制台进行初始测试后,在本地计算机/IDE 中开发
  • 重点:简化开发流程,缩短产品上市时间

加速开发周期的功能

从控制台无缝过渡到 IDE

  • 功能:单击即可在控制台上构建最简应用程序
  • 优势:打包依赖项,并在本地 IDE 中启用项目,无需手动操作即可立即编码。
  • 使用 LocalStack 进行本地测试:
  • 合作伙伴:LocalStack 模拟 AWS 服务(存储、数据库、网络)
  • 优势:完全在本地计算机上离线开发和测试,从而更快迭代业务逻辑,无需使用定制工具。
  • 远程调试:
  • 功能:单击两次即可启用检查点/断点
  • 优势:代码在生产环境中运行时,可在本地分析变量和源代码,测试 IAM 策略、角色、数据库连接、VPC 和网络配置,无需使用定制工具。
  • 最佳实践 MCP Server:
  • 功能:内置最佳实践(输入验证、错误处理、状态代码)
  • 优势:生成质量更高、更一致的代码,减少代码审查周期并加快开发速度
  • 支持:Web 应用程序和事件驱动型应用程序(Kafka 触发器、事件驱动型架构)