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