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