写点什么

Kappa: 简化 AWS Lambda 部署

  • 2015-04-19
  • 本文字数:1546 字

    阅读完需:约 5 分钟

Mitch Garnaat 创建了一个名为 Kappa 的命令行工具。这个工具简化了将“ Lambda 函数”部署到 AWS Lambda 上的操作。AWS Lambda 是一个计算服务。这个服务基于事件运行代码,并且自动地管理相关的计算资源。

Amazon Web Service (AWS) Lambda 服务允许将代码部署到 AWS 云计算平台中,并将代码与事件相关联,例如网址的点击、在 AWS S3 object storage bucket 中出现新的文件、或者有新的数据写入一个 AWS Kinesis 实时流处理实例中。

AWS Lambda 能在一个事件发生后的毫秒级别内运行指定的代码。并且,该服务能够自动地管理计算能力、启动必要的基础架构并为每一个事件运行代码。目前 AWS Lambda 支持能运行于 Node.js 上的代码。Node.js 是一个基于 Chrome 的 JavaScript 运行时构建的平台。

Mitch Garnaat boto ,一个 AWS Python 接口库的开发者。将代码从本地开发环境部署到 AWS Lambda 时需要一些手工操作的步骤,而且每个步骤需要使用不同的 AWS 服务。在发现这个问题之后,他创建了 Kappa。Garnaat 举了一个部署简单的 JavaScript 函数到 AWS Lambda 中的例子:当有记录写入一个 Amazon Kinesis 实例时,调用这个函数。实现这个例子的步骤如下:

  • 编写 JavaScript 函数 (AWS Lambda 目前只支持 JavaScript)
  • 创建一个 IAM 角色,使得 Lambda 函数在执行时能够访问任何需要的 AWS 资源
  • 打包压缩 JavaScript 函数及依赖
  • 上传压缩文件到 AWS Lambda 服务
  • 发送测试数据给 Lambda 函数
  • 创建一个 IAM 角色,用于 Lambda 服务调用你的 Lambda 函数
  • 从 Amazon CloudWatch Logs 获取 Lambda 函数的输出
  • 为 Lambda 函数添加一个事件源
  • 监视这个 Lambda 函数的输出

Garnaat表示 Kappa 的目标是通过简化部署流程,使得部署 Lambda 函数更加容易,“[Kappa] 尝试处理大量繁琐的细节,从而让你专注于 Lambda 函数的具体实现”。

Kappa 通过命令行方式执行。AWS Lambda 服务的配置存储在本地文件系统的一个 YAML 文件中。这个配置文件指定了服务细节,例如一个包含了 Kappa 和 AWS Lambda 交互时所需认证信息的 AWS profile ,部署代码的 AWS 地区,以及触发 Lambda 函数的事件源属性。

通过使用CloudFormation 模版来管理函数执行和调用时所需的AWS Identity Access Management(IAM) 角色,Kappa 可以自动处理 Lambda 函数相关的安全要求。Garnaat 表示,通过使用 CloudFormation 来处理 IAM 功能,角色和策略可以通过事务操作进行创建和更新,并可以使用如 git 等 SCM 工具进行版本控制。

Kappa 提供了用于部署和执行代码的命令。“deploy”命令会触发所需基础架构栈的创建,将本地创建的 Lambda 函数打包压缩并上传到 AWS Lambda。“add-event-source”命令通过使用在 CloudFormation 模版中指定的调用角色,可将上传的 Lambda 函数和指定的事件关联在一起。

Kappa 还提供了一个“tail”命令,可用于发现 CloudWatch Logs 服务中包含有函数输出的日志组名和日志流,并将流中最近的日志事件打印到终端上。

如果需要修改角色、策略或者 Lambda 函数,那么可以使用 Kappa 的“deploy”命令。Kappa 会处理好 CloudFormation 上相关的更新,并上传最新版本的函数到 AWS Lambda。

Kappa 可以使用 Python package index(PyPI) 进行安装,或者从 Github 代码库中克隆项目的代码,并根据 AWS Advent blog 上的说明进行手动安装。读者可以通过 Lambda 产品页面获取 AWS Lambda 服务的更多细节。

查看英文原文: Kappa: Simplifying AWS Lambda Deployments


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流。

立即免费注册 AWS 账号,获得 12 个月免费套餐:点击注册

有云计算问题?立刻联系 AWS 云计算专家:立即联系

2015-04-19 08:187002

评论

发布
暂无评论
发现更多内容

【每天学点‘音视频’】前向纠错 和 漏包重传

小曾同学.com

实时音视频 NACK fec ACK 丢包重传

Deckset for Mac v2.0.39 创意优秀的幻灯片制作工具

晨光熹微

告别切屏|阿里云DMS MCP+通义灵码,30分钟搞定电商秒杀开发

阿里巴巴云原生

Cisdem PDF Compressor for Mac v5.2.0 PDF文件压缩工具

晨光熹微

天润融通AI训练师推动AI员工从“可用”到“好用”

天润融通

商品中心—商品可采可补可售的技术文档

不在线第一只蜗牛

Java

Harmony OS Next手势组合全攻略!三种模式玩转交互设计

Turing_010

商品中心—商品生命周期和状态的技术文档

电子尖叫食人鱼

Java

分布式里套单机?YMatrix HTAP “神技”搞定 10w+ TPS

YMatrix 超融合数据库

HTAP HTAP 场景实践 YMatrix HTAP数据库 非平衡部署

“考公图都不会?”大模型真正的难题是:看图太难!

新消费日报

2026第十四届中国电子信息博览会

AIOTE智博会

电子展 深圳电子展 电子信息展 电博会

《算力互联互通行动计划》发布,天翼云铺就算力畅行高速路!

天翼云开发者社区

天翼云 算力标准

赛博威合同管理再进化:费用追踪无死角,核算精准零偏差,审批智能再提速!

赛博威科技

告别切屏|阿里云DMS MCP+通义灵码,30分钟搞定电商秒杀开发

阿里云云效

Ripple的 XRP分类账正推出代币化商业票据以进一步推动 RWA 发展

PowerVerse

详解HarmonyOS NEXT系统中ArkTS和仓颉的混合开发

幽蓝计划

Sentieon 项目文章 | 长读长基因组测序在神经发育障碍分子诊断中的应用

INSVAST

长读长测序 Sentieon 精准医疗 分子诊断 神经发育障碍

天润融通“业务专家+AI员工”模式,重塑企业组织形态

天润融通

数字先锋 | 异地“同上一堂课”,天翼云助力巴蜀云校线上教学提质增效!

天翼云开发者社区

天翼云 数字教育平台

Feeder for Mac v4.7.3创建和发布的RSS

晨光熹微

Feeder 4 mac Feeder下载 Feeder 4 for mac

FonePaw iOS Transfer for Mac v6.5.0 iOS数据传输工具

晨光熹微

GM ePub Reader Pro for Mac v2.8.6 ePub 阅读器 AI 电子书阅读神器

晨光熹微

File Cabinet Pro for mac v8.5.6 实用的菜单栏文件快捷管理工具

晨光熹微

新闻速递丨Altair连续两年被 Gartner 魔力象限评为数据科学与机器学习平台领导者

Altair RapidMiner

机器学习 AI 数据分析 生成式AI RapidMiner

深度解析:爬虫技术获取淘宝商品详情并封装为API的全流程应用

Noah

SRv6 验证实验

天翼云开发者社区

网络 SRv6

MCP Server 之旅第 6 站:FC MCP Server 研发实战

阿里巴巴云原生

MCP

Desktop Stickers for Mac v2.88 桌面便签

晨光熹微

DropDMG for Mac v3.6.9快速制作DMG文件的工具

晨光熹微

立即体验|效果好、低延迟,Trae 已支持 Doubao-1.5-thinking-pro 新模型

火山引擎开发者社区

豆包 Trae

AI英语学习APP的应用场景

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI英语口语

Kappa: 简化AWS Lambda部署_DevOps & 平台工程_Daniel Bryant_InfoQ精选文章