抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

Kratos 项目使 AWS Lambda 代码运行在多个云上

2016 年 2 月 25 日

消息队列和任务处理平台提供商 Iron.io 宣布了 Kratos 项目,该项目使 AWS Lambda 函数可以运行在多个云上。Lambda 函数在 Iron.io 的容器中执行,而这些容器可以运行在任何底层基础设施上。

AWS Lambda 是一个允许开发人员运行代码响应特定事件(如上传一张图片)的服务。这些代码中的函数充当事件处理程序。当事件发生时,AWS 负责启动运行代码所需的实例,并根据需要进行扩展。开发人员完全不知道操作细节。

Kratos 项目在代码和基础设施之间另外引入了一层,旨在提供一个云平台无关的平台。该层由 Iron.io 自定义的容器构成。现有的 Lambda 函数可以运行在这些容器中。Iron.io 计划针对谷歌“云函数(Cloud Functions)”做相同的事情。Iron.io 首席执行官兼联合创始人 Chad Arimura 是这样介绍 Kratos 容器的作用的:

容器打包了所有必要的组件,使代码平台无关,用户可以控制和选择如何及在哪里运行工作负载。我们发现,这就是现代企业希望采用的应用架构方式。

Kratos 项目已经创建了工具,用于将 Lambda 函数封装和打包到容器中。据 Iron.io 首席技术官 Travis Reeder 介绍,虽然它可能不支持实际的 Lambda API,但这些函数可以使用 Kratos 端点完成相同的事情。

AWS Lambda 于 2014 年 11 月发布,支持 Java、Python 和 node.js。事件可以由各种数据源产生,如Amazon S3 (比如新增或修改一个对象)、 Amazon Kinesis (比如记录流数据)和 Amazon DynamoDB (比如记录表更新)。AWS 负责自动扩展运行事件处理程序代码的基础设施。Lambda 处理程序代码可以在 AWS 控制台的编辑器中编辑,也可以打包为 zip 文件上传。代码使用 AWS 特有的结构,因此,如果要运行在 AWS 之外的基础设施上就需要修改。谷歌最近宣布了一个类似的产品,名为云函数。

在 Kratos 项目中,容器会运行专有组件,那这是否会导致客户被 Iron.io 的平台锁定?对此,Arimura 解释说:

我们也可以使用 webhook(比如 SNS/PubSub)连接到所有的 AWS/ 谷歌服务,但是之后,你就可以控制在哪里运行工作负载,包括使用 vSphere 或 OpenStack 的私有数据中心。

Arimura 进一步补充道,“我们提供了导入程序,可以简化 Lambda 函数的打包和运行,但将来,我们也会包含 API 兼容性,真正实现工具重用”,从而将现有的 Lambda 函数迁移到 Kratos。Kratos 将提供一个 CLI 工具,负责打包及向 Iron.io 的平台推送和注册函数。

Kratos 尚未正式发布,欢迎感兴趣的开发人员在他们的首页上参与Beta 测试

查看英文原文: Project Kratos Enables AWS Lambda Code to Run on Multiple Clouds

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

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

2016 年 2 月 25 日 18:001003
用户头像

发布了 1008 篇内容, 共 322.2 次阅读, 收获喜欢 293 次。

关注

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

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

Kubernetes手记(17)- 调度策略

雪雷

六月日更

《Software Engineering at Google》免费开放

俞凡

c++ 软件工程 Google

六、拆分电商系统为微服务

菠萝吹雪—Code

架构实战营

模块6作业6

dwade

#架构实战营

CSS工程化

法医

CSS 前端 6 月日更

架构实战训练营 - 模块六课后作业

Johnny

架构实战营

我国区块链产业发展面临的问题

CECBC区块链专委会

推荐算法工程师需要的知识储备(十三)

数据与智能

算法 推荐系统 成长路线

大型分布式 Web 系统的架构演进

xcbeyond

分布式 架构演进 6月日更

Angular管道PIPE介绍

devpoint

angular.js angular 6 月日更

低代码开发简史

俞凡

架构

Dajngo 网站开发 ---Task2(下)

IT蜗壳-Tango

6 月日更

源码分析--golang读写锁

en

Angular模板简介

devpoint

angular.js angular 6 月日更

Google大规模监控系统--Monarch

俞凡

架构 分布式

crypto/md5

康家沟偶像天团王大锤

JAVA面向对象(七)--类的属性和方法详讲

加百利

Java· 6 月日更

DevOps的未来

俞凡

DevOps

OnceAgain

一个向往理想的现实主义者

个人总结

架构实战营模块6作业

冬天的树

流式基础设施--云基础设施的未来

俞凡

云计算 架构

Golang生成随机字符串的八种方式与性能测试

张俭

golang Performance

自媒体从业者如何选择合适的公司

石头IT视角

揭秘MySQL的主从同步实现方案

架构精进之路

MySQL 6 月日更

架构训练营模块6作业

Geek_649372

架构训练营

拆分电商系统为微服务

9527

架构实战营

同被指责「电力浪费」,如今的区块链会是 1999 年的互联网吗?

CECBC区块链专委会

智能无线接入网的崛起

俞凡

AI OpenRAN

JavaScript学习(六)

空城机

JavaScript 前端 6月日更

☕【JVM技术探索】各种类型对象占用内存情况分析(上)

李浩宇/Alex

JVM java对象分析 6月日更 6 月日更 内存分配

跨越式成长 - 高效的学习方法

Ryan Zheng

Study Go: From Zero to Hero

Study Go: From Zero to Hero

Kratos项目使AWS Lambda代码运行在多个云上-InfoQ