发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

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:186331

评论

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

用eBPF/XDP来替代LVS(三)

九零后程序员

云计算 Linux 云原生 LVS ebpf

YB时代,正寻找新的数据支点

脑极体

存储

Django笔记三十六之单元测试汇总介绍

Hunter熊

Python django 单元测试

瑞云科技助力番职院打造虚拟数字人,探索职业教育创新之路

3DCAT实时渲染

虚拟现实 虚拟仿真 实时云渲染

Solaris Network评述:在DeFi衍生品领域的颠覆者

股市老人

2023-05-25:给定一个正整数 x,我们将会写出一个形如 x (op1) x (op2) x (op3) x ... 的表达式 其中每个运算符 op1,op2,… 可以是加、减、乘、除之一 例如

福大大架构师每日一题

Go 算法 rust 福大大

Zebec生态官宣与BitFlow、Matryx DAO等无关,切勿碰瓷

EOSdreamer111

Kafka实时数据即席查询应用与实践

vivo互联网技术

kafka 实时数仓

10+秒,AIGC炸出抖音小红书爆款!国产Fashion Diffusion颠覆时尚行业

Openlab_cosmoplat

AI 开源社区 时装

@开源爱好者,字节跳动这项技术,正式宣布开源了

字节跳动技术范儿

开源 字节跳动 数据仓库 Clickhouse

破解提升 LLMs 性能的黑匣子—— LlamaIndex

Zilliz

Milvus AIGC LLM llamaindex

大象转身只需点点鼠标,爆火 DragGAN 原理浅析

Zilliz

Towhee draggan

WICC · 出海嘉年华|嘉宾就位、话题揭晓,峰会 & 派对报名倒计时

融云 RongCloud

融云 峰会 泛娱乐 出海 wicc

Zebec生态进展迅速,频被BitFlow、Matryx DAO等蹭热度碰瓷

股市老人

使用CST电磁仿真之前,如何安装硬件加速卡?【操作流程】

思茂信息

cst cst使用教程 cst操作 cst电磁仿真 cst仿真软件

什么是数字化?企业为什么要数字化转型

优秀

数字化转型 企业数字化转型 什么是数字化

大数据赋能商业地产研策

MobTech袤博科技

GitLab Dogfooding 实践:Web API 模糊测试

极狐GitLab

DevSecOps OpenAPI web api 模糊测试 dogfooding

得物前端巡检平台的建设和应用

得物技术

巡检

文件传输、文件同步、数据备份的有效解决方案

镭速

重磅发布 |《2023年消费品企业数字化转型调研白皮书》

博睿数据

数字化转型 白皮书 博睿数据 消费品企业

Zebec生态官宣与BitFlow、Matryx DAO等无关,切勿碰瓷

BlockChain先知

iOS MachineLearning 系列(18)—— PoseNet,DeeplabV3与FCRN-DepthPrediction模型

珲少

文心一言 VS 讯飞星火 VS chatgpt (22)-- 算法导论4.2 2题

福大大架构师每日一题

福大大 ChatGPT 文心一言 讯飞星火

Zebec生态进展迅速,频被BitFlow、Matryx DAO等蹭热度碰瓷

西柚子

聊聊「短信」渠道的设计与实现

Java 架构

AIGC背后的技术分析 | 机器学习?机器如何学习?

TiAmo

机器学习 AIGC julia

520 | ChatGPT会是一个完美情人吗?

澳鹏Appen

人工智能 nlp 情感分析 数据标注 ChatGPT

线程是如何通讯的?

javacn.site

华为云Toolkit活动:领取云计算8大领域50本干货电子书!

华为云PaaS服务小智

云计算 程序员 开发者 编程数据

音频编辑工具 Celemony Melodyne Studio5激活

真大的脸盆

Mac Mac 软件 音频编辑 音频处理工具 编辑音频

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