對于云服務提供商而言,serverless計算的吸引力
對于云服務提供商而言,serverless計算能夠給他們帶來商業上的增長。得益于編程模型的簡化,serverless計算能夠吸引更多的新客戶,而對于那些已有的客戶,serverless計算使得他們能夠更好地利用云資源。舉個例子,近期的一項調查發現serverless的使用者群體中,有大約24%是第一次接觸云計算,而已經在使用serverful云計算的客戶中,有30%的人也同樣使用了serverless計算。另外,serverless計算運行時間短、內存使用少以及無狀態的特性讓云服務提供商很容易找到一些尚未利用的資源來運行它們,這樣就進一步提高了資源利用率。云服務商甚至可以用一些對于severful云計算而言已經“過時”的舊服務器資源來運行serverless服務,減少成本和開銷。
對于購買云服務的客戶而言,serverless計算帶來的主要收益是編程生產力的提高,以及在許多場景下的支出節省。Jevons paradox指出,即使serverless計算讓客戶變得更有效率,他們也不會因此減少云的使用率,相反他們會因為用戶數量的增長而更多地使用云。
serverless還把云部署從x86機器碼(99%的云計算機使用x86指令集)提升到了高級語言層面,作為開發者你無需再關心服務器上究竟安裝的是什么運行環境,也不需要擔心從32位編譯器換到64位編譯器帶來的遷移成本 —— serverless系統會幫你解決這些問題,因此應用的架構就有了更多的創新空間。如果ARM或者RISC-V能夠提供比x86更好的表現,serverless計算也可以很方便地替換指令集。云服務提供商甚至可以增加一些針對特定語言或者領域的優化,來給使用像python這種語言的編寫的程序加速。
云服務的開發者們會很喜歡serverless計算,對于新手而言,即便完全不理解云基礎設施如何運作也能快速編寫出可用的代碼;對于專家而言,serverless節省了他們部署和運維的時間,讓他們能夠更加專注于解決和優化應用本身的問題。下面的表格中給出了目前serverless計算最受歡迎的幾個應用場景
最后,研究者們之所以被severless計算所吸引,主要是因為cloud functions這種通用目的計算抽象很有希望成為云計算的未來,而且就serverless系統的目前還有很多局限性,優化和改進的空間還非常大,值得進行相關的研究。