1無(wú)服務(wù)器的承諾和爭(zhēng)議
時(shí)間:2022-03-04 21:52:01 | 來(lái)源:行業(yè)動(dòng)態(tài)
時(shí)間:2022-03-04 21:52:01 來(lái)源:行業(yè)動(dòng)態(tài)
無(wú)服務(wù)器術(shù)語(yǔ)最早出現(xiàn)在 2012 年左右的一篇文章里,作者 Ken Fromm 對(duì)它的解釋是:
無(wú)服務(wù)器一詞并不意味著不再涉及服務(wù)器,它只是意味著開(kāi)發(fā)人員不再需要考慮那么多的物理容量或其他基礎(chǔ)設(shè)施資源管理責(zé)任。通過(guò)消除后端基礎(chǔ)設(shè)施的復(fù)雜性,無(wú)服務(wù)器讓開(kāi)發(fā)人員將注意力從服務(wù)器級(jí)別轉(zhuǎn)移到任務(wù)級(jí)別。
雖然不少技術(shù)先知認(rèn)為無(wú)服務(wù)器架構(gòu)是一項(xiàng)重大創(chuàng)新并將很快流行起來(lái),但這個(gè)概念在提出當(dāng)時(shí)并沒(méi)有得到很好的反響。
真正讓無(wú)服務(wù)器得到廣泛關(guān)注的事件是亞馬遜云科技于 2014 年推出 Amazon Lambda 服務(wù)。之后, 隨著谷歌和微軟等企業(yè)的服務(wù)進(jìn)入市場(chǎng),無(wú)服務(wù)器才逐漸成為行業(yè)熱詞。
相較于傳統(tǒng)服務(wù),無(wú)服務(wù)器計(jì)算的優(yōu)勢(shì)主要有幾點(diǎn):
- 在無(wú)服務(wù)器平臺(tái)上,無(wú)需用戶(hù)自身去維護(hù)操作系統(tǒng)。開(kāi)發(fā)人員只需要編寫(xiě)云函數(shù),選擇觸發(fā)云函數(shù)運(yùn)行的事件就可以完成工作。例如加載一個(gè)鏡像到云存儲(chǔ)中,或者向數(shù)據(jù)庫(kù)添加一個(gè)很小的圖片,讓無(wú)服務(wù)器系統(tǒng)本身來(lái)處理其他所有系統(tǒng)管理的操作,如選擇實(shí)例、部署、容錯(cuò)、監(jiān)控、日志、安全補(bǔ)丁等等。
- 更好的自動(dòng)擴(kuò)縮容方式,理論上能應(yīng)對(duì)突發(fā)的從零到無(wú)窮大的需求峰值。有關(guān)擴(kuò)展的決定由云提供商按需提供,開(kāi)發(fā)人員不再需要編寫(xiě)自動(dòng)擴(kuò)展策略或定義機(jī)器級(jí)別資源(CPU、內(nèi)存等)的使用規(guī)則。
- 傳統(tǒng)云計(jì)算按照預(yù)留的資源收費(fèi),而無(wú)服務(wù)器按照函數(shù)執(zhí)行時(shí)間收費(fèi)。這也意味著更加細(xì)粒度的管理方式。在無(wú)服務(wù)器框架上使用資源只需為實(shí)際運(yùn)行時(shí)間付費(fèi)。這與傳統(tǒng)云計(jì)算收費(fèi)方式形成了鮮明對(duì)比,后者用戶(hù)需要為有閑置時(shí)間的計(jì)算機(jī)付費(fèi)。
作為云計(jì)算的下一個(gè)迭代,無(wú)服務(wù)器計(jì)算讓開(kāi)發(fā)者可以更關(guān)注于構(gòu)建產(chǎn)品中的應(yīng)用,而不需要管理和維護(hù)底層堆棧,且比傳統(tǒng)云計(jì)算更為便宜,因此無(wú)服務(wù)器被譽(yù)為開(kāi)發(fā)新應(yīng)用最快速的方式,同時(shí)也是總成本最低的方式。
伯克利觀點(diǎn)甚至認(rèn)為,無(wú)服務(wù)器計(jì)算提供了一個(gè)接口,極大地簡(jiǎn)化了云編程,這種轉(zhuǎn)變類(lèi)似于從匯編語(yǔ)言遷移到高級(jí)編程語(yǔ)言。
從誕生開(kāi)始,無(wú)服務(wù)器就被寄予了厚望,但在發(fā)展過(guò)程中也免不了會(huì)存在爭(zhēng)議,之前涉及到的一些問(wèn)題有:
- 編程語(yǔ)言受限。大多數(shù)無(wú)服務(wù)器平臺(tái)僅支持運(yùn)行特定語(yǔ)言編寫(xiě)的應(yīng)用。
- 供應(yīng)商鎖定風(fēng)險(xiǎn)。在函數(shù)的編寫(xiě)、部署和管理方式上,幾乎不存在跨平臺(tái)的標(biāo)準(zhǔn)。這意味著將函數(shù)從一個(gè)特定于供應(yīng)商的平臺(tái)遷移到另一個(gè)平臺(tái)非常耗時(shí)費(fèi)勁。
- 性能問(wèn)題如冷啟動(dòng)。如果某個(gè)函數(shù)之前未在特定平臺(tái)上運(yùn)行過(guò),或是在一段時(shí)間內(nèi)未運(yùn)行,那么就需要耗費(fèi)一些時(shí)間做初始化。
2019 年被認(rèn)為是無(wú)服務(wù)器有重大發(fā)展的一年。在這一年的年底,亞馬遜云科技發(fā)布了 Amazon Lambda 的預(yù)置并發(fā)(Provisioned Concurrency)功能,它允許亞馬遜云科技無(wú)服務(wù)器計(jì)算用戶(hù)使其函數(shù)保持已初始化并準(zhǔn)備好在兩位數(shù)毫秒內(nèi)響應(yīng)的狀態(tài),這意味著冷啟動(dòng)問(wèn)題成為過(guò)去,行業(yè)達(dá)到一個(gè)成熟點(diǎn)。
雖然這項(xiàng)技術(shù)仍然有較長(zhǎng)的路要走,但隨著越來(lái)越多的公司,包括亞馬遜云科技、谷歌、微軟在這項(xiàng)技術(shù)上的投資,我們看到了無(wú)服務(wù)器采用率在持續(xù)增長(zhǎng)。據(jù) Datadog 2021 年發(fā)布的無(wú)服務(wù)器狀態(tài)報(bào)告,開(kāi)發(fā)人員正加速采用無(wú)服務(wù)器架構(gòu):2019 年之后 Amazon Lambda 的使用率顯著增加,2021 年初,Amazon Lambda 函數(shù)的平均每天調(diào)用頻率是兩年前的 3.5 倍,且半數(shù) Amazon Web Services 新用戶(hù)已采用 Amazon Lambda。雖然微軟和谷歌的份額有所上升,但作為無(wú)服務(wù)器技術(shù)的先驅(qū),Amazon Lambda 在采用率方面一直保持領(lǐng)先地位,有一半的函數(shù)即服務(wù)(FaaS)用戶(hù)在使用亞馬遜云科技的服務(wù)。據(jù) Amazon Web Services 公布的數(shù)據(jù)顯示,已有數(shù)十萬(wàn)家客戶(hù)在用 Amazon Lambda 來(lái)構(gòu)建他們的服務(wù)。
關(guān)鍵詞:爭(zhēng)議,承諾,服務(wù)