如何评估Serverless服务能力,这份报告给出了40条标准
編者按:兩年前,我們還在討論什么是Serverless,Serverless如何落地。如今,已經(jīng)有評測機構(gòu)給出了40條標準來對Serverless的服務能力進行評估,這些評估細則既是技術(shù)生態(tài)繁榮發(fā)展的一種表現(xiàn),也可以作為新進入者評估Serverless落地成效的一種參考依據(jù)。?
在 Forrester 的這份函數(shù)即服務 (FaaS) 平臺評估報告中,我們選擇了阿里巴巴、亞馬遜、谷歌、華為、IBM、微軟、Nimbella、甲骨文和騰訊這 9 家最具影響力的提供商,并依據(jù) 40 條標準對其進行了研究、分析和評分。該報告展示了每個提供商在各方面的表現(xiàn),旨在幫助從事應用程序開發(fā)與交付 (AD&D) 的專業(yè)人士找到最符合自身需求的提供商。?
Forrester Wave?:函數(shù)即服務 (FaaS) 平臺 2021 年第一季度報告
FaaS 平臺幫助開發(fā)人員快速創(chuàng)建云原生服務??
FaaS 平臺的抽象化讓開發(fā)人員不再需要關(guān)注復雜的容器或虛擬機集群管理與擴容工作,從而可以快速創(chuàng)建云原生微服務。將底層基礎(chǔ)架構(gòu)的管理工作交給 FaaS 提供商之后,開發(fā)人員就可以在編程環(huán)境中,使用 Java、C#、JavaScript 或 Python 等熟悉的語言,將微服務編寫成簡單的小函數(shù)。然后,FaaS 提供商會根據(jù)服務要求,自動對這些微服務進行擴容或縮容。使用 FaaS 平臺的開發(fā)人員表示,通過免于基礎(chǔ)架構(gòu)管理,借助抽象化消除與此相關(guān)的復雜操作后,他們可以迅速將新的想法推入部署階段,同時可以根據(jù)執(zhí)行微服務的實際資源需求來確定基礎(chǔ)架構(gòu)費用。在挑選 FaaS 提供商時,開發(fā)人員應分析該提供商是否具備以下條件:?
- 支持函數(shù)和容器打包。隨著開發(fā)人員將越來越多類型的工作負載部署到 FaaS 平臺,FaaS 平臺應允許開發(fā)人員簡單地將一個函數(shù)打包成 ZIP 或 JAR 文件并加以部署,或者將自定義代碼打包成符合開放容器標準 (OCI) 的容器,并部署與之對應的框架。FaaS 平臺應同時支持這兩種選項,才能在開發(fā)部署 Web、內(nèi)容和事件驅(qū)動的工作負載方面為開發(fā)人員提供最大的靈活性。?
- 提供健壯的安全功能。隨著開發(fā)人員不斷擴大對 FaaS 平臺的運用范圍,確保相關(guān)人員能夠以安全的方式訪問被封裝到虛擬私有網(wǎng)絡(luò),或虛擬私有云 (VPC) 中的數(shù)據(jù)和應用程序接口 (API) 就變得非常重要。另外在函數(shù)擴縮容的同時,相關(guān)人員還需要能夠快速接入這些資源,而無需等待耗時的“冷啟動”。?
- 支持第三方生態(tài)系統(tǒng)和開放標準。除非您愿意完全依賴一家公有云提供商,否則您就應選擇平臺集成更為便利的 FaaS 提供商。您需要關(guān)注的功能包括第三方可觀測性、事件綁定和消息協(xié)議等。?
評估摘要?
本次 Forrester Wave? 評估報告將待評估對象分別歸入“領(lǐng)導者”(Leaders)、“強勁表現(xiàn)者”(Strong Performers)、“競爭者”(Contenders) 和“挑戰(zhàn)者”(Challengers) 這幾個象限。這是對市場頭部廠商的評估,并不代表市場的整體情況。您可以查看我們關(guān)于無服務器架構(gòu) (Serverless) 技術(shù)的報告,獲取有關(guān)這個市場的更多信息。我們希望這份評估報告只是一個起點,建議客戶使用基于 Excel 的廠商比較工具來查看產(chǎn)品評估并調(diào)整標準權(quán)重(請參見圖 1 和圖 2)。點擊 Forrester.com 上網(wǎng)頁版報告開頭的鏈接即可下載上述工具。?
圖 1 《Forrester Wave?:函數(shù)即服務 (FaaS) 平臺,2021年第一季度》評估結(jié)果??
* 灰色圓圈表示未參與 Forrester 評估的廠商?
圖 2 《Forrester Wave?:函數(shù)即服務 (FaaS) 平臺,2021年第一季度》評分?
所有評分采用 0(弱)到 5(強)分制
* 表示未參與評估的廠商?
各廠商的產(chǎn)品
Forrester 此次共評估了 9 家廠商的產(chǎn)品:阿里巴巴、亞馬遜、谷歌、華為、IBM、微軟、Nimbella、甲骨文和騰訊(見圖 3)。?
圖 3 本次評估的廠商和產(chǎn)品?
廠商概況?
通過分析,我們發(fā)現(xiàn)各廠商有以下優(yōu)勢和不足之處。?
領(lǐng)導者?
- 亞馬遜在地域覆蓋、生態(tài)系統(tǒng)廣度和執(zhí)行穩(wěn)定程度等評分項上處于領(lǐng)先。在 2020 年的 Forrester Wave? 報告中,我們提到 Lambda 在地域可用性、客戶采用率、開發(fā)人員部署函數(shù)的體驗以及對生態(tài)系統(tǒng)的支持等方面均有出色表現(xiàn)。這些優(yōu)勢也延續(xù)到 2021 年。除此之外,諸如對亞馬遜 Elastic File System (EFS) 的支持,運行符合 OCI 標準的容器的能力以及精確到 1 毫秒的計費粒度等功能讓 Lambda 在創(chuàng)新之路上不斷前進,讓更多類型的工作負載適用。對無服務器架構(gòu)安全性和特殊工作負載的強大支持讓 Lambda 在 2021 年依然保持著領(lǐng)導地位。亞馬遜認為 FaaS 工作負載的生命周期應該是短暫的,認可這一觀點的開發(fā)人員會發(fā)現(xiàn),Lambda 為他們提供了一個強大的FaaS 平臺。該平臺正逐步支持第三方工具和以容器為中心的部署過程。該平臺還針對狀態(tài)管理、數(shù)據(jù)庫操作和 API 等細化功能提供獨特的服務。
參考客戶對 Amazon Web Services(亞馬遜云計算服務,簡稱 AWS)Lambda 給予了很高的評價,認為該平臺可提供一流的客戶支持,性能出色,并集成各種 AWS 服務和第三方服務。在與經(jīng)驗豐富的業(yè)內(nèi)人士保持緊密合作方面,該產(chǎn)品也得到了客戶的一致贊賞。參考客戶認為該平臺在可觀測性上還有改善空間,并期望其能為開發(fā)人員提供更多簡化的工具。AWS Lambda 最適合異步運行的臨時工作負載,包括集成其他 AWS 服務、物聯(lián)網(wǎng)、批處理、新 Web 應用以及事件驅(qū)動集成。?
- 阿里巴巴使用容器和開放標準來加速 Web 和內(nèi)容工作負載。在 2020 年的報告中,我們將阿里巴巴函數(shù)計算 (Function Compute) 描述成“一個強健的通用平臺”。2021 年,我們發(fā)現(xiàn)該平臺對容器以及開源項目和標準,包括 OpenTracing、OpenTelemetry、Grafana 和 Jaeger 的支持使其能力得到進一步提升。加上該平臺為支持主流 Web 框架、以內(nèi)容為中心的工作負載、1 毫秒計費粒度以及運行時方面的投入,我們這次將阿里巴巴函數(shù)計算納入 FaaS 市場“領(lǐng)導者”象限。阿里巴巴函數(shù)計算特別適合需要處理大量視頻的工作負載,并利用以容器為中心的模型來實現(xiàn)函數(shù)并發(fā)。對于有此類需求的客戶,該平臺是上佳之選。?
參考客戶對阿里巴巴函數(shù)計算在中國 ISV 生態(tài)系統(tǒng)中的事件集成能力贊賞有加,并對其在圣誕節(jié)和新年等節(jié)日期間加強客戶支持的做法給予了高度評價。在技術(shù)方面,客戶對于可以在幾分鐘內(nèi)擴容到數(shù)萬個實例的能力深表滿意。參考客戶希望該平臺能夠在遠程調(diào)試方面提供更好的編程語言支持,并改進對于 GPU 計算的支持。雖然該平臺目前最適合在香港或中國大陸部署工作負載的公司,但它的國際覆蓋面正在擴大,目前已支持 10 個地域,共有 21 個可用區(qū)。?
- 微軟 Azure Functions 為高級計劃保留了重要的企業(yè)級功能。Azure Functions 的消費計劃支持多種編程語言和有狀態(tài)的持久函數(shù) (Durable Function),但如果想要使用預留實例、對 Docker 容器的支持和強大的安全功能,開發(fā)人員就需要升級到高級的專用計劃,即 Azure App Service 計劃。持久函數(shù)提供有狀態(tài)的功能并支持和 Azure Event Hub 綁定,而 Azure Event Grid 可幫助開發(fā)人員構(gòu)建事件驅(qū)動微服務。今年,微軟通過加大投入,改進了新用戶引導、為開發(fā)人員提供更多工具以及支持在本地計算機上進行開發(fā)和調(diào)試,在開發(fā)人員體驗這個標準上表現(xiàn)突出,得到了最高評分。
參考客戶高度認可 Azure Functions 與 Key Vault 等其他 Azure 服務相集成以實現(xiàn)機密存儲的能力,并特別提到其強大的內(nèi)置可觀測性。Azure Functions 的性能和服務質(zhì)量也讓客戶普遍感到滿意。但是,客戶如果要使用 VPC 服務和預留實例等重要的企業(yè)功能,就不得不選擇費用更高的高級服務計劃,這一點是客戶集中抱怨的地方。對于需要其他 Azure 服務或一個覆蓋全球的 FaaS 平臺的客戶而言,Azure Functions 是最合適的解決方案。但如果您的團隊想構(gòu)建或集成企業(yè)級工作負載,就需要升級到高級版的應用服務計劃。?
強勁表現(xiàn)者?
- 騰訊云函數(shù) (SCF) 平臺優(yōu)化了以云為中心的開發(fā)。騰訊打造了一套出色的基于 Web 的工具來進行函數(shù)開發(fā),并將其與可靠的運行時相結(jié)合,支持多種編程語言、復雜的工作流程和運行時間更長的函數(shù)實例。開發(fā)人員可以預留函數(shù)實例,另外騰訊也為人工智能 (AI) 工作負載和特定的行業(yè)云提供專業(yè)支持。SCF 還可作為微信生態(tài)系統(tǒng)的擴展機制,有效幫助各企業(yè)通過微信擴展功能與客戶進行互動。但對于希望進行本地函數(shù)開發(fā)和調(diào)試的開發(fā)人員來說,騰訊以云為中心的開發(fā)理念與他們契合度不高。
?
參考客戶對于 SCF 的性能,客戶支持和工作負載執(zhí)行低成本給予了高度評價。客戶同時表達了對該平臺穩(wěn)定性的擔憂,并希望通過更多內(nèi)置事件觸發(fā)器來使用更多來自騰訊和第三方的云服務。對于需要在中國部署 FaaS 服務、與微信進行集成和擴展以吸引更多客戶并接受以云為中心的開發(fā)方法的客戶來說,騰訊 SCF 是一個不錯的選擇。?
- Nimbella 通過“FaaS 無處不在”的方法全面支持混合云。與 IBM Cloud Functions 一樣,Nimbella 基于開源 Apache OpenWhisk 項目。Nimbella 擁有一個簡單快速的開發(fā)人員入門流程,同時它的運行時既可以在純 FaaS 模型下使用,也可以作為可安裝的函數(shù)平臺部署到其他公有云上,更可以本地部署。Nimbella 通過強大的容器支持、允許使用多種編程語言以及可配置的函數(shù)最大運行時間設(shè)置來實現(xiàn)“FaaS 無處不在”。這樣的一款 FaaS 解決方案非常適合需要長期運行的有狀態(tài)函數(shù)。該平臺盡管具有很高的靈活性,但有些問題仍需注意。它的托管解決方案為租戶提供了內(nèi)置隔離功能,而可安裝的解決方案則支持混合部署,團隊可根據(jù)不同的組織需求和安全策略做出具體調(diào)整。因此,選擇混合部署的團隊可能要花費更多的時間來配置生產(chǎn)環(huán)境的基礎(chǔ)設(shè)施。
參考客戶對 Nimbella 在客戶支持和幫助實施最佳實踐方面的表現(xiàn)給予了高度評價。客戶還將最小化廠商鎖定風險作為選擇 Nimbella 的一個原因。客戶關(guān)心的問題包括安全性和可觀測性,同時希望通過增加代碼示例和數(shù)字內(nèi)容來加快上手速度。對于采用混合 FaaS 解決方案,并希望在無服務器架構(gòu)平臺基礎(chǔ)上提供自己的網(wǎng)絡(luò)和集成功能的開發(fā)團隊而言,Nimbella 是一個很合適的解決方案。另外如果相比基于用量的定價模式,您更想按月付費或選擇企業(yè)協(xié)議,Nimbella 的許可模式也是最有吸引力的方案。?
- 谷歌以 Cloud Functions 和 Cloud Run 打造“全方位”解決方案。從谷歌的 FaaS 產(chǎn)品可以看出,隨著公有云提供商將容器和 Kubernetes 平臺作為 FaaS 運行時的關(guān)鍵平臺引擎,多個 FaaS 平臺開始邁向轉(zhuǎn)型。谷歌的 Cloud Functions 支持常見的函數(shù)打包和部署,其運行時可以很好地擴展和緩慢冷卻,并且谷歌 Cloud Ops 集成功能也確保了出色的可觀測性。利用谷歌 Cloud Run,開發(fā)人員可以將函數(shù)與谷歌的 Functions Framework 打包在一起,使用 Knative 進行部署,并在混合部署場景中運行。與 2020 年的評估結(jié)果相比,該平臺對編程語言的支持也有所加強。?
參考客戶在性能和簡易性方面為谷歌給出了很高的評分,并稱贊了 Cloud Functions 的安全性和可擴展性。此外,產(chǎn)品管理和客戶支持團隊的直接參與和支持也得到了客戶的一致認可。有待改進的地方包括:更好地支持將第三方庫與函數(shù)打包(比方說用于處理 Kafka 消息),以及 Cloud Functions 運行時的依賴項的透明度需要加強。如果您想在全球范圍內(nèi)部署應用,并在混合 FaaS 部署場景中從函數(shù)平穩(wěn)過渡到容器,谷歌 Cloud Run 應該是您的合適選擇。?
- IBM 完善了 Cloud Functions 并準備推出 Code Engine。IBM Cloud Functions 基于開源 Apache OpenWhisk 項目。它添加了內(nèi)置的 API 網(wǎng)關(guān),良好的事件流支持以及強大的容器級函數(shù)隔離等功能。從本次評估結(jié)果來看,IBM 在服務等級協(xié)議條款和可用性上優(yōu)于其他任何一家廠商。但 Cloud Functions 在某些方面仍有待改善,比如網(wǎng)絡(luò)隔離選項有限以及對預留函數(shù)實例的支持等。在 2020 年的評估中,我們曾指出 IBM 在收購紅帽 (Red Hat) 之后,需要建立一套統(tǒng)一的函數(shù)運行時策略。IBM Cloud Code Engine 似乎將承擔這一任務。雖然尚未進入一般可用 (GA) 階段(因此沒有包含在我們的分析中),但 Code Engine 已經(jīng)將對 Kubernetes 和 Knative 的支持加入 IBM 的 FaaS 策略。
IBM 的函數(shù)實例快速自動伸縮和計算型工作負載的高度并發(fā)獲得了參考客戶的一致認可。其他客戶指出對 OpenWhisk 的支持實現(xiàn)了可移植性,從而降低了廠商鎖定的風險。需要改進之處包括完善編排、可觀測性以及對預留函數(shù)實例的支持。IBM 老客戶會發(fā)現(xiàn) Cloud Functions 非常適合集成他們的工作負載,而它對多種編程語言的廣泛支持也能有效幫助大多數(shù)開發(fā)人員順利轉(zhuǎn)向無服務器架構(gòu)。進入 GA 階段后的 IBM Cloud Code Engine 也值得期待,尤其是對于正在投資基于 Kubernetes 的基礎(chǔ)架構(gòu),并希望將函數(shù)納入打包對象的客戶而言。?
競爭者?
- 甲骨文將安全性、容器和事件驅(qū)動集成放在首位。我們在 2020 年分析甲骨文 Cloud Functions 時,認為該平臺相對較新,評估結(jié)果也體現(xiàn)了這一點。2021 年,甲骨文的這個 FaaS 平臺已從“挑戰(zhàn)者”象限升級到“競爭者”象限。甲骨文 Cloud Functions 基于開源 Fn 項目,函數(shù)被打包成 OCI 容器。甲骨文在建立這個 FaaS 平臺時,主要側(cè)重“設(shè)計安全”(secure-by-design) 模式,這一做法也符合許多企業(yè)開發(fā)團隊的需求。默認情況下,函數(shù)實例僅在客戶虛擬云網(wǎng)絡(luò)的子網(wǎng)內(nèi)可用。與其他一些 FaaS 廠商不同,甲骨文的私有云支持功能不收取額外費用。因此,甲骨文在北美、歐洲、亞洲和拉丁美洲的采用率都在穩(wěn)步提升。
參考客戶對甲骨文 Cloud Functions 的性能、易用性、開發(fā)時間、文檔深度和總體執(zhí)行成本給出了很高的評分。不足之處體現(xiàn)在需要拿出替代方案來解決偶爾出現(xiàn)的延遲問題,其可能原因是目前缺乏對預留實例的支持。甲骨文 Cloud Functions 非常適合使用其他 OCI 服務的企業(yè)。另外該平臺目前已開放 23 個地域,可幫助客戶在全球范圍內(nèi)實施部署。?
?
挑戰(zhàn)者??
- 華為的函數(shù)工作流 (FunctionGraph) 雖然剛剛進入市場,但卻有相當不錯的前景。函數(shù)工作流平臺還處在逐步發(fā)展的階段,但我們在評估過程中發(fā)現(xiàn),該平臺憑借對開發(fā)工具、本地開發(fā)和事件驅(qū)動集成的有力支持,已達到市場平均水平。該平臺可執(zhí)行最長運行時間達 15 分鐘的函數(shù),并支持 Node.js、Java、Python、Go,C# 和 PHP 等多種編程語言。作為市場上的一個新面孔,這個平臺還存在一些不足。比如,文檔尚不完善、對特殊工作負載的支持較差、對集成的支持不夠。部分地區(qū)內(nèi)的可用性也有限。因此,我們認為華為的函數(shù)工作流平臺最適合想要在中國,或者巴西、智利、墨西哥、新加坡、南非或泰國等華為云提供區(qū)域支持的國際市場上部署工作負載的開發(fā)人員。華為拒絕參與完整的 Forrester Wave? 評估流程。
評估報告概述
我們嚴格依照 40 條標準對廠商進行了評估,這些標準可劃分成三大類:?
- 當前產(chǎn)品。每個廠商在 Forrester Wave? 象限圖縱軸上的位置代表其當前產(chǎn)品功能的表現(xiàn)。評估這些解決方案的關(guān)鍵標準包括開發(fā)人員的體驗、編程模型、運行時執(zhí)行環(huán)境和安全功能。
- 戰(zhàn)略愿景。橫軸上的位置表示廠商在戰(zhàn)略上的表現(xiàn)。我們評估了 FaaS 平臺提供商的愿景、執(zhí)行能力、生態(tài)系統(tǒng)、參與度和定價策略。
- 市場占有率。通過圖上圓圈的大小來表示。我們的市場表現(xiàn)評分體現(xiàn)的是每個廠商的地理分布、客戶群規(guī)模和產(chǎn)品收入。?
廠商入選標準??
Forrester 本次共評估 9 家廠商:阿里巴巴、亞馬遜、谷歌、華為、IBM、微軟、Nimbella、甲骨文和騰訊。他們均符合以下條件:?
- 擁有 FaaS 平臺。每家廠商都有一個客戶可以隨時使用并運行生產(chǎn)性工作負載的 FaaS 平臺。
- 曾參與 Forrester 的 Now Tech 無服務器架構(gòu)提供商評估。FaaS 平臺是通過無服務器的架構(gòu)來打造云原生應用的關(guān)鍵組成部分。我們在 Forrester 的《Now Tech:無服務器架構(gòu),2021 年第一季度》報告中詳細介紹了開發(fā)人員可以選擇的無服務器架構(gòu)。
?
補充材料??
在線資源?
我們將所有 Forrester Wave? 評分和權(quán)重整理成一份 Excel 文件,包含詳細的產(chǎn)品評估并支持自定義排序。點擊 Forrester.com 上網(wǎng)頁版報告開頭的鏈接即可下載該文件。我們希望這些分數(shù)和默認權(quán)重僅是一個切入點,建議讀者根據(jù)個人需要來調(diào)整權(quán)重。?
Forrester Wave? 的評估方法??
Forrester Wave? 報告為組織在技術(shù)市場上購買產(chǎn)品提供了指南。為確保對所有參與者的公平,Forrester 遵循“Forrester Wave? 方法指南”來評估參與的廠商。在該評估過程中,我們先進行初步研究,挑選出供之后評測的廠商。然后依據(jù)入選標準,進一步篩選并確定最后名單。接著通過詳細的問卷調(diào)查、演示/簡報,以及參考客戶調(diào)查/采訪來收集有關(guān)產(chǎn)品和戰(zhàn)略的詳細資料。最后將這些信息,結(jié)合分析師的行業(yè)經(jīng)驗和專業(yè)知識,通過將一家廠商與參與評估的其他廠商進行對比的相對評分系統(tǒng),來對廠商進行評分。我們在每份 Forrester Wave? 報告的標題中都清楚地指明該 Forrester Wave? 的發(fā)布日期(年份和季度)。在本次 Forrester Wave? 報告的評估過程中,我們采用了廠商在 2021 年 1 月 21 日之前提供給我們的材料,不接受這個日期之后提供的其他信息。我們希望讀者能去分析隨時間變化,市場和廠商產(chǎn)品出現(xiàn)了怎樣的變化。根據(jù)“Forrester Wave? 和 New Wave? 廠商審核政策”,Forrester 要求廠商在報告發(fā)布之前審核我們的評估結(jié)果,以確保準確性。在 Forrester Wave? 象限圖中被標記為未參與評估的廠商符合我們所定義的入選標準,但拒絕參與或僅部分參與本次評估。我們根據(jù)“Forrester Wave? 和 Forrester New Wave? 未參與和不完全參與廠商政策”,對這些廠商進行評分,并將他們與參與評估的其他廠商一起列入象限圖。?
誠信準則??
我們所有的研究,包括 Forrester Wave? 評估,均遵循我們網(wǎng)站上發(fā)布的“誠信準則”。?
報告原文鏈接:
https://reprints2.forrester.com/#/assets/2/1948/RES161673/report
原文鏈接:https://developer.aliyun.com/article/784449?
版權(quán)聲明:本文內(nèi)容由阿里云實名注冊用戶自發(fā)貢獻,版權(quán)歸原作者所有,阿里云開發(fā)者社區(qū)不擁有其著作權(quán),亦不承擔相應法律責任。具體規(guī)則請查看《阿里云開發(fā)者社區(qū)用戶服務協(xié)議》和《阿里云開發(fā)者社區(qū)知識產(chǎn)權(quán)保護指引》。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,填寫侵權(quán)投訴表單進行舉報,一經(jīng)查實,本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。總結(jié)
以上是生活随笔為你收集整理的如何评估Serverless服务能力,这份报告给出了40条标准的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么你应该关心领域模型?
- 下一篇: 如何专业化监控一个Kubernetes集