1. 首頁 > 云計算頻道 > 云計算

                    Servlerless是云計算的未來

                    2022年12月30日 10:50:07   來源:51CTO

                      譯者 | 胥磊

                      自云計算問世以來歷經數次演進,其中歸根于成本的因素是推動云計算歷次演進的重要動力。近幾年隨著云計算的迅猛發展,終于出現一種新的推動力那就是Serverless,其將推動云計算再次演進。本文中我們將闡述一個觀點,即Serverless是云計算的未來,同時將該論點圍繞以下的前提展開論述,進而描繪一個全新的愿景。

                      云計算是現代互聯世界的中心,大多數應用都使用云計算來收集和處理數據,并構建邊緣設備需要的信息

                      云計算的需求預計將以每年15%的速度增長

                      云計算的支出預計將達到關鍵市場領域IT成本的50%

                      云計算的能耗已經占了全球能源消耗的1-1.5%,其增長已對環境構成實質威脅

                      綜上,鑒于云計算不斷增長的需求,我們提出更節能,更具成本效益的Serverless計算模式是當前主流云計算的下一個演進方向。

                      一、簡介

                      當下云計算的影響力已經滲透到世界的各個角落,無論你身處何方都可以看見那些依賴便攜電腦上網和處理信息的人。那些信息大都從邊緣設備采集,進而被運行在云端的應用程序和服務收集,處理后產生的。作為一名擁有該領域多年經驗,且推動支撐現代IT關鍵開源技術發展的個體,是時候退一步思考一下云計算未來發展方向的大問題--當前云計算模式的下一步的發展方向是什么?更確切地說是目前占主導地位的由Kubernetes驅動的混合云的計算模式的未來是什么。

                      說起無服務計算,就和當初Kubernetes的情況一樣,通常被提到的就是自然進化,但它是朝著正確的方向演進嗎?是否有助于緩解日益增長的云計算成本?亦或它的持續增長是否對我們的環境再次造成威脅?

                      二、動力

                      在本文中,我們認為這些極具挑戰性的問題的答案都是確切的。我們相信云計算的未來就是Serverless。這一論點的得出,不是簡單的源自于用戶所實現的成本效益,而是源于云供應商所獲得的更高的計算密度,另外還源于對環境影響方面的因素。所有的計算模型都必須是“綠色”的,都要具備環境的可持續性,要對我們賴以生存的氣候更友好。

                      三、歷史視角

                      作為21世紀初主導模式的云計算,被看作是IT史上的一場革命。伴隨著云計算的興起,任何人都可以用每小時幾分錢的低廉價格擁有一塊云計算機(通常以VM虛擬機或容器的形式)。極大的便捷性使任何人在任何地方都具備毫不費力的啟動“云規模”計算資源的能力,這也是我們當前技術革命的最大驅動力之一。

                      當然這場變革也帶來一個后果,一旦向用戶提供了高可用的廉價計算單元,無論計算資源是否被充分的利用都將被一直分配。這些資源被分配后,云供應商就需確保在用戶需要使用時可以被隨時使用。而與此同時,用戶運行的工作負載卻很難達到7*24持續去使用這些分配的計算資源。

                      大多數的工作負載都具有事件驅動的特性,除了被設置的事件調度的時候,大部分時間都是在等待事件,當一個事件到來后工作負載才會做出反應和回應。另一種常見的工作負載就是以批處理的模式工作,當然批處理任務可能是外部事件觸發,也可能是定期發生。在目前主流的云計算模式下,用戶必須預先獲取其工作負載所需要的計算資源的量,這種做法通常會帶來巨大的浪費。而這些浪費的計算資源則增加了成本支出,以及能源的耗費。

                      四、Serverless是云計算的未來

                      Serverless是為了解決云計算資源分配的問題而產生的。通過增加資源分配的自動化功能,Serverless使用戶不再需要預先確認和分配其工作負載所需要的計算資源。作為一個開源的示例,Knative就是在Kubernetes云平臺之上增加了自動化擴展,根據實際服務的需要自由擴縮計算資源。一方面隨著請求的不斷到來,Knative會相應增加分配的計算資源,并且支持無限擴展Pods節點,另一方面當請求量逐步降低時,Knative會相應縮小計算資源的規模(無請求時則0個Pods)

                      由此,Knative通過確定何時何地需要那些計算資源,解決了為用戶預先分配資源的問題。唯一要做的就是在Knative增強的Kubernetes集群上部署一個服務,當然服務本身并不占用額外的計算資源,以后便可以隨時隨地的響應計算資源的請求。正如Knative所展示的,Serverless模型將每個服務都定義為一個事件,Knative本身也做了一些功能增強,以便能更好的控制事件的生產和消費。這也能確保每個服務在任何時候都能獨立的進行擴展控制,只需要有必要數量的服務實例在云上運行。

                      Knative通過不斷的將每個服務所預留的云資源與實際使用的量相適應來提高云的效率。Knative成為改進Kubernetes的一種方式—涵蓋了很多相同功能的同時為用戶增加了簡化和自動化,從而實現了更高的云效率。因此,你應該盡可能去使用Knative而不是直接使用底層Kubernetes。

                      五、管理成本

                      Serverless主要承諾之一就是通過有效分配和使用云資源與服務來節省成本。目前在云上運行的工作負載大都需要對云資源進行預先分配。但鑒于確切的資源消耗難以預測和知曉,用戶往往都進行了過度分配,因此也支付了過多的費用。

                      此外,大多數的云計算服務的資源需求也并不是恒定的。恰恰相反,一個典型的服務的需求會隨著每天不同時間,每周不同日期,一年中不同季節,假期以及當地或全球突發事件而波動。多數情況下,試圖預測實際需求都是一項不可能完成的任務,所以用戶都會在預期的峰值之上配置和預留冗余的云資源,以確保能夠平穩處理峰值。這些都意味著大多數時候為服務提供的云資源比實際需要的要高很多。即使用戶通過充分分析峰值后選擇一個較低的冗余數量,而實際的需求也可能會更低,這就造成了成本的浪費;蛘咭部梢赃x擇一個不足的數量,這將可能會導致收入的損失。通過實時自動配置資源以適應需求,Serverless有效避免了浪費和損失。

                      Serverless解決了云用戶在部署服務時需要保留計算資源的問題。通過Serverless部署的服務只有在事件(服務請求)需要處理時才會被激活,為云用戶節約了成本。伴隨更多事件的出現,相應的云服務就會通過擴展來滿足需要,而當需求減少時服務便可以縮減直至為零,最佳的情況就是一個服務只需要消耗它處理收到需求所必要的資源,不多也不少。

                      云服務商在提供Serverless服務時也可以節約成本。在沒有Serverless的時候,用戶購買了預先配置的計算資源,所有的這些資源都在某處的虛擬機上進行本地化部署。云服務商必須確保當服務達到峰值時,為該服務提供資源的虛擬機要有足夠的本地資源提供擴展空間。而有了Serverless后,隨著服務需求的增長,云服務商只要確保云上有足夠的資源來服務該事件既可。

                      以Knative為例,如果一個事件到達某個特定的Kubernetes集群,Knative可以在集群的任何地方為該事件尋找資源,而不必局限于一個特定的工作節點。如果整個Kubernetes集群的資源都被完全使用,云服務商可以將事件路由到其他集群,這些通過Istio將網絡抽象,同時使用Kubernetes的聯合模型非常容易實現。隨意使用任意地方的計算資源為事件服務解決了對本地資源預分配的問題,也大幅提高了云效率?偟膩碚f,Serverless為云服務商和用戶都帶來了顯著的成本降低。

                      六、環境

                      正如我們之前所討論的,Serverless提高了云服務的效率。通過解決只能在節點層面上對資源進行本地的預配置問題,Serverless可以使用任何地方的云資源來服務請求。整體上看整個云端只需要更少的計算資源來服務同一云服務。更重要的是每個工作負載所耗費的資源會隨之減少。例如一個縮減到零的工作負載比它持續運行所耗費的資源要少,同樣必要的能源消耗的數量也會隨之減少。所以Serverless可以帶來額外的能源節約,隨著越來越多的服務轉向Serverless計算模式,云供應商就可以在數據中心的任務地方提供服務,未來甚至數據中心可以在容量滿足需求的情況下暫停部分工作節點和物理機。由于能源消耗是云服務商首要成本之一,這樣就可以節省很多的成本支出。

                      這種節約不僅使云的效率更高,也使云更環保。隨著越來越多的工作負載轉移到云上,節省的費用將非?捎^。另外氣候變化的問題不是單靠行為上改變就能應對的,而是要通過更有效的利用我們所擁有的能源,進一步減少能源的消耗。通過Serverless這些就可以在對當前應用沒有任何影響的情況下實現,事實也是如此。當然并不是所有的工作負載都可以采用Serverless模式的,轉向Serverless也是有挑戰性的,這一點我們將在后續討論。所以,云負載的Serverless未來意味著更環保的環境。

                      七、其他用例

                      最初Serverless是一種使用范圍狹窄的小眾技術,主要用于功能或服務的工作負載。近來隨著其使用范圍的大幅擴展,幾乎可以滿足任何類型的工作負載要求。例如批處理或交易的處理就天然適合Serverless架構,因為它們都是為實現一個結果而執行的工作負載類型,當然為了保證批處理和事務處理的完整性,事件調度和失敗重試協議也是很有必要的。

                      1、數據和人工智能

                      數據和人工智能也是一個成熟的Serverless使用領域。典型的用例就是在大型數據集上運行機器學習(ML)算法,以及完善算法和功能,并重新運行的能力。一些項目如Kubeflow圍繞Knative打包了必要的庫和功能,便于這些用例的執行。我們還可能會通過不同的交互模式擴展當前的Serverless解決方案,使數據和人工智能用例更加自然,如允許fire-and-forget類型調用。此外,添加對提供的端點進行回調,以獲得結果的功能也可能會非常有幫助。

                      2、量子計算

                      最后Serverless架構未來的一個非常重要的應用就是幫助量子計算機成為主流。量子計算機性能全面超越經典計算機,且具有其所不具備的優勢,然而它的使用卻需要專門的硬件和機柜,并且量子計算機編程限制也是一個重要因素。量子計算機令人望而卻步的財務成本及其冷卻系統相關的能源成本,使得能提供成本和能源優化的Serverless成為天然候選者。通過量子Serverless模型,如《超導量子計算的未來》中所述,我們可以通過訪問事件驅動和經典的Serverless相關的工作負載來減少直接使用量子計算機的復雜性。IBM量子團隊正在將量子Serverless作為他們未來2-5年戰略的基石。

                      八、總結

                      在這篇博文中,我們解釋了為什么Serverless成為所有云計算工作負載的未來方向。我們認為未來這種Serverless優先的模式對云用戶和服務商都帶來各種潛在的好處。這種好處不僅僅體現在各方面成本的節約,更重要的是還包括能源效率,從而帶來更環保的云和更有環境意識的計算。最后我們還提供了Serverless優先的云的一些用例,如數據和人工智能以及量子計算。

                     

                     

                      文章內容僅供閱讀,不構成投資建議,請謹慎對待。投資者據此操作,風險自擔。

                    [編號: ]
                    分享到微信

                    即時

                    新聞

                    騰訊前三季研發投入454.75億元 前沿科技加速落地服務

                    11月16日,騰訊控股(HK.00700)發布2022年Q3財報,騰訊實現營業收入1400.93億元,非國際會計準則凈利潤(Non-IFRS)322.54億元,同比恢復增長,多個主營業務板塊收入亦呈現環比企穩跡象。

                    企業IT

                    今日影像,今日推送!星圖地球今日影像正式發布,開

                    每一次火箭升空、衛星發射都能引起全國人民的關注,那你可曾想過,有朝一日每個人都能召喚衛星為自己服務?

                    研究

                    IDC發布中國數字政府IT安全軟硬件市場份額報告

                    IDC《中國數字政府IT安全硬件市場份額,2021》報告顯示,中國數字政府IT安全硬件市場的規模達到64.9億元人民幣,同比增長31.5%。

                    老师穿包臀裙和我啪啪