BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Hrishikesh Barua 关注 15 他的粉丝 ,译者 谢丽 关注 11 他的粉丝 发布于 2016年2月26日. 估计阅读时间: 3 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

消息队列和任务处理平台提供商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云计算专家:立即联系

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT