被不斷期待與炒作的無(wú)服務(wù)器,你真的需要嗎?

與所有顛覆性技術(shù)一樣,無(wú)服務(wù)器計(jì)算也充滿了期望和炒作。洞察事實(shí)真相并確定技術(shù)是否適合自己的企業(yè)需要有客觀的態(tài)度和詳細(xì)的計(jì)劃。

數(shù)年以前,物理服務(wù)器還是一項(xiàng)基礎(chǔ)技術(shù),是每個(gè)數(shù)據(jù)中心跳動(dòng)著的數(shù)字心臟。然而云計(jì)算出現(xiàn)了,并得到了實(shí)際運(yùn)用。如今,隨著企業(yè)不斷地將越來(lái)越多的服務(wù)轉(zhuǎn)向云服務(wù)提供商,本地服務(wù)器似乎正在面臨著生存危機(jī),成為了瀕臨消亡的產(chǎn)品。

無(wú)服務(wù)器計(jì)算正在加速本地服務(wù)器的淘汰進(jìn)程。轉(zhuǎn)向云服務(wù)提供商以動(dòng)態(tài)管理機(jī)器資源的分配,以及僅針對(duì)應(yīng)用程序消耗的實(shí)際資源量向用戶收費(fèi)的概念正越來(lái)越受到人們的歡迎。技術(shù)媒體與培訓(xùn)公司O'Reilly在2019年末進(jìn)行的調(diào)查顯示,40%的企業(yè)(調(diào)查對(duì)象廣泛分布于不同的地區(qū)和行業(yè))已經(jīng)采用了無(wú)服務(wù)器技術(shù)。

我們不要被它們的名字所誤導(dǎo),盡管名字叫做無(wú)服務(wù)計(jì)算,但是無(wú)服務(wù)器計(jì)算仍然依賴于服務(wù)器。無(wú)服務(wù)器軟件開發(fā)商Volare Systems的老板Joe Wilson指出:“無(wú)服務(wù)器計(jì)算實(shí)際上是在服務(wù)器上運(yùn)行的,只不過你的云提供商會(huì)根據(jù)需要配置服務(wù),你不再擁有虛擬服務(wù)器或應(yīng)用程序服務(wù)。”本質(zhì)上,無(wú)服務(wù)器是一種應(yīng)用程序部署架構(gòu),開發(fā)人員可以編寫代碼并按需執(zhí)行。

無(wú)服務(wù)器不僅是一項(xiàng)技術(shù),更是一種查看基礎(chǔ)IT運(yùn)營(yíng)的全新方式。Liberty Mutual Insurance的云平臺(tái)策略高級(jí)架構(gòu)師Brent Austin說:“無(wú)服務(wù)器的主要好處是,它們將迫使你考慮以云原生方式設(shè)計(jì)系統(tǒng)。如果以無(wú)服務(wù)器優(yōu)先的思維方式設(shè)計(jì)應(yīng)用程序,那么你可能會(huì)擺脫系統(tǒng)內(nèi)特定技術(shù)選擇的束縛,從而部署具有優(yōu)秀費(fèi)效比、可擴(kuò)展性和高彈性的架構(gòu)。”

在何處使用無(wú)服務(wù)器計(jì)算

無(wú)服務(wù)器計(jì)算的部署方式有許多種。埃森哲負(fù)責(zé)云戰(zhàn)略、架構(gòu)和交付的常務(wù)董事Miha Kralj稱,許多用例將重點(diǎn)放在了相對(duì)簡(jiǎn)單的需求上,例如目前通常用無(wú)服務(wù)器方式編寫的網(wǎng)頁(yè)應(yīng)用程序。“由于無(wú)服務(wù)器平臺(tái)會(huì)在需要時(shí)自動(dòng)擴(kuò)展,因此可以快速地開發(fā)簡(jiǎn)單的應(yīng)用程序,同時(shí)不必?fù)?dān)心基礎(chǔ)設(shè)施的復(fù)雜性。”

無(wú)服務(wù)器擅長(zhǎng)于不同應(yīng)用程序系統(tǒng)的協(xié)調(diào)。Kralj指出:“無(wú)服務(wù)器計(jì)算非常適合檢測(cè)事件并通知另一個(gè)應(yīng)用程序或系統(tǒng)。例如,數(shù)據(jù)庫(kù)中的更改何時(shí)觸發(fā)代碼更改或安全性審查。無(wú)服務(wù)器可能是在系統(tǒng)之間創(chuàng)建這類自動(dòng)化工作流的最佳方法。”

無(wú)服務(wù)器還可以滿足一些“附加”需求。Kralj說:“當(dāng)客戶擁有一個(gè)大型或復(fù)雜的解決方案,并且需要添加一些功能時(shí),無(wú)服務(wù)器可能是理想的選擇。”例如,與打開大型應(yīng)用程序插入簡(jiǎn)單的函數(shù)(例如添加新來(lái)源中的客戶記錄)相比,用戶創(chuàng)建一個(gè)無(wú)服務(wù)器函數(shù)就可以捕獲新的輸入并調(diào)用應(yīng)用程序的API。Kralj說:“這是一種快捷、方便且可靠的方法。”

無(wú)服務(wù)器計(jì)算的成本優(yōu)勢(shì)

從本質(zhì)上講,無(wú)服務(wù)器計(jì)算架構(gòu)往往比替代方法更具成本效益。Austin 建議:“無(wú)服務(wù)器的一項(xiàng)核心功能是,它可以向上擴(kuò)展或向下收縮直到零,這樣一來(lái),當(dāng)不使用它們時(shí),你就不必為之付費(fèi)。”

咨詢公司SPR的移動(dòng)與新興技術(shù)執(zhí)行總監(jiān)Kevin McMahon說,通過無(wú)服務(wù)器技術(shù),客戶實(shí)現(xiàn)了只為消耗而不為容量付費(fèi)。他將無(wú)服務(wù)器模式與擁有汽車和使用拼車服務(wù)進(jìn)行了比較。他解釋說:“在拼車服務(wù)推出之前,如果你想從A點(diǎn)到達(dá)B點(diǎn),那么你可能要擁有一輛汽車,并購(gòu)買保險(xiǎn)和維護(hù)它們。有了拼車服務(wù)后,你不再需要為汽車操心,只需在需要時(shí)支付從A到B的費(fèi)用即可,也就是說你只需為需要完成的工作付費(fèi),而不需要為額外的基礎(chǔ)設(shè)施和維護(hù)付費(fèi)。”

IT服務(wù)管理公司Aptum的云負(fù)責(zé)人Craig Tavares指出,無(wú)服務(wù)器計(jì)算還可以幫助采用者避開資源過度分配導(dǎo)致的相關(guān)成本,從而確保支出與實(shí)際消耗一致。此外,通過將應(yīng)用程序分解為簡(jiǎn)單的由目標(biāo)驅(qū)動(dòng)的函數(shù),用戶可以在云端快速且低成本地部署和分發(fā)應(yīng)用程序。Tavares補(bǔ)充說:“開發(fā)周期中速度的提高也加快了產(chǎn)品的上市速度,從而使公司能夠?qū)W⒂诔掷m(xù)改進(jìn)和客戶滿意度。”

Medinas的首席技術(shù)官Tim Growney說,由于采用的定價(jià)方式為按次付費(fèi),因此沒有正常運(yùn)行時(shí)間成本。“使用情況肯定會(huì)因用例而異,但是對(duì)于我的公司來(lái)說,我們基本上都能夠享受到AWS的免費(fèi)套餐,這使我們的Web托管成本幾乎為零。”

無(wú)服務(wù)器會(huì)影響IT工作負(fù)載嗎?

無(wú)服務(wù)器計(jì)算可以通過多種方式減輕IT工作負(fù)載,尤其是可將員工從服務(wù)器性能、可靠性、維護(hù)和安全任務(wù)等例行性管理工作中解放出來(lái)。Austin稱:“實(shí)施健康檢查以確保應(yīng)用程序正常運(yùn)行,管理底層操作系統(tǒng)以打上最新的安全補(bǔ)丁,以及確保為底層基礎(chǔ)設(shè)施配備了足夠的能力以處理峰值工作負(fù)載等需求都可以通過無(wú)服務(wù)器平臺(tái)進(jìn)行處理。”

無(wú)服務(wù)器還有效降低了開發(fā)人員的工作量。Austin 指出:“無(wú)服務(wù)器可以減少代碼的編寫量,特別是基礎(chǔ)設(shè)施代碼,這對(duì)基層IT人員很有吸引力。利用無(wú)服務(wù)器技術(shù)配置基礎(chǔ)設(shè)施配置,可讓更多的開發(fā)人員從事業(yè)務(wù)功能的部署工作,對(duì)于IT部門而言這是一項(xiàng)巨大的優(yōu)勢(shì)。”

加快開發(fā)速度還可以使企業(yè)更加靈活,更具創(chuàng)新性。Kralj說,無(wú)服務(wù)器是將想法轉(zhuǎn)變?yōu)閷?shí)用解決方案的最快方法。“該方法非常適合應(yīng)用程序的快速開發(fā),你只需幾行代碼就可以搞定。”

盡管不會(huì)抵消技術(shù)上的眾多優(yōu)勢(shì),但是無(wú)服務(wù)器有時(shí)也會(huì)導(dǎo)致工作量增加。災(zāi)難恢復(fù)服務(wù)提供商Sungard Availability Services的資深架構(gòu)師Greg Cox說:“創(chuàng)建功能以及將API融合在一起以完成業(yè)務(wù)需求會(huì)涉及更多的工作。”

糾錯(cuò)也可能會(huì)增加工作負(fù)載。數(shù)字業(yè)務(wù)平臺(tái)開發(fā)商AHEAD的云首席顧問Bert Johnson警告說:“如果安全性、測(cè)試、監(jiān)控和配置管理沒有實(shí)現(xiàn)標(biāo)準(zhǔn)化,那么無(wú)服務(wù)器的錯(cuò)誤就會(huì)變得很隱蔽。” 他指出,錯(cuò)誤會(huì)放大軟件開發(fā)過程中的缺陷,同時(shí)迫使開發(fā)人員放棄關(guān)鍵任務(wù)轉(zhuǎn)而加入搜索和修復(fù)任務(wù)。

無(wú)服務(wù)器計(jì)算的缺點(diǎn)

盡管有著眾多的優(yōu)點(diǎn),但是無(wú)服務(wù)器計(jì)算也存在一些明顯的缺點(diǎn)。例如,該技術(shù)在支持長(zhǎng)時(shí)間運(yùn)行方面并不是特別好。McMahon說:“如果你運(yùn)行的任務(wù)或流程需要花費(fèi)很長(zhǎng)時(shí)間進(jìn)行計(jì)算,那么無(wú)服務(wù)器將不是最佳選擇。當(dāng)前,Azure Functions和AWS Lambda分別最多只能運(yùn)行10分鐘和15分鐘。”

冷啟動(dòng)也會(huì)使一些無(wú)服務(wù)器采用者感到不便。McMahon解釋說:“冷啟動(dòng)是一個(gè)時(shí)間段,通常只有幾十毫秒,需要喚醒一個(gè)函數(shù)才能執(zhí)行。對(duì)于大多數(shù)用例來(lái)說,這個(gè)時(shí)間可以忽略不計(jì),但是在某些用例中,這種延遲是不可接受的,并且無(wú)服務(wù)器計(jì)算可能也不是理想的選擇。”

潛在的采用者也可能因供應(yīng)商鎖定的顧慮而放棄無(wú)服務(wù)器技術(shù)。Kralj警告稱:“IT和開發(fā)主管應(yīng)該意識(shí)到,AWS Lambda、Azure Functions和Google Cloud Functions等主要的無(wú)服務(wù)器系統(tǒng)是不能互換的。”

從安全角度來(lái)看,無(wú)服務(wù)器也帶來(lái)了獨(dú)特的挑戰(zhàn)。安全軟件開發(fā)商Aqua Security的戰(zhàn)略副總裁Rani Osnat指出:“一方面,較短的運(yùn)行時(shí)間和與底層主機(jī)操作系統(tǒng)的隔離降低了風(fēng)險(xiǎn)。另一方面,如果函數(shù)被賦予過多權(quán)限或有易受攻擊的組件,那么這可能導(dǎo)致無(wú)服務(wù)器函數(shù)會(huì)成為不法分子發(fā)起攻擊的跳板。”對(duì)此,Osnat建議應(yīng)對(duì)無(wú)服務(wù)器計(jì)算進(jìn)行安全配置,并監(jiān)視其異常和濫用行為。

無(wú)服務(wù)器采用者在計(jì)算其容量需求時(shí)也應(yīng)保持謹(jǐn)慎。Growney說:“傳統(tǒng)服務(wù)器在容量不足時(shí)會(huì)報(bào)錯(cuò),從而阻止了成本的攀升。無(wú)服務(wù)器則可以以相對(duì)不受限制的方式進(jìn)行擴(kuò)展,如果你沒有注意到這一點(diǎn),那么可能會(huì)導(dǎo)致出現(xiàn)昂貴的賬單。”

最后,轉(zhuǎn)而采用無(wú)服務(wù)器技術(shù)的企業(yè)可能會(huì)看到他們的工資總額出現(xiàn)增長(zhǎng)。從事IT招聘的公司Jefferson Frank的執(zhí)行副總裁兼云負(fù)責(zé)人Patrick Navarro表示:“如果你的企業(yè)專注于技術(shù),那么一個(gè)非常重要的支出是招聘開發(fā)人員。合格且熟練的開發(fā)人員的薪水可能不高,但是招聘和保留住他們的費(fèi)用卻很高。”

展望未來(lái):無(wú)服務(wù)器助力集成工作

隨著云提供商持續(xù)引入新服務(wù),IT領(lǐng)導(dǎo)者面臨著一個(gè)挑戰(zhàn),即所有內(nèi)容都整合在一起以形成一個(gè)連貫的解決方案,并且這個(gè)解決方案還要能夠整合運(yùn)行在云端或數(shù)據(jù)中心上的老舊應(yīng)用程序。Kralj說,無(wú)服務(wù)器計(jì)算非常適合這些新的存在集成工作的挑戰(zhàn)。“無(wú)服務(wù)器具有響應(yīng)式和事件驅(qū)動(dòng)的特性,因此它們可以實(shí)現(xiàn)現(xiàn)代解決方案所需服務(wù)之間的各種實(shí)時(shí)連接。”

新部署者應(yīng)當(dāng)以評(píng)估所有顛覆性技術(shù)一樣的方式評(píng)估無(wú)服務(wù)器。IT咨詢公司Anexinet的云架構(gòu)師John Kovolski建議:“在部署之前還是要花點(diǎn)時(shí)間學(xué)習(xí)和理解無(wú)服務(wù)器產(chǎn)品。至少,要有一個(gè)全面思考的過程。”為了深入了解潛在的運(yùn)營(yíng)優(yōu)勢(shì)與成本優(yōu)勢(shì),Kovolski建議對(duì)當(dāng)前系統(tǒng)的性能進(jìn)行評(píng)估,然后再與計(jì)劃中要更換的無(wú)服務(wù)器進(jìn)行比較。

Growney建議逐步采取無(wú)服務(wù)器技術(shù)。他解釋說:“無(wú)服務(wù)器并不是一項(xiàng)全能的技術(shù)。它們只是可以根據(jù)需要被使用。”

作者:John Edwards 為資深商業(yè)技術(shù)記者,曾在《紐約時(shí)報(bào)》《華盛頓郵報(bào)》以及CIO、Computerworld、Network World、CFO Magazine、IBM Data Management Magazine、RFID Journal和Electronic Design等眾多商業(yè)和技術(shù)刊物上發(fā)表過大量文章。

編譯:陳琳華

原文網(wǎng)址:https://www.networkworld.com/article/3514188/serverless-computing-ready-or-not.html

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無(wú)評(píng)論