亚马逊发布事件驱动计算服务,可能改变程序员使用AWS的方式
亚马逊云计算服务 AWS(Amazon Web Services)今日发布面向动态应用的无状态事件驱动计算服务 Lambda,用户不再需要任何计算基础设施就可创建动态应用。从此程序员只需关心自己的代码就好了。
AWS 为什么要造这么个东西出来呢?首先我们来看看什么是应用的根本。
应用最核心的是函数(functions,即业务逻辑的载体)+ 数据(data,即跟业务相关的输入与输出),以及这两者之间的交互——即事件(events。常见的事件如增加、变更、删除等)。
换言之,对于一个应用来说,除了 functions、data、events 这三个东西是根本之外,其他无论什么代码和框架,都是应该被外包出去的低附加值对象。
而 Lambda 就是这样一个外包服务平台,程序员可以将更多的时间投入到应用核心工作当中,他们只需编写代码,定义函数触发条件,此后程序会在条件满足时自动运行。
在一项针对该服务的 Hacker News 讨论上,一位曾有 Lambda 早期接入权限的工程师说道,真正靠这项功能提高效率可能尚需时日,不过一旦过了这个阶段,它很可能改变工程师们使用 AWS 的方式。
在一项任务触发后的几毫秒,Lambda 会通过无状态的云功能处理该任务,并且,数千个任务可以并发运行。
正如 Vogels 指出的,Lambda 遵循的是基本的编程原则,目前该服务仅支持 JS/node,不过未来会支持更多语言。用户在创建了函数后,需要赋予与它关联的上下文和资源。当资源发生变化时,函数会被触发,并且在没有任何人为干预的情况下自动运行。
Lambda 服务的定价见官网,由请求数、function 运行期间使用的存储、运行期间使用的内存三部分来定义。预览版期间有一部分免费用量。
[本文参考以下来源:aws.amazon.com, aws.amazon.com, infoq.com]