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