Google 发布了名为“云函数(Cloud Functions)”的服务的 alpha 版本。该服务允许人们创建很小的 JavaScript 函数,这种函数可以自动对“云事件”做出响应,而不需要用户干预,配置和执行运行时环境或者将其复制到多台机器。
在云的环境中,可能有多个事件发生,并通过“云发布 / 订阅(Cloud Pub/Sub)”机制传播。用户可以配置一个“触发器”来监听这些事件,通过在 Node.js 环境执行 JavaScript 代码对这些事件做出响应。目前,“触发器”可以通过以下途径激活。
- 云发布 / 订阅(Cloud Pub/Sub):任何异步的发布 / 订阅事件
- 云存储(Cloud Storage):对象变更通知
- HTTP 调用:通过 HTTP 进行的同步调用
- 调试 / 直接调用:使用命令行界面(CLI)开发 / 调试“云函数”
我们向 Google 咨询“云函数”能做什么,得到如下答复。
这种“云函数”可以访问任何其他拥有合适 Node(或 JavaScript)客户端类库或者 RESTful API 的云资源。如果你使用 gcloud-node 客户端类库,你会被以默认的项目凭证予以认证。所以,你无需担心诸如生成或存储认证 key 的事情。
这种函数对因特网具有完全的访问权限,你可以访问任何第三方的 API,然而你需要自己维护这些来自于外部服务的认证 key
Google 不愿对未来的开发工作作出评论,所以我们不知道他们是否会在未来为其他语言添加对这种服务的支持。但很可能会。
亚马逊有一项叫做“亚马逊Lambda ”的类似服务。Lambda 函数可以直接被CloudWatch,DynamoDB,Kinesis,SNS,S3 触发,也可以被系统状态修改,数据变化或者用户行为触发。“亚马逊Lambda”可用于实时文件处理,数据流技术或者在它被加载或者修改的时候对数据执行各种操作。它支持Java、JavaScript/Node.js、Python,并承诺将来会支持其他语言。
查看英文原文: Google Introduces Cloud Functions
感谢魏星对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。
评论