如何判断2服务器性能好或坏_无服务器革命:好,坏和丑
如何判斷2服務(wù)器性能好或壞
“這是愚蠢的。 比愚蠢還糟:這是一場營銷炒作。”
‐ 理查德·斯托曼 ( Richard Stallman)對云計算的評論,2008年9月
而且,十年后,當有人提到這個詞時,您開始三思而后行:是到天上掉的東西,還是到2020年預計將占全球企業(yè)工作量83%的其他東西?
無論您是否喜歡,另一場革命正在進行中。 AWS處于領(lǐng)先地位,緊隨其后的是Microsoft Azure和GCP,它們都懷有一個共同的目標:
解除對基礎(chǔ)軟件的束縛。
無服務(wù)器。
FaaS。
DevOps的死亡。
隨便你
無論名稱如何(為方便起見,我們將野獸稱為“無服務(wù)器”),這種新范例已經(jīng)在重塑軟件領(lǐng)域中發(fā)揮了作用。 我們已經(jīng)看到像可口可樂這樣的巨頭在其生產(chǎn)堆棧中采用了無服務(wù)器組件, 而無服務(wù)器等框架則獲得了數(shù)百萬美元的資金。 但是,我們應(yīng)該記住,無服務(wù)器并不適合每個人,任何地方,每次都適用-至少到目前為止還不是。
服務(wù)器(較少)=狀態(tài)(較少)
作為常規(guī)程序員,我看到的無服務(wù)器最大的“障礙”是“無狀態(tài)”。 早先我可以肯定地知道我存儲在內(nèi)存中的復雜計算結(jié)果; 或我提取到/tmp的相當大的元數(shù)據(jù)文件; 或我剛剛產(chǎn)生的輔助子進程; 一旦我的程序恢復控制,它將仍然存在,無服務(wù)器幾乎打破了所有這些假設(shè)。 盡管像lambda這樣的實現(xiàn)往往會保留狀態(tài)一段時間 ,但總的約定是,應(yīng)用程序應(yīng)該能夠放棄所有希望,并可以從零開始優(yōu)雅地啟動,以防被干凈的表盤調(diào)用。 不再有內(nèi)存中狀態(tài):如果要保存,則保存。 你不,你輸。
從另一個角度考慮,這可能也被認為是無服務(wù)器的(意外的)巨大優(yōu)勢之一。 因為瞬態(tài)(通過“服務(wù)器化”架構(gòu)僅使存在成為可能)是大多數(shù)(即使不是全部)邪惡的根源。 現(xiàn)在,通過設(shè)計,您減少了犯錯誤的空間-這可能是一個公平的權(quán)衡,尤其是對于像我這樣臭名昭著的程序員而言,它們通過內(nèi)存狀態(tài)管理尋求(通常為時過早)優(yōu)化。
但是,我們不應(yīng)忘記由于內(nèi)存中狀態(tài)管理和緩存容量的減少而導致的性能損失; 您的狀態(tài)管理器(數(shù)據(jù)存儲)原先只有數(shù)個“電路躍點” ,現(xiàn)在將相距數(shù)個網(wǎng)絡(luò)躍點,從而導致數(shù)毫秒(甚至幾秒)的延遲,以及更多的故障空間。
次秒計費
如果您在過去的十年中還活著,那么您將會看到它的到來:一切逐漸變成按需付費的模式。 現(xiàn)在,它的長度已到了以0.1秒的執(zhí)行間隔對λ進行充電的程度,并且量化將繼續(xù)進行。 對于持久負載而言,這可能并不意味著很多優(yōu)勢,有時甚至可能意味著劣勢 ,但由于負載變化率高的應(yīng)用程序始終不需要預配置并支付預期的峰值負載,因此可以獲得巨大的優(yōu)勢。 更不用說具有稀疏負載配置文件的事件驅(qū)動和批處理系統(tǒng),這些系統(tǒng)可能節(jié)省一個數(shù)量級,特別是當它們是小型的且在地理位置上受限時。
此外,新的按資源使用付費模式(考慮到時間或執(zhí)行時間,也是一種非常有價值的資源),鼓勵了面向性能的編程,這確實是一個好兆頭。 FaaS提供商通常使用復合計費指標,將執(zhí)行時間與內(nèi)存分配等相結(jié)合,進一步加強了均衡優(yōu)化的動力,最終產(chǎn)生了更好的資源利用率,更少的浪費以及由此帶來的財務(wù)和環(huán)境效益。
看不見的紅外線
代替物理硬件,虛擬化(以后)或容器化(以后)操作系統(tǒng)環(huán)境,現(xiàn)在您只能看到一個過程:實際上是一個功能或工作單元。 乍一看聽起來不錯(不再進行基礎(chǔ)設(shè)施/硬件/操作系統(tǒng)/支持實用程序的監(jiān)視或維護,希望無服務(wù)器提供商會為我們提供幫助!),但這在靈活性方面也意味著巨大的挫折:即使在在容器的日子里,我們至少可以靈活地選擇自己喜歡的基本操作系統(tǒng)(盡管仍綁定到底層內(nèi)核),而現(xiàn)在我們所擁有的只是編程語言的選擇(有時是其版本)。 但是,那些經(jīng)歷過開發(fā)人員頭痛的人肯定會同意,后者是一個非常合理的權(quán)衡。
加強隔離
由于您不再具有訪問現(xiàn)實世界的權(quán)限(通常來說,這是一個短暫的容器化過程),因此出錯的空間更少(不可避免的,因為實際上您可以做的事情更少!)。 即使您受到損害,您的短暫壽命和有限的特權(quán)也可以防止進一步的污染,除非該漏洞利用足夠強大,足以影響基本的業(yè)務(wù)流程框架 。 隨之而來的是,不幸的是,如果發(fā)現(xiàn)了這樣的漏洞,由于基于lambda的惡意軟件主機將比以往具有更大的可伸縮性,因此可以被大量利用。
大多數(shù)提供商故意限制lambda嘗試進行惡意活動,例如發(fā)送垃圾郵件 ,合法用戶對此會不以為然,但遭到了垃圾郵件的困擾(想象每月有數(shù)百萬lambda運行時數(shù)量激增,AWS已經(jīng)提供了100萬次免費調(diào)用, 320萬秒的執(zhí)行時間 -向一組用戶發(fā)送垃圾郵件;十二個免費的AWS訂閱將使攻擊者獲得巨大的優(yōu)勢!)
供應(yīng)商鎖定:有副作用嗎?
這是每個云平臺(或者,如果您仔細考慮的話) 任何平臺,實用程序或服務(wù)的固有問題。 一旦您決定利用平臺的“酷”或“高級”功能,便可以有效地與之耦合。 對于無服務(wù)器平臺而言,這比以往任何時候都更加真實:除了語言構(gòu)造之外,幾乎所有其他一切都是特定于提供程序的,并且試圖編寫“通用”功能最終會陷入難以理解的復雜的黑客和重塑車輪中 ,或者很可能什么都沒有。
從某種意義上說,這是必不可少且不可避免的回報。 如果必須要特別,就必須要具體! 諸如Serverless之類的框架正在積極嘗試解決這一問題,但是,按照一般的觀點 ,通用解決方案仍然遙不可及。
擁有權(quán)利的同時也被賦予了重大的責任
鑒于無服務(wù)器應(yīng)用程序的簡單性,多功能性和可伸縮性,它們對于公司的IT基礎(chǔ)設(shè)施而言可以成為寶貴的資產(chǎn)。 但是,如果設(shè)計,部署,管理和監(jiān)控不當,則無論是架構(gòu)復雜性還是財務(wù)方面的問題,都可能非常容易失控。 因此,知道如何馴服野獸比簡單地學習野獸可以做什么更為重要。
祝您在無服務(wù)器的冒險中好運!
翻譯自: https://www.javacodegeeks.com/2018/02/serverless-revolution-good-bad-ugly.html
如何判斷2服務(wù)器性能好或壞
總結(jié)
以上是生活随笔為你收集整理的如何判断2服务器性能好或坏_无服务器革命:好,坏和丑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: varlinux(var linux)
- 下一篇: prima evb_用Priam设置Ca