Serverless:這真的是未來嗎?(一)
原文 | https://www.pulumi.com/blog/is_serverless_the_future_part_1/
作者 | Lee Briggs & Piers Karsenbarg
譯者 | donghui
許多開發(fā)人員說,無服務(wù)器是計算的未來,而其他開發(fā)人員說,它永遠(yuǎn)不會成功。我們自己的觀點(diǎn)沒有那么兩極分化。我們將無服務(wù)器視為一種選擇,這是從初創(chuàng)企業(yè)到中型企業(yè),再到大型企業(yè)的一個可能的墊腳石。在這兩篇博文中,我們將討論無服務(wù)器如何適應(yīng)這一過程,以及它的優(yōu)點(diǎn)和缺點(diǎn)。
我們的目標(biāo)是幫助您切實(shí)地評估無服務(wù)器計算。我們希望激發(fā)討論,而不是下意識的反應(yīng),無論是贊成還是反對。希望這些博客文章能幫助您在所有相關(guān)人員中展開討論,就最佳業(yè)務(wù)方案達(dá)成一致。該課程可能涉及無服務(wù)器,也可能不涉及。在這第一篇文章中,我們將考慮在討論無服務(wù)器時最常見的幾個問題。在第二篇文章中,我們將研究一些更廣泛的問題。
什么是無服務(wù)器?
“無服務(wù)器"這個術(shù)語有點(diǎn)用詞不當(dāng)。更憤世嫉俗的人可能會嘀咕,“無服務(wù)器仍然在服務(wù)器上運(yùn)行!“這是真的。不管你使用什么云提供商,你總是使用服務(wù)器來運(yùn)行你的應(yīng)用程序。必須配置、管理和維護(hù)這些服務(wù)器。云提供商提供的無服務(wù)器服務(wù)通常會抽象出難以管理的運(yùn)行應(yīng)用程序組件:它們?yōu)槟\(yùn)行和管理服務(wù)器。開發(fā)人員可以運(yùn)行他們的應(yīng)用程序,而不用擔(dān)心底層,比如操作系統(tǒng),甚至計算能力。
為什么采用無服務(wù)器?
當(dāng)人們推廣無服務(wù)器時,會給出一些現(xiàn)成的答案。我們將在這里快速地提到它們,然后我們將更仔細(xì)地研究這些說法。以下是人們給出的三大理由。
1. 這是一個快速開始的方式
將服務(wù)器的管理移交給提供商意味著您可以非??斓貙?yīng)用程序提供給用戶。有很多底層基礎(chǔ)設(shè)施您不必為其編寫或維護(hù)代碼。
2. 它很便宜
無服務(wù)器可以通過幾種方式為您省錢。首先,因?yàn)樘峁┱吖芾矸?wù)器,所以可以降低管理成本。您也不需要編寫那么多代碼,因?yàn)榉?wù)器不是您關(guān)心的問題。您可以更快地將應(yīng)用程序推向市場,這意味著您可以更快地開始創(chuàng)收。最后,根據(jù)您的使用模式,您只需支付執(zhí)行代碼所用的時間。你不用為空閑時間付錢。
3. 它處于 IT 控制之外
在采用云工程的組織中,人們經(jīng)常轉(zhuǎn)向無服務(wù)器,因?yàn)樗麄冇X得 IT 太慢或反應(yīng)遲鈍。在"傳統(tǒng)"組織中,可能很難購買硬件,采購時間可能太慢,或者可能會因運(yùn)營或財務(wù)而退縮。這通常是人們轉(zhuǎn)向云提供商的一個原因,作為遷移的一部分,他們可能會考慮使用無服務(wù)器。
如果在提供云資源的過程中遇到了諸如嚴(yán)格的權(quán)限之類的障礙,那么在已經(jīng)采用云計算的公司中,您還會看到無服務(wù)器的采用。無服務(wù)器是一種繞過被視為"攔路虎"的問題來完成工作的簡單方法。有時,無服務(wù)器的推動可能來自開發(fā)部門之外的部門。例如,市場營銷部門可能希望發(fā)布一些對時間至關(guān)重要的內(nèi)容,因?yàn)樗c某個事件有關(guān)。
或者是?
讓我們更仔細(xì)地看看人們提倡無服務(wù)器的原因。
1. 這真的是一種快速開始的方式嗎?
使用無服務(wù)器可能會使您的應(yīng)用程序更容易推向市場,但這需要重新考慮如何構(gòu)建和開發(fā)應(yīng)用程序,這會導(dǎo)致以后的勞動懲罰。當(dāng)您開始利用無服務(wù)器產(chǎn)品時,您的組織在構(gòu)建生產(chǎn)應(yīng)用程序時采用的傳統(tǒng)做法可能需要重新考慮,甚至需要重新調(diào)整。這方面的一個很好的例子是在考慮監(jiān)控和可觀察性時:許多監(jiān)控平臺工作在一個您無法訪問的層上,您無法深入了解應(yīng)用程序的性能。重新設(shè)計和重新思考如何使用無服務(wù)器技術(shù)構(gòu)建生產(chǎn)就緒的應(yīng)用程序,可能會給無服務(wù)器的旅程帶來意想不到的延遲。
2. 真的便宜嗎?
無服務(wù)器被認(rèn)為具有成本效益的原因之一是,您只需為使用的計算時間付費(fèi)。但是,使用無服務(wù)器可省錢并非必然。剖析您的應(yīng)用程序是否合適非常重要。這里有兩個注意事項(xiàng)。
請求的模式是什么?
如果您的應(yīng)用程序有許多小的快速請求,那么無服務(wù)器可能是一個不錯的選擇。另一方面,如果您的應(yīng)用程序依賴長時間運(yùn)行的操作,那么您在查看賬單時可能會感到震驚。
那啟動時間呢?
請記住,您仍然需要為應(yīng)用程序的啟動時間"付費(fèi)”。無服務(wù)器服務(wù)通常會受到"冷啟動"的懲罰,因此,如果您很少使用或根本沒有使用,則可能必須在后臺運(yùn)行其他進(jìn)程以確保您的應(yīng)用程序不會為此付出代價。這也意味著您的第一個請求將比隨后的請求花費(fèi)更長的時間。如果無服務(wù)器功能需要始終快速響應(yīng),則可以為諸如預(yù)置并發(fā)之類的實(shí)現(xiàn)支付額外費(fèi)用,以改善冷啟動的損失。但是,與傳統(tǒng)的軟件部署方法相比,這可以輕松抵消您可能節(jié)省的任何成本。
3. 控制又如何呢?
采用無服務(wù)器平臺作為部署機(jī)制意味著將為基礎(chǔ)設(shè)施打補(bǔ)丁的責(zé)任移交給提供者。您不再能夠?qū)Σ僮飨到y(tǒng)層的安全警告做出快速反應(yīng);你信任你的供應(yīng)商來做這些。在這種情況下,你可能不想放棄控制權(quán)。
您仍然需要管理應(yīng)用程序依賴項(xiàng)中的安全通知,并且需要一種機(jī)制來對這些問題作出反應(yīng)。由于缺乏需要管理的基礎(chǔ)設(shè)施,無服務(wù)器的采集者經(jīng)常會產(chǎn)生錯誤的印象,認(rèn)為他們的應(yīng)用程序是"安全的”,但這種情況很少發(fā)生。您可能需要為應(yīng)用程序的滲透測試而采用的任何現(xiàn)有機(jī)制進(jìn)行調(diào)整,并適合于任何新的無服務(wù)器平臺。雖然您的攻擊面可能較小,但仍然需要確保任何潛在的攻擊者都很難通過無服務(wù)器基礎(chǔ)設(shè)施水平地進(jìn)行攻擊。
如果您選擇無服務(wù)器是因?yàn)槟蚱渌块T希望繞過標(biāo)準(zhǔn) IT 過程,那么這將指向組織內(nèi)部的問題,而不是對無服務(wù)器的需求。技術(shù)不能解決文化問題。真正能解決這些問題的是人們相互交流,找出如何讓每個相關(guān)的人生活得更好。
您必須明白,您正在將服務(wù)器的控制權(quán)移交給提供者,而不是自己控制,需要詳細(xì)研究合規(guī)性和無服務(wù)器優(yōu)勢之間的權(quán)衡。
本文轉(zhuǎn)載自 Serverless Life 公眾號,轉(zhuǎn)載請聯(lián)系原作者。
Serverless 電子書下載

本書亮點(diǎn):
從架構(gòu)演進(jìn)開始,介紹 Serverless 架構(gòu)及技術(shù)選型構(gòu)建 Serverless 思維; 了解業(yè)界流行的 Serverless 架構(gòu)運(yùn)行原理; 掌握 10 大 Serverless 真實(shí)落地案例,活學(xué)活用。
???? 點(diǎn)擊“閱讀原文”,立即下載!
