Serverless,下一個趨勢?

若是你看過有關2017年技術發展的預測,特別是雲計算方面的預測,必定對Serverless Computing(無服務器計算)印象深入。編程

AWS在2014年推出了第一個大型無服務器計算服務(AWS Lambda),其餘雲計算巨頭也紛紛在2016年開展了本身的Serverless Computing服務。對於Serverless Computing來講,2017年極可能會是收穫巨大突破的一年。服務器

事實上,在Gartner推出的「2017年十大戰略技術趨勢」榜單中,Serverless Computing赫然在列。Gartner將Serverless Computing看做是MASA(the mesh app and service architecture)的重要部分,並解釋說,「MASA是一種多通道解決方案架構,利用雲計算、無服務計算、容器、微服務、APIs及事件等提供模塊化、靈活、動態的解決方案」。Gartner同時提醒到,這將是一個長期的趨勢,須要IT採用新的工具和工做方法。架構

因此,關於Serverless Computing 咱們應該知道哪些事?app

Serverless Computing並非真的沒有服務器框架

其實有不少人認爲,Serverless Computing一詞並非十分穩當。咱們的工做負載仍然在某個服務器上運行着,只不過咱們不須要以任何方式部署、配置、維護或管理這些服務器。咱們甚至不須要知道所使用VM(虛擬機)的類型和數量。less

咱們能夠把Serverless Computing看做是對於終端用戶的IT抽象和簡化。虛擬化使用戶不在須要知道哪些物理服務器正在運行;雲計算使配置變得更容易,但仍須要用戶選擇VM類型、啓動或中止服務;而Serverless Computing則更進一步,將VM類型選擇、服務的啓動和中止操做都省去了。運維

Serverless Computing是雲計算的一種編程語言

Serverless Computing的另外一個更具描述性的名字是FaaS(Function as a service)。就像IaaS、PaaS、SaaS同樣,FaaS是雲計算的一種。經過FaaS,用戶爲應用的某一特定功能購買必要的功能。模塊化

舉個例子,假設企業有一個用來生成特定報告的分析應用。咱們可使用Serverless Computing來處理生成特定報告的功能。當分析應用須要完成這一報告時,服務將自動啓動必要的雲實例,並在功能完成後自動關閉。咱們能夠將FaaS用於整個應用程序或者某些功能。微服務

Serverless Computing在代碼運行時以毫秒計費

Serverless Computing將雲計算按使用計費的模式提高到了一個新的粒度級別。例如,AWS Lambda按代碼執行的每100毫秒和代碼的觸發次數向用戶收費。

Serverless Computing的優點

Serverless Computing的一個主要好處是,建立應用程序的開發者再也不須要花費任什麼時候間處理基礎架構並管理應用程序。開發者僅需上傳代碼,支持Serverless Computing的平臺或服務將處理其餘工做。

對於企業來講,支持Serverless Computing的平臺能夠節省大量時間和成本,同時能夠釋放員工,讓開發者得以開展更有價值的工做,而不是管理基礎設施。另外一方面能夠提升敏捷度,更快速地推出新應用和新服務,進而提升客戶滿意度。

Serverless Computing是DevOps的絕配

Serverless Computing在DevOps環境中運行良好,一樣源於它最大限度減小了開發者在管理服務器上所花費的工做和精力。甚至在某些狀況下,容許企業採用「NoOps」的方法,服務器的部署和管理都已實現自動化,開發者不須要與運維人員一塊兒同步工做。

Serverless Computing與微服務架構相關

微服務架構下,開發者將應用拆分爲一個個可獨立構建、管理和擴展的小服務,而ServerlessComputing能夠將之下降到更小的級別。

然而,行業內對於微服務和功能由什麼組成,還存在分歧。二者之間的區別比較模糊,有些供應商在微服務和功能兩個術語的使用上甚至能夠互換。

須要注意的是,目前有一種趨勢是將應用程序視爲較小的獨立部分的組件,而不是做爲一個總體。

不須要學習新開發語言

Serverless Computing支持普遍的編程語言和框架,大多數人員能夠當即開始使用Serverless Computing,這樣的語言支持,無疑是勝利和效率提高的一大助力。

Serverless Computing具備可擴展性

對於處於快速增加期的企業,Serverless Computing的可擴展性是其最具吸引力的特性之一。構建一個同時即適用於數百萬用戶又適用於數十個用戶的應用,是當今開發者面臨的最大挑戰之一。

Serverless Computing消除了這一挑戰,由於其每一個功能均可以獨立擴展,而不須要員工配置額外的VM或實例。

Serverless Computing也有缺點

首先,Serverless Computing很新,不容易找到有經驗的工做人員和工具來支持。 其次,Serverless Computing簡化了一些工做,卻也讓一些工做變得複雜了起來。將咱們的關注點從一個大的應用程序或幾個微服務,轉爲對幾十個甚至上百個獨立功能,須要有新的管理技術和流程。 第三,與每一項新技術相似,Serverless Computing短時間內極可能會給企業帶來額外的花費,並對企業的管理水平提出更高要求。

有不少服務商提供Serverless Computing

想要使用Serverless Computing,目前已有很多供應商可選。除了文章開頭提到的AWS及IBM、Azure等幾家雲計算巨頭,包括好雨科技在內的一些新型雲計算公司一樣提供專業的Serverless Computing服務。

Author CynthiaHarvey Trans by 好雨科技 「支持Serverless Computing」

相關文章
相關標籤/搜索