可能吞噬硬件的無服務(wù)器云
2019-12-10 來源:多智時代

云計算已經(jīng)對數(shù)據(jù)中心的運行方式產(chǎn)生了深遠(yuǎn)的影響,但是云計算的最新趨勢可能會以無服務(wù)器計算的形式提供另一個改變,這將有助于使客戶更加靠近效用計算。
無服務(wù)器計算實際上是一個誤稱,因為它絕對不會消除服務(wù)器。相反,它消除了云計算消費者直接處理服務(wù)器的需求,無論是配置或管理這些服務(wù)器,使用戶專注于開發(fā)和部署業(yè)務(wù)邏輯,而不是專注于自己的應(yīng)用程序或服務(wù)。
這聽起來很像平臺即服務(wù)(PaaS),這是一個久經(jīng)考驗的云服務(wù)模型,但是無服務(wù)器的方法將應(yīng)用程序和服務(wù)分解成更小和更離散的功能。一些無服務(wù)器的支持者甚至創(chuàng)造了術(shù)語“即服務(wù)”(FaaS)來描述它。
亞馬遜的做法
目前無服務(wù)器計算的熱潮可以追溯到亞馬遜在2014年將其納入其Amazon Web Services(AWS)云組合中的Lambda服務(wù)。Lambda是一個事件驅(qū)動的函數(shù),使開發(fā)人員能夠創(chuàng)建將運行的代碼響應(yīng)某些事件或觸發(fā)器。
然而,Lambda的一個關(guān)鍵方面是它自動管理運行和擴展代碼的高可用性所需的計算資源,客戶僅支付代碼實際運行時占用的CPU計算時間。
例如,Lambda可以用于驅(qū)動Web服務(wù)器,并且將消耗很少的資源或沒有資源。AWS已經(jīng)在Github上發(fā)布了一個參考架構(gòu),以及其他一些例如物聯(lián)網(wǎng)后端。
開發(fā)和運營基于云計算的服務(wù)的傳統(tǒng)方式是提供足夠的服務(wù)器和存儲資源來運行代碼和處理數(shù)據(jù),客戶負(fù)責(zé)提供正確的容量,監(jiān)控性能,以及容錯和可擴展性設(shè)計。
此外,經(jīng)營這種服務(wù)所需的資源通常必須持續(xù)可用的,并且隨時可以使用,這意味著客戶無論使用何種方式都為他們付費,除非他們開發(fā)自己的系統(tǒng)來按需提供資源,并在不需要的時候釋放它們。
所有這些意味著構(gòu)建基于云計算的基礎(chǔ)設(shè)施來提供應(yīng)用程序和服務(wù)可能被證明是比云計算提供商承認(rèn)的更復(fù)雜和耗時的任務(wù),這是無服務(wù)器計算尋求解決的問題的一部分。
分析機構(gòu)Quocirca公司的Clive Longbottom表示:“無服務(wù)器計算確實具有更高的云計算水平。之前已經(jīng)評論過用戶對AWS和Azure的依賴,用戶在建立頂層的任何軟件堆棧之前,仍然依賴于擁有非常聰明的系統(tǒng)架構(gòu)師,可以構(gòu)建基本的基礎(chǔ)資源。”
他補充說:“轉(zhuǎn)向一個可以得到期望結(jié)果的平臺,這意味著人們開始有更多的能力,這是人們想要做的,那么讓它發(fā)生!
換句話說,無服務(wù)器計算代表了旨在隱藏底層基礎(chǔ)架構(gòu)的另一個抽象級別。而且,盡管AWS可能是此方法最明顯的支持者,但其他來源(例如Google Cloud Functions,Windows Azure Functions或IBM OpenWhisk)也開始提供類似的服務(wù)。Iron.io公司的一個開發(fā)人員有一個名為Iron Functions的無服務(wù)器應(yīng)用平臺,它是開源的,可以在公有云或私有云上運行,并且與AWS公司的Lambda兼容。
預(yù)測成本
雖然無服務(wù)器計算可能從客戶的角度來看有一些優(yōu)勢,但它也可以為實現(xiàn)這些功能的服務(wù)提供商帶來一些好處。如果采用像AWS Lambda這樣的無服務(wù)器計算函數(shù),那么在任何給定的時刻可能會導(dǎo)致更少的資源被捆綁,以便操作客戶的基于云計算的應(yīng)用程序,這樣可以使服務(wù)提供商減少他們需要隨時可用的剩余容量。
然而,為了擺脫這個可能需要更復(fù)雜的數(shù)據(jù)中心監(jiān)控和編排工具的伎倆,如果客戶更多地利用能夠自動擴展以滿足需求峰值的Lambda等功能,預(yù)測需求就會變得更加復(fù)雜。
無服務(wù)器計算可能對客戶有一些優(yōu)勢,也可為服務(wù)提供商帶來一些好處。在任何特定的時刻,它可能導(dǎo)致資源減少,以便操作客戶的基于云計算的應(yīng)用程序。
同時,根據(jù)Long bottom的說明,無服務(wù)器計算不能解決客戶云服務(wù)的主要難題,該公司正在能夠準(zhǔn)確地預(yù)測運營應(yīng)用程序和服務(wù)需要多少費用,以滿足可接受的服務(wù)質(zhì)量需求所需的水平。
他說:“真正地讓客戶了解定價是如何隨著使用情況而變化的,這是AWS最黑暗的地方之一,”盡管這同樣適用于許多其他云提供商。“雖然AWS公司公布了費用,就像說開車的成本一術(shù)很容易解決,而這是基于每加侖的里程,加上輪胎的磨損,這取決于開車和道路的類型等因素,無服務(wù)器應(yīng)該隱藏一些這樣的黑暗。但是只有當(dāng)客戶可以讓AWS在其收費方式上得到公開的時候。”Long bottom補充道。
鎖住恐懼
這就是為什么企業(yè)客戶更喜歡談判合同,詳細(xì)規(guī)定他們需要什么能力,以及他們要支付多少費用的原因。
然后是供應(yīng)商鎖定的傳統(tǒng)套路。使用基于專有功能的無服務(wù)器計算,如果客戶需要執(zhí)行此操作,可能難以將服務(wù)從一個云提供商遷移到另一個云服務(wù)器。
“對于那些仍然提供自己的代碼,編排系統(tǒng)可能能夠在硬件層面處理各個系統(tǒng)的變幻莫測。但是如果使用無代碼方法,客戶將更加信任服務(wù)提供商!盠ong bottom評論道。
“對于那些系統(tǒng)架構(gòu)師和大型編程人員比較罕見的小型機構(gòu)來說,這可能是正確的!
使用AWS Lambda進(jìn)行無服務(wù)器開發(fā)
亞馬遜公司的Lambda也許是無服務(wù)器計算的典型例子。AWS Lambda于2014年推出,允許開發(fā)人員創(chuàng)建代碼,作為響應(yīng)某些事件或觸發(fā)器運行的“Lambda函數(shù)”。
其他AWS服務(wù)通常將是這些事件的來源,例如出現(xiàn)在亞馬遜S3存儲服務(wù)的特定存儲區(qū)中的新對象,對Amazon Dynamo DB數(shù)據(jù)庫表進(jìn)行的更新或Amazon Kinesis Stream中提供的新數(shù)據(jù)。
因為Lambda函數(shù)僅在需要時運行,所以用戶應(yīng)該僅在代碼實際運行時為計算資源支付費用。因此,AWS為客戶以僅僅100毫秒的增量計費用量,而不是按小時計費,這通常是虛擬機實例的最低費用單位。
AWS公司現(xiàn)在有一個無服務(wù)器應(yīng)用程序模型(AWS SAM),用于開發(fā)人員創(chuàng)建無服務(wù)器應(yīng)用程序。這由AWSCloudFormation本機支持,并使用簡化的語法來指定資源。
開發(fā)人員使用AWS Serverless應(yīng)用程序模型(使用Cloud Formation模板的簡化版本定義)部署應(yīng)用程序,并可以使用多種編程語言(如Node.js,Python,Java和C#)創(chuàng)建代碼。
標(biāo)簽: 云計算 數(shù)據(jù)中心 效用計算 應(yīng)用程序 云服務(wù) 計算資源
版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。