亞馬遜發布事件驅動計算服務,可能改變程序員使用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]
<span id="shareA4" class="fl">
</span>