與任何顛覆性技術(shù)一樣,無(wú)服務(wù)器計(jì)算的應(yīng)用也充滿了期望和炒作。人們需要了解真相,并確定新技術(shù)是否適合自己的企業(yè),這需要客觀的態(tài)度和仔細(xì)的計(jì)劃。直到幾年前,物理服務(wù)器還是一項(xiàng)基礎(chǔ)技術(shù),是數(shù)據(jù)中心的數(shù)字心臟。隨著云計(jì)算的出現(xiàn),越來(lái)越多的企業(yè)從云計(jì)算提供商獲得越來(lái)越多的云計(jì)算服務(wù),數(shù)據(jù)中心的服務(wù)器似乎成為瀕臨滅絕的物種。
無(wú)服務(wù)器計(jì)算正在盡其所能加快本地服務(wù)器的消亡。而企業(yè)轉(zhuǎn)向云計(jì)算提供商來(lái)動(dòng)態(tài)管理機(jī)器資源的分配,并根據(jù)應(yīng)用程序?qū)嶋H消耗的資源量向用戶收費(fèi)的概念越來(lái)越受到用戶的歡迎。2019年底,技術(shù)媒體和培訓(xùn)廠商O‘Reilly公司進(jìn)行的一項(xiàng)調(diào)查發(fā)現(xiàn),10家企業(yè)中有4家已經(jīng)采用了無(wú)服務(wù)器技術(shù),其涉及范圍和行業(yè)很廣泛。
但是人們不要被無(wú)服務(wù)這個(gè)名稱誤導(dǎo),無(wú)服務(wù)器計(jì)算仍然依賴于服務(wù)器。無(wú)服務(wù)器軟件開發(fā)商Volare Systems公司總裁 Joe Wilson指出:“無(wú)服務(wù)器計(jì)算實(shí)際上是在服務(wù)器上運(yùn)行的,但是企業(yè)的云計(jì)算提供商會(huì)根據(jù)需要配置服務(wù),企業(yè)沒有虛擬服務(wù)器或應(yīng)用程序服務(wù)?!?/p>
本質(zhì)上,無(wú)服務(wù)器是一種應(yīng)用程序部署體系結(jié)構(gòu),使開發(fā)人員可以編寫代碼,然后按需執(zhí)行。
無(wú)服務(wù)器不僅是一項(xiàng)技術(shù),而且是一種查看基本IT運(yùn)營(yíng)的全新方式。 Liberty Mutual Insurance公司云平臺(tái)策略高級(jí)架構(gòu)師Brent Austin說(shuō):“無(wú)服務(wù)器的主要好處是,它迫使用戶考慮以云原生方式設(shè)計(jì)系統(tǒng)。如果考慮以無(wú)服務(wù)器優(yōu)先的思維方式設(shè)計(jì)應(yīng)用程序,則更有可能實(shí)現(xiàn)具有成本效益的、可擴(kuò)展的和有彈性的體系結(jié)構(gòu),而不受到該系統(tǒng)內(nèi)特定技術(shù)選擇的束縛。”
在哪里使用無(wú)服務(wù)器計(jì)算
無(wú)服務(wù)器計(jì)算能夠以很多方式進(jìn)行部署。專業(yè)服務(wù)機(jī)構(gòu)埃森哲公司云計(jì)算戰(zhàn)略、架構(gòu)和交付的常務(wù)董事Miha Kralj表示,“許多用例專注于相對(duì)簡(jiǎn)單的需求(例如網(wǎng)頁(yè)應(yīng)用程序),這些應(yīng)用程序現(xiàn)在通常使用無(wú)服務(wù)器編碼。由于無(wú)服務(wù)器平臺(tái)會(huì)在需要時(shí)自動(dòng)擴(kuò)展,因此可以快速開發(fā)簡(jiǎn)單的應(yīng)用程序,而不必?fù)?dān)心基礎(chǔ)設(shè)施的復(fù)雜性?!?/p>
Kralj指出:“無(wú)服務(wù)器擅長(zhǎng)于不同應(yīng)用程序系統(tǒng)的協(xié)調(diào)。無(wú)服務(wù)器計(jì)算非常適合檢測(cè)事件,并通知另一個(gè)應(yīng)用程序或系統(tǒng);例如,數(shù)據(jù)庫(kù)中的更改何時(shí)觸發(fā)代碼更改或安全性審查。無(wú)服務(wù)器可能是在系統(tǒng)之間創(chuàng)建這類自動(dòng)化工作流的好方法。”
Kralj指出,無(wú)服務(wù)器也可以滿足附加需求。他說(shuō),“當(dāng)客戶擁有大型或復(fù)雜的解決方案,但需要添加一種或另一種功能時(shí),無(wú)服務(wù)器可能是理想的選擇。”例如,無(wú)需打開大型應(yīng)用程序即可插入簡(jiǎn)單的功能(例如從新來(lái)源添加客戶記錄),可以輕松創(chuàng)建無(wú)服務(wù)器功能來(lái)捕獲新輸入,并調(diào)用應(yīng)用程序的API。
無(wú)服務(wù)器計(jì)算的成本優(yōu)勢(shì)
從本質(zhì)上講,無(wú)服務(wù)器計(jì)算體系結(jié)構(gòu)往往比替代方法更具成本效益。Austin建議說(shuō),“無(wú)服務(wù)器的一項(xiàng)核心功能是,它可以隨時(shí)擴(kuò)展或縮小,這樣當(dāng)不使用它時(shí),用戶就不必為之支付費(fèi)用?!?/p>
咨詢機(jī)構(gòu)SPR公司的移動(dòng)和新興技術(shù)執(zhí)行總監(jiān)Kevin McMahon說(shuō),采用無(wú)服務(wù)器技術(shù),客戶是為使用量而不是容量付費(fèi)。他將無(wú)服務(wù)器模式與擁有汽車與使用乘車共享服務(wù)進(jìn)行了比較。他解釋說(shuō):“在獲得乘車共享服務(wù)之前,如果想從A點(diǎn)到達(dá)B點(diǎn),可能需要自己擁有一輛汽車,需要購(gòu)買保險(xiǎn),并必須進(jìn)行保養(yǎng)維護(hù)。而有了乘車共享服務(wù)之后,就不再需要購(gòu)買和維護(hù)汽車,只需在使用時(shí)支付從A點(diǎn)到B點(diǎn)的費(fèi)用即可。無(wú)服務(wù)器技術(shù)就是如此,只需為需要完成的工作量付費(fèi),而不需要為額外的基礎(chǔ)設(shè)施和維護(hù)支付費(fèi)用。”
IT服務(wù)管理商Aptum公司的云計(jì)算業(yè)務(wù)主管Craig Tavares指出,無(wú)服務(wù)器計(jì)算還可以幫助采用者避免與資源過(guò)度分配相關(guān)的成本,從而確保支出與實(shí)際消耗一致。此外,通過(guò)將應(yīng)用程序劃分為簡(jiǎn)單的、目標(biāo)驅(qū)動(dòng)的功能,可以在云平臺(tái)中快速、廉價(jià)地部署和分發(fā)應(yīng)用程序。Tavares補(bǔ)充說(shuō):“開發(fā)周期中速度的提高也提高了產(chǎn)品的上市速度,從而使企業(yè)能夠?qū)W⒂诔掷m(xù)改進(jìn)和客戶滿意度?!?/p>
經(jīng)營(yíng)二手醫(yī)療設(shè)備的Medinas公司的首席技術(shù)官Tim Growney說(shuō),“由于按使用付費(fèi)定價(jià),因此沒有正常運(yùn)行時(shí)間成本,支付的費(fèi)用肯定會(huì)因?yàn)槭褂玫那闆r而有所不同,但是對(duì)于我們來(lái)說(shuō),通常也會(huì)采用AWS公司的免費(fèi)套餐,這使我們的Web托管成本幾乎為零。”
無(wú)服務(wù)器會(huì)影響IT工作負(fù)載嗎?
無(wú)服務(wù)器計(jì)算可以通過(guò)多種方式減輕IT工作量,最顯著的方式是使企業(yè)員工擺脫例行管理服務(wù)器性能、可靠性、維護(hù)和安全性任務(wù)的負(fù)擔(dān)。Austin說(shuō),“實(shí)施健康檢查以確保應(yīng)用程序正常運(yùn)行,管理底層操作系統(tǒng)以應(yīng)用最新的安全補(bǔ)丁,或確保為底層基礎(chǔ)設(shè)施配備了足夠的能力來(lái)處理高峰工作負(fù)載的需求,這些基本上都是由客戶來(lái)處理的無(wú)服務(wù)器平臺(tái)?!?/p>
無(wú)服務(wù)器還減輕了開發(fā)人員的工作量。Austin指出,“這將導(dǎo)致開發(fā)人員編寫更少的代碼,特別是基礎(chǔ)設(shè)施代碼,對(duì)IT團(tuán)隊(duì)很有吸引力??梢宰尭嗟拈_發(fā)人員部署業(yè)務(wù)功能,同時(shí)讓無(wú)服務(wù)器技術(shù)處理基礎(chǔ)設(shè)施配置,對(duì)于IT組織而言是一項(xiàng)強(qiáng)大的收益?!?/p>
Kralj表示,加快開發(fā)速度還可以使企業(yè)更靈活、更具創(chuàng)新性。無(wú)服務(wù)器是將想法轉(zhuǎn)變?yōu)楣δ芙鉀Q方案的最快方法。該方法非常適合快速的應(yīng)用程序開發(fā),客戶現(xiàn)在只需幾行代碼就可以實(shí)現(xiàn)。
自相矛盾的是,無(wú)服務(wù)器有時(shí)也會(huì)增加工作量,盡管不會(huì)在某種程度上抵消該技術(shù)的許多好處。災(zāi)難恢復(fù)服務(wù)提供商Sungard Availability Services公司首席技術(shù)官、高級(jí)架構(gòu)師Greg Cox警告說(shuō):“將有更多的工作涉及到創(chuàng)建功能……以及將API整合在一起以完成業(yè)務(wù)需求。”
減少錯(cuò)誤也可能會(huì)增加工作負(fù)載。數(shù)字業(yè)務(wù)平臺(tái)開發(fā)商AHEAD公司的云計(jì)算首席顧問Bert Johnson警告說(shuō):“沒有標(biāo)準(zhǔn)化的安全性、測(cè)試、監(jiān)視和配置管理,無(wú)服務(wù)器的錯(cuò)誤就很隱蔽?!彼赋?,錯(cuò)誤會(huì)放大軟件開發(fā)過(guò)程中的缺陷,同時(shí)迫使開發(fā)人員放棄關(guān)鍵任務(wù)以加入搜索和修復(fù)任務(wù)。
無(wú)服務(wù)器計(jì)算的缺點(diǎn)
盡管具有很多優(yōu)點(diǎn),但無(wú)服務(wù)器計(jì)算也存在一些明顯的缺點(diǎn)。例如,該技術(shù)在支持長(zhǎng)時(shí)間運(yùn)行方面并不是特別好。McMahon說(shuō):“如果企業(yè)運(yùn)行的任務(wù)或流程需要花費(fèi)很長(zhǎng)時(shí)間進(jìn)行計(jì)算,那么無(wú)服務(wù)器將不是正確的方法。目前,Azure Functions和AWS Lambda分別最多只能運(yùn)行10分鐘和15分鐘?!?/p>
冷啟動(dòng)也會(huì)使一些無(wú)服務(wù)器采用者感到為難。McMahon解釋說(shuō):“冷啟動(dòng)是一個(gè)時(shí)間段,通常是幾十毫秒,需要喚醒一個(gè)函數(shù)才能執(zhí)行它。對(duì)于大多數(shù)用例來(lái)說(shuō),這次可以忽略不計(jì),但是在某些用例中,這種延遲是不可接受的,并且無(wú)服務(wù)器計(jì)算將不是理想的?!?/p>
Kralj警告說(shuō),“潛在的采用者也可能因供應(yīng)商鎖定的可能性而受到勸阻。IT和開發(fā)主管應(yīng)該意識(shí)到,主要的無(wú)服務(wù)器系統(tǒng)(AWS Lambda、Azure Functions和Google Cloud Functions)不能互換?!?/p>
從安全角度來(lái)看,無(wú)服務(wù)器提出了一個(gè)獨(dú)特的挑戰(zhàn)。安全軟件開發(fā)商Aqua Security公司戰(zhàn)略副總裁Rani Osnat指出:“一方面,這種風(fēng)險(xiǎn)受到運(yùn)行時(shí)間較短和與底層主機(jī)操作系統(tǒng)隔離的限制。另一方面,功能通常配備了太多權(quán)限或易受攻擊的組件,這可能導(dǎo)致無(wú)服務(wù)器功能被用作攻擊獲得其他資源的中間步驟?!彼ㄗh,應(yīng)安全配置無(wú)服務(wù)器,并監(jiān)視其異常和濫用。
無(wú)服務(wù)器采用者在計(jì)算其容量需求時(shí)也應(yīng)謹(jǐn)慎。Growney說(shuō):“傳統(tǒng)服務(wù)器在容量過(guò)剩時(shí)會(huì)發(fā)生故障,從而防止成本過(guò)高。無(wú)服務(wù)器趨向于以相對(duì)不受限制的方式進(jìn)行擴(kuò)展,如果操作不小心,可能會(huì)產(chǎn)生代價(jià)昂貴的錯(cuò)誤?!?/p>
最后,無(wú)服務(wù)器采用者也可能會(huì)看到他們的薪酬將會(huì)增長(zhǎng)。IT招聘機(jī)構(gòu)Jefferson Frank的執(zhí)行副總裁兼云計(jì)算負(fù)責(zé)人Patrick Navarro表示:“如果企業(yè)專注于技術(shù),則將為招聘開發(fā)人員分配更重要的支出之一。而熟練的開發(fā)人員比較緊缺,因此聘用和保留費(fèi)用很高?!?/p>
展望未來(lái):無(wú)服務(wù)器輔助集成工作
隨著云計(jì)算提供商繼續(xù)引入新服務(wù),IT領(lǐng)導(dǎo)者面臨著將所有內(nèi)容集成在一起以形成一個(gè)能夠與云計(jì)算或數(shù)據(jù)中心中運(yùn)行的遺留應(yīng)用程序集成的一致解決方案的挑戰(zhàn)。Kralj說(shuō),“無(wú)服務(wù)器計(jì)算非常適合這些新的集成挑戰(zhàn)。無(wú)服務(wù)器具有響應(yīng)式、事件驅(qū)動(dòng)的特性,可以實(shí)現(xiàn)現(xiàn)代解決方案所需的服務(wù)之間的各種實(shí)時(shí)連接?!?/p>
新來(lái)者應(yīng)該以評(píng)估任何顛覆性技術(shù)的相同方式使用無(wú)服務(wù)器。IT咨詢機(jī)構(gòu)Anexinet公司的云計(jì)算架構(gòu)師John Kovolski建議說(shuō):“人們需要花費(fèi)時(shí)間在實(shí)施之前學(xué)習(xí)和理解無(wú)服務(wù)器技術(shù)。至少要有一個(gè)回滾過(guò)程。”為了深入了解潛在的運(yùn)營(yíng)和成本優(yōu)勢(shì),Kovolski建議測(cè)量當(dāng)前系統(tǒng)的性能,以與計(jì)劃中的無(wú)服務(wù)器更換進(jìn)行比較。
Growney建議逐步放松對(duì)無(wú)服務(wù)器技術(shù)的限制。他解釋說(shuō):“無(wú)服務(wù)并不是一種是全能的技術(shù),用戶使用它可以根據(jù)需要使用量增加或減少?!?/p>
責(zé)任編輯:ct
評(píng)論
查看更多