當前位置:
首頁 > 知識 > 為什麼說無伺服器是雲計算的未來?

為什麼說無伺服器是雲計算的未來?

無伺服器計算是一種由雲提供商完全管理代碼執行的體系結構,而不是傳統的將開發應用程序部署到伺服器上的方式。

這意味著開發人員在部署代碼時不必擔心管理、採購和維護伺服器。以前,開發人員必須考慮部署前需要多少存儲和資料庫容量,這減慢了整個過程。

為什麼說無伺服器是雲計算的未來?

無伺服器的功能有哪些?

無伺服器依賴於功能即服務(functions-as-a-service),開發人員將他們的應用程序分解成小的、無狀態的塊,這意味著他們可以在沒有任何與底層伺服器相關的的情況下執行。

最受歡迎的功能即服務產品之一是來自市場領先雲供應商Amazon Web Services (AWS)的AWS Lambda。Lambda早在2014年就推出了,在Lambda上,開發人員無需配置或管理伺服器即可運行代碼。AWS按100毫秒的增量對使用的計算能力收費。因此,開發人員可以專註於他們的代碼和事件觸發器,而AWS負責其餘的工作。

AWS負責的工作可能包括對Amazon S3或Amazon DynamoDB表中的數據進行更改、響應使用Amazon API Gateway的HTTP請求或使用AWS SDK進行的API調用。例如,當用戶在乘車共享應用程序上申請汽車時,這可能觸發寫入獲取汽車的代碼,或者點擊應用程序上的「購買」按鈕將觸發該購買過程。

「Lambda是一個由事件驅動的執行環境,」AWS的Ian Massingham解釋道, 「因此,在非常簡單的術語中,只要您有代碼和事件,當事件發生時,代碼會自動為您執行。您不必預先定位資源或創建任何常設基礎架構來提供執行環境。」

他當事件被觸發時,系統會自動分配基礎設施來執行代碼:首先在機器上啟動的Linux容器和詳細信息,然後獲得有關事件的元數據,最後將數據傳遞到執行點。

這與AWS本身內部的「傳統」部署模型相反,EC2 (彈性計算雲)實例運行Web伺服器或應用程序伺服器,以及確定何時為他們提供服務。這為企業提供了超低成本,使用Lambda時的執行成本為0。而且,它在低使用率時具有高成本效益,在高使用率時更具可擴展性,因此不管規模大小都有好處。

Massingham表示,重要的是,Lambda並不完全等同於無伺服器。 Lambda是執行部分,無伺服器要大一些。「除了計算之外,您還希望不需要操作基礎架構就能運行數據存儲, Lambda就是一種不需要您操作基礎架構的方法。

在2016年的主題演講中,亞馬遜CTO Werner Vogels用了一個比喻:「以前,你的伺服器就像寵物一樣。如果它們生病了,你就得把它們養好。它們像是牛,你必須放他們去吃草。但在無伺服器中沒有這樣的牛,只有您的應用程序。您甚至不需要考慮恢復其健康或獲得新的應用程序,其中的所有的任務都能自動執行。」

為什麼說無伺服器是雲計算的未來?

有哪些廠商正在提供無伺服器解決方案?

不過,無伺服器並不只是對AWS客戶可用。IBM OpenWhisk是另一種基於事件的體系結構。谷歌具有雲功能,「開發人員可以創建單一用途的、獨立的功能來響應雲事件,而不需管理伺服器或運行時環境」。類似地,微軟也有Azure功能。

2019年4月,谷歌雲宣布推出Cloud Run的公共測試版,這是一個完全託管的環境,供客戶以「無伺服器」方式部署應用程序。

在當時發布的博客文章中,工程副總裁Eyal Manor和谷歌雲產品管理總監Oren Teich表示:「傳統的無伺服器產品遇到了諸如運行時支持受限和供應商鎖定等挑戰。開發人員經常需要在各種糾結中選擇:到底選擇無伺服器帶來的易用性和速度,還是選擇容器帶來的靈活性和可遷移性。但在谷歌雲,這兩種優勢你可以同時擁有。」

以前,谷歌用戶可以使用谷歌雲功能有效地運行無伺服器,運行客戶可以「運行無狀態HTTP驅動的容器,而不必擔心基礎設施」。然後,客戶將被按每100毫秒的使用時間收取費用。

Cloud Run基本上可以根據請求旋轉Docker容器,這意味著開發人員可以編寫代碼並將其提交到Cloud Run環境,GCP將負責配置和管理伺服器,以及自動擴展以確保客戶真正支付他們使用的時間。

「我們可以做各種專有的緩存和性能增強,」Teich說,「因此,Cloud Run能夠利用我們在過去十年中建立的良好基礎,滿足用戶規模化以及靈活部署需求。」

Cloud Ru還可以與Google Kubernetes Engine(GKE)協同工作,這意味著客戶「可以在現有GKE集群上運行無伺服器」。您可以將相同的無狀態HTTP服務部署到GKE集群,同時抽象出複雜的Kubernetes概念。」

Oracle還在JavaOne 2017大會上宣布了與雲無關的無伺服器Fn項目。在關於這個主題的博客文章中,Gluon和LodgON的聯合創始人Johan Vos寫道:「Fn的一個關鍵特徵是,雖然它打算在雲環境中運行,但它並不依賴於特定的雲供應商。平台本身可以託管在任何支持Docker的雲環境中。這意味著您可以在Oracle雲上運行它,但您也可以在自己的基礎架構或其他雲系統上運行它,例如,AWS 、Google雲、Microsoft Azure等。」

為什麼說無伺服器是雲計算的未來?

如何看待無伺服器的未來發展?

2018年11月,亞馬遜CTO Werner Vogels在其「2018年re: create」主題演講時談到了無伺服器計算的發展軌跡,尤其是它與企業的關係。

他表示,通常應該是更年輕的、以技術為導向的企業率先嘗試這種技術,但我們實際上看到的是,大型企業才是真正擁抱無伺服器技術的企業。只需要構建業務邏輯而不考慮其他任何事情的概念確實推動了無伺服器的發展。

吉他製造商芬達(Fender)也加入了Vogels的行列,該公司使用Lambda觸發器來支撐其數字內容流程,並大談其解放開發者、專註於其數字產品而非基礎設施的雄心。

Vogels表示,甚至像Fender這樣的傳統企業 也在走向無伺服器。無伺服器的好處是顯而易見的:無需提供任何服務,它可以自動擴展,並且具有高度可用性和安全性。最重要的是,你只需為你使用過的東西付費。

AWS Lambda工程總監Holly Mesrobian說:「人們討論過很多關於可伸縮性、可靠性、性能、安全性和成本的問題。當我們構建AWS Lambda時以無伺服器的方式對所有這些問題進行優化。」

在增強這些功能時,讓開發人員興奮的是Firecracker的開源版本,它允許安全的無伺服器開發,同時不會降低性能。

Firecracker擴展了它的工作原理,為無伺服器計算提供了安全、快速的microVM 。為了實現安全性,它設計的速度非常快,在不到125毫秒的時間內啟動代碼,創建速度高於每台主機每秒150個microVM的速度。Firecracker同時確保了規模和效率,其內存開銷低且每個microVM的內存佔用量小於5MB,每個主機上有數千個microVM。

讓開發人員如此激動的原因是,它帶來了Fargate的性能變化,Fargate是AWS計算引擎,允許客戶無需管理伺服器或集群即可運行系統。

無伺服器有哪些落地案例?

丹麥網路公司Trustpilot是一家真正應用無伺服器的公司。

該公司成為雲企業已經有五年了,運行由事件驅動的微服務和REST api組成的高級體系結構。它在線整合了對產品和服務的獨立評論,該公司首先「無伺服器化」,並將在2019年年中關閉其最後一個EC2實例。

它的第一步是確定Trustpilot所謂的「工程原理」,以便在其架構中添加「無伺服器優先」。

其原則是:堅信無伺服器(FaaS、BaaS、DBaaS)是雲的未來,並站在這一趨勢的最前沿。目前,無伺服器可能不是所有企業的最佳選擇,但是改變正從這裡開始,虛擬伺服器正在被淘汰。

該公司現已減少運行53%的虛擬伺服器,從今180個到今天的95個。同時已經擁有283個容器,比2016年的80個增加了354%。另外,常規Lambda功能從40個增加到252個。

其他已經通過Lambda將應用程序移至無伺服器的企業客戶包括Thomson Reuters、Finra、Hearst、Vevo和Expedia。

在谷歌雲中,Teich表示,在過去一年左右的時間裡使用Alpha Run的客戶運行了大量的程序,他們已經取消並轉移他們現有的基於Web的數據。 他還強調了Alpha Run在科學界的受歡迎程度。

總而言之,現在是應用無伺服器的最佳時機。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT168企業級 的精彩文章:

Facebook數據再泄露 5.4億數據曝光於AWS伺服器
制定災備計劃時要考慮的10個問題

TAG:IT168企業級 |