無服務器VS FaaS服務
在最近奧斯汀的Serverlessconf中,關於主題演講最引人注目的事情是,多少種不同的無服務器定義都被拋在腦後。這表明了這項技術的生命週期有多早,但一般來說,參與這一運動的大多數人都會同意“無服務器”指的是軟件架構,而“功能即服務(FaaS)”描述了開發人員在該體系結構中實現業務邏輯的關鍵機制。
例如,你可以在AWS S3服務上運行一個靜態的HTML網站,這將被視為無服務器架構。但是在商業邏輯中,如果沒有消費者數據的用戶交互,那麼這個網站也做不了很多事。現在,四大雲服務商都提供FaaS服務。
我看到FaaS的最佳定義是由Serverless Framework首席執行官奧斯汀·柯林斯提供的,他們的公司可能是這個領域最熱門的創業公司。對於柯林斯,FaaS的定義特徵如下圖所示:
FaaS平臺的內部運作
在歷史背景下考慮FaaS運行時間,根據多長時間把一個計算單元可用於一段代碼是有幫助的。在20世紀90年代初,我們只有裸機來運行我們的代碼,而獲得一個新的計算單元需要幾個月。
隨著虛擬機管理程序的發明,虛擬機能夠縮短到幾分鐘。使用不需要管理程序開銷的不同Linux內核資源分離技術,容器現在可以在幾秒鐘內給我們一個計算單元。
FaaS平臺又是如何實現毫秒級的響應?想象一下,已經分離容器的裝配線在其中具有語言運行時,如Node.js或Python,但還沒有業務邏輯代碼。
當事件被觸發時,只有這樣,存儲你寫入該事件的業務邏輯的函數才能從磁盤中讀取,並將其插入預熱容器中,並使用相應的語言。
這個序列會有變化,包括將代碼放在一個完全溫暖的容器中,以便下一次處理相同的事件。但關鍵概念是FaaS平臺以創造性的方式使用容器,並將功能執行映射到特定的事件。當你鏈接這些事件(如數據庫寫入或IoT設備信號)時,電源就會從更小的組件中創建更大的應用程序。
這一切都將走向哪裡?
如果看看羅傑斯創新採納曲線,那麼無服務器仍然是一個年輕的市場,位於曲線的開始階段。但是,已經有一些大玩家落後了(傳統的IT決策者絕不會因為在這上面打賭而被解僱),很多健康的開源替代品,以及為初創公司提供免費工具的市場開端。
無服務器一個有趣的方面是它有可能把供應商鎖定的概念放在頭上。假設你真的喜歡亞馬遜Polly的語音轉文本,但你更喜歡IBM 沃森進行文字情感分析。你的前端應用程序可以記錄口語,將記錄發送到AWS上的Polly,並將結果發送到沃森。
因此,你可以為特定任務找到正確的工具,而不是被鎖定在一個供應商或生態系統中。當你使用功能即服務構建時,各個部件足夠小,鬆動耦合足以選擇每個提供商。
無服務器VS FaaS服務
在最近奧斯汀的Serverlessconf中,關於主題演講最引人注目的事情是,多少種不同的無服務器定義都被拋在腦後。這表明了這項技術的生命週期有多早,但一般來說,參與這一運動的大多數人都會同意“無服務器”指的是軟件架構,而“功能即服務(FaaS)”描述了開發人員在該體系結構中實現業務邏輯的關鍵機制。
例如,你可以在AWS S3服務上運行一個靜態的HTML網站,這將被視為無服務器架構。但是在商業邏輯中,如果沒有消費者數據的用戶交互,那麼這個網站也做不了很多事。現在,四大雲服務商都提供FaaS服務。
我看到FaaS的最佳定義是由Serverless Framework首席執行官奧斯汀·柯林斯提供的,他們的公司可能是這個領域最熱門的創業公司。對於柯林斯,FaaS的定義特徵如下圖所示:
FaaS平臺的內部運作
在歷史背景下考慮FaaS運行時間,根據多長時間把一個計算單元可用於一段代碼是有幫助的。在20世紀90年代初,我們只有裸機來運行我們的代碼,而獲得一個新的計算單元需要幾個月。
隨著虛擬機管理程序的發明,虛擬機能夠縮短到幾分鐘。使用不需要管理程序開銷的不同Linux內核資源分離技術,容器現在可以在幾秒鐘內給我們一個計算單元。
FaaS平臺又是如何實現毫秒級的響應?想象一下,已經分離容器的裝配線在其中具有語言運行時,如Node.js或Python,但還沒有業務邏輯代碼。
當事件被觸發時,只有這樣,存儲你寫入該事件的業務邏輯的函數才能從磁盤中讀取,並將其插入預熱容器中,並使用相應的語言。
這個序列會有變化,包括將代碼放在一個完全溫暖的容器中,以便下一次處理相同的事件。但關鍵概念是FaaS平臺以創造性的方式使用容器,並將功能執行映射到特定的事件。當你鏈接這些事件(如數據庫寫入或IoT設備信號)時,電源就會從更小的組件中創建更大的應用程序。
這一切都將走向哪裡?
如果看看羅傑斯創新採納曲線,那麼無服務器仍然是一個年輕的市場,位於曲線的開始階段。但是,已經有一些大玩家落後了(傳統的IT決策者絕不會因為在這上面打賭而被解僱),很多健康的開源替代品,以及為初創公司提供免費工具的市場開端。
無服務器一個有趣的方面是它有可能把供應商鎖定的概念放在頭上。假設你真的喜歡亞馬遜Polly的語音轉文本,但你更喜歡IBM 沃森進行文字情感分析。你的前端應用程序可以記錄口語,將記錄發送到AWS上的Polly,並將結果發送到沃森。
因此,你可以為特定任務找到正確的工具,而不是被鎖定在一個供應商或生態系統中。當你使用功能即服務構建時,各個部件足夠小,鬆動耦合足以選擇每個提供商。