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