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