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