天天看點

無伺服器架構已成雲計算未來趨勢

無伺服器架構和 functions-as-a-service(faas)是雲計算的熱點趨勢。除了微軟和亞馬遜,還有許多其他供應商也提供faas。本文将為大家簡單介紹什麼是無伺服器架構以及我們會需要無伺服器架構。

雲計算的演變

在演變過程中,雲已經有了多種形式和層次。

無伺服器架構已成雲計算未來趨勢

無論是内部部署還是由供應商提供的服務,資料中心都是雲計算的第一步。它抽象化了實體主機環境,我們開始用硬體單元擴充這些環境。随着虛拟化的發展,我們開始在雲環境中托管虛拟機;我們抽象了硬體和使用的作業系統作為規模的機關;之後,我們為雲建構了托管環境,并抽象了作業系統;再之後新的單元是應用程式;現在我們已經開始嘗試無伺服器架構或者是faas了。

不同的雲模型給予我們不同的責任。将資料中心設為本地就意味着我們要對所有事務負有全部責任,當資料中心慢慢向雲轉變時,我們要承擔的責任會越來越少。

無伺服器架構已成雲計算未來趨勢

無伺服器架構實際上晚于saas,圖中它排在saas前面,是因為saas,使用者完全不能控制關于應用程式或其基礎設施的任何事情。

無伺服器架構

無伺服器架構是指大量依賴第三方服務(也叫做後端即服務,即“baas”)或暫存容器中運作的自定義代碼(函數即服務,即“faas”)的應用程式,函數是無伺服器架構中抽象語言運作時的最小機關,在這種架構中,我們并不看重運作一個函數需要多少cpu或ram或任何其他資源,而是更看重運作函數所需的時間,我們也隻為這些函數的運作時間付費。無伺服器架構中函數可以多種方式觸發,如定期運作函數的定時器、http請求或某些相關服務中的某個事件。

mike roberts曾在他的文中提出了有關faas的六點:

1.從根本上說,faas是運作後端代碼,無需管理自己的伺服器系統或自己的伺服器應用程式。

2.faas産品不需要對特定架構或庫進行編碼。在語言和環境方面,faas函數是正常應用程式。

3.由于我們沒有要運作的伺服器應用程式,是以部署與傳統系統也會有不同,我們将代碼上傳到faas供應商,供應商會做所有的工作。

4.水準擴充是完全自動彈性的,并由提供商管理。

5.faas中的函數可由提供者定義的事件類型觸發。

6.大多數提供者還允許函數來觸發對http請求的響應。

adrian cockroft在文中清楚地定義了“無伺服器”:如果你的paas可以非常高效地在20毫秒内啟動執行個體,并将該執行個體運作0.5秒,那可以将其稱之為‘無伺服器’。從中我們可以得出這樣一個結論,長時間運作的工作流和其他巨大的任務不适合無伺服器架構。

功能服務

已經提供了faas服務的公司有:

·microsoft – azure functions

·amazon – aws lambda

·auth0 – webtask

·iron.io – ironworker

·planet rational – webscript

總結

無伺服器架構允許我們建構一些有用的代碼,快速運作而不消耗大量的伺服器資源。但這并不意味着faas僅在小型場景中可用,雖然函數是一個小機關,但是它可以每秒調用數百萬次,現在問題的關鍵是我們如何将應用程式的其他元件和層轉到函數。

本文轉自d1net(轉載)

繼續閱讀