编者按:两年前,我们还在讨论什么是 Serverless,Serverless 如何落地。如今,已经有评测机构给出了 40 条标准来对 Serverless 的服务能力进行评估,这些评估细则既是技术生态繁荣发展的一种表现,也可以作为新进入者评估 Serverless 落地成效的一种参考依据。
在 Forrester 的这份函数即服务 (FaaS) 平台评估报告中,我们选择了阿里巴巴、亚马逊、谷歌、华为、IBM、微软、Nimbella、甲骨文和腾讯这 9 家最具影响力的提供商,并依据 40 条标准对其进行了研究、分析和评分。该报告展示了每个提供商在各方面的表现,旨在帮助从事应用程序开发与交付 (AD&D) 的专业人士找到最符合自身需求的提供商。
FaaS 平台的抽象化让开发人员不再需要关注复杂的容器或虚拟机集群管理与扩容工作,从而可以快速创建云原生微服务。将底层基础架构的管理工作交给 FaaS 提供商之后,开发人员就可以在编程环境中,使用 Java、C#、JavaScript 或 Python 等熟悉的语言,将微服务编写成简单的小函数。然后,FaaS 提供商会根据服务要求,自动对这些微服务进行扩容或缩容。使用 FaaS 平台的开发人员表示,通过免于基础架构管理,借助抽象化消除与此相关的复杂操作后,他们可以迅速将新的想法推入部署阶段,同时可以根据执行微服务的实际资源需求来确定基础架构费用。在挑选 FaaS 提供商时,开发人员应分析该提供商是否具备以下条件:
支持函数和容器打包。随着开发人员将越来越多类型的工作负载部署到 FaaS 平台,FaaS 平台应允许开发人员简单地将一个函数打包成 ZIP 或 JAR 文件并加以部署,或者将自定义代码打包成符合开放容器标准 (OCI) 的容器,并部署与之对应的框架。FaaS 平台应同时支持这两种选项,才能在开发部署 Web、内容和事件驱动的工作负载方面为开发人员提供最大的灵活性。
提供健壮的安全功能。随着开发人员不断扩大对 FaaS 平台的运用范围,确保相关人员能够以安全的方式访问被封装到虚拟私有网络,或虚拟私有云 (VPC) 中的数据和应用程序接口 (API) 就变得非常重要。另外在函数扩缩容的同时,相关人员还需要能够快速接入这些资源,而无需等待耗时的“冷启动”。
支持第三方生态系统和开放标准。除非您愿意完全依赖一家公有云提供商,否则您就应选择平台集成更为便利的 FaaS 提供商。您需要关注的功能包括第三方可观测性、事件绑定和消息协议等。
本次 Forrester Wave™ 评估报告将待评估对象分别归入“领导者”(Leaders)、“强劲表现者”(Strong Performers)、“竞争者”(Contenders) 和“挑战者”(Challengers) 这几个象限。这是对市场头部厂商的评估,并不代表市场的整体情况。您可以查看我们关于无服务器架构 (Serverless) 技术的报告,获取有关这个市场的更多信息。我们希望这份评估报告只是一个起点,建议客户使用基于 Excel 的厂商比较工具来查看产品评估并调整标准权重(请参见图 1 和图 2)。点击 Forrester.com 上网页版报告开头的链接即可下载上述工具。
图 1 《Forrester Wave™:函数即服务 (FaaS) 平台,2021 年第一季度》评估结果
图 2 《Forrester Wave™:函数即服务 (FaaS) 平台,2021 年第一季度》评分
所有评分采用 0(弱)到 5(强)分制。
Forrester 此次共评估了 9 家厂商的产品:阿里巴巴、亚马逊、谷歌、华为、IBM、微软、Nimbella、甲骨文和腾讯(见图 3)。
图 3 本次评估的厂商和产品
通过分析,我们发现各厂商有以下优势和不足之处。
参考客户对 Amazon Web Services(亚马逊云计算服务,简称 AWS)Lambda 给予了很高的评价,认为该平台可提供一流的客户支持,性能出色,并集成各种 AWS 服务和第三方服务。在与经验丰富的业内人士保持紧密合作方面,该产品也得到了客户的一致赞赏。参考客户认为该平台在可观测性上还有改善空间,并期望其能为开发人员提供更多简化的工具。AWS Lambda 最适合异步运行的临时工作负载,包括集成其他 AWS 服务、物联网、批处理、新 Web 应用以及事件驱动集成。
参考客户对阿里巴巴函数计算在中国 ISV 生态系统中的事件集成能力赞赏有加,并对其在圣诞节和新年等节日期间加强客户支持的做法给予了高度评价。在技术方面,客户对于可以在几分钟内扩容到数万个实例的能力深表满意。参考客户希望该平台能够在远程调试方面提供更好的编程语言支持,并改进对于 GPU 计算的支持。虽然该平台目前最适合在香港或中国大陆部署工作负载的公司,但它的国际覆盖面正在扩大,目前已支持 10 个地域,共有 21 个可用区。
参考客户高度认可 Azure Functions 与 Key Vault 等其他 Azure 服务相集成以实现机密存储的能力,并特别提到其强大的内置可观测性。Azure Functions 的性能和服务质量也让客户普遍感到满意。但是,客户如果要使用 VPC 服务和预留实例等重要的企业功能,就不得不选择费用更高的高级服务计划,这一点是客户集中抱怨的地方。对于需要其他 Azure 服务或一个覆盖全球的 FaaS 平台的客户而言,Azure Functions 是最合适的解决方案。但如果您的团队想构建或集成企业级工作负载,就需要升级到高级版的应用服务计划。
参考客户对于 SCF 的性能,客户支持和工作负载执行低成本给予了高度评价。客户同时表达了对该平台稳定性的担忧,并希望通过更多内置事件触发器来使用更多来自腾讯和第三方的云服务。对于需要在中国部署 FaaS 服务、与微信进行集成和扩展以吸引更多客户并接受以云为中心的开发方法的客户来说,腾讯 SCF 是一个不错的选择。
参考客户对 Nimbella 在客户支持和帮助实施最佳实践方面的表现给予了高度评价。客户还将最小化厂商锁定风险作为选择 Nimbella 的一个原因。客户关心的问题包括安全性和可观测性,同时希望通过增加代码示例和数字内容来加快上手速度。对于采用混合 FaaS 解决方案,并希望在无服务器架构平台基础上提供自己的网络和集成功能的开发团队而言,Nimbella 是一个很合适的解决方案。另外如果相比基于用量的定价模式,您更想按月付费或选择企业协议,Nimbella 的许可模式也是最有吸引力的方案。
参考客户在性能和简易性方面为谷歌给出了很高的评分,并称赞了 Cloud Functions 的安全性和可扩展性。此外,产品管理和客户支持团队的直接参与和支持也得到了客户的一致认可。有待改进的地方包括:更好地支持将第三方库与函数打包(比方说用于处理 Kafka 消息),以及 Cloud Functions 运行时的依赖项的透明度需要加强。如果您想在全球范围内部署应用,并在混合 FaaS 部署场景中从函数平稳过渡到容器,谷歌 Cloud Run 应该是您的合适选择。
IBM 的函数实例快速自动伸缩和计算型工作负载的高度并发获得了参考客户的一致认可。其他客户指出对 OpenWhisk 的支持实现了可移植性,从而降低了厂商锁定的风险。需要改进之处包括完善编排、可观测性以及对预留函数实例的支持。IBM 老客户会发现 Cloud Functions 非常适合集成他们的工作负载,而它对多种编程语言的广泛支持也能有效帮助大多数开发人员顺利转向无服务器架构。进入 GA 阶段后的 IBM Cloud Code Engine 也值得期待,尤其是对于正在投资基于 Kubernetes 的基础架构,并希望将函数纳入打包对象的客户而言。
参考客户对甲骨文 Cloud Functions 的性能、易用性、开发时间、文档深度和总体执行成本给出了很高的评分。不足之处体现在需要拿出替代方案来解决偶尔出现的延迟问题,其可能原因是目前缺乏对预留实例的支持。甲骨文 Cloud Functions 非常适合使用其他 OCI 服务的企业。另外该平台目前已开放 23 个地域,可帮助客户在全球范围内实施部署。
我们严格依照 40 条标准对厂商进行了评估,这些标准可划分成三大类:
Forrester 本次共评估 9 家厂商:阿里巴巴、亚马逊、谷歌、华为、IBM、微软、Nimbella、甲骨文和腾讯。他们均符合以下条件:
我们将所有 Forrester Wave™ 评分和权重整理成一份 Excel 文件,包含详细的产品评估并支持自定义排序。点击 Forrester.com 上网页版报告开头的链接即可下载该文件。我们希望这些分数和默认权重仅是一个切入点,建议读者根据个人需要来调整权重。
Forrester Wave™ 报告为组织在技术市场上购买产品提供了指南。为确保对所有参与者的公平,Forrester 遵循“Forrester Wave™ 方法指南”来评估参与的厂商。在该评估过程中,我们先进行初步研究,挑选出供之后评测的厂商。然后依据入选标准,进一步筛选并确定最后名单。接着通过详细的问卷调查、演示/简报,以及参考客户调查/采访来收集有关产品和战略的详细资料。最后将这些信息,结合分析师的行业经验和专业知识,通过将一家厂商与参与评估的其他厂商进行对比的相对评分系统,来对厂商进行评分。我们在每份 Forrester Wave™ 报告的标题中都清楚地指明该 Forrester Wave™ 的发布日期(年份和季度)。在本次 Forrester Wave™ 报告的评估过程中,我们采用了厂商在 2021 年 1 月 21 日之前提供给我们的材料,不接受这个日期之后提供的其他信息。我们希望读者能去分析随时间变化,市场和厂商产品出现了怎样的变化。根据“Forrester Wave™ 和 New Wave™ 厂商审核政策”,Forrester 要求厂商在报告发布之前审核我们的评估结果,以确保准确性。在 Forrester Wave™ 象限图中被标记为未参与评估的厂商符合我们所定义的入选标准,但拒绝参与或仅部分参与本次评估。我们根据“Forrester Wave™ 和 Forrester New Wave™ 未参与和不完全参与厂商政策”,对这些厂商进行评分,并将他们与参与评估的其他厂商一起列入象限图。
我们所有的研究,包括 Forrester Wave™ 评估,均遵循我们网站上发布的“诚信准则”。