Datadog 发布了一份 2021 年 Serverless 状态报告指出,从云原生初创公司到大型企业,Serverless 已经在各种规模的组织中流行。该报告研究了数千家公司运行的数百万个功能,以了解 Serverless 在现实世界中的应用情况。
报告指出,AWS Lambda 是最成熟、使用最广泛的 FaaS 产品;Azure Functions 和 Google Cloud Functions 的应用也出现了惊人的增长。现如今,Serverless 生态系统已经超越了 FaaS,包括了几十种服务,帮助开发者建立更快、更动态的应用程序。四分之一的亚马逊 CloudFront 用户已经接受了 Serverless 边缘计算,企业也在利用 AWS Step Functions 来管理各种分布式组件的应用逻辑。
研究表明,在 2021 年年初, AWS Lambda 函数的调用频率已经是 2019 年的 3.5 倍。这表明,各团队正在将 Serverless 作为其软件堆栈的重要组成部分,而不仅仅是进行试验。
Azure Functions 和 Google Cloud Functions 势头强劲,其均已在各自的云平台中采用。在过去的一年中,运行 Azure Functions 的 Azure 组织的比例从 20% 上升到 36%。在 Google Cloud 上,近四分之一的组织现在在使用 Cloud Functions。
此外,AWS Lambda 的调用也比一年前要快得多。2020 年,Lambda 调用的中位数为 60 毫秒,约为前一年时间的一半。报告称,其中一种可能的解释是,更多的组织正在遵循 Lambda 的最佳实践,并设计特定于其工作负载的功能,这有助于缩短调用时间。调查还注意到,延迟分布的 tail 很长,这表明 Lambda 不仅仅是为 short-lived 的工作提供动力,也为更多的计算密集型用例提供了动力。
AWS Step Functions 变得越来越重要。AWS Step Functions 使开发人员能够建立涉及多个 Lambda functions 和 AWS 服务的事件驱动的 workflow。在这些 workflow 中,Step Functions 协调错误处理、重试、超时和其他应用逻辑,这有助于在 serverless 应用程序扩展时降低操作复杂性。研究表明,Step Functions workflow 平均包含 4 个 Lambda functions,且这一数字还在逐月增加。
Step Functions 提供了两种类型的 workflow:Standard 和 Express。报告指出,有超过 40% 的 workflow 在一分钟内执行,这表明企业很可能使用 Express workflow 来支持大批量的事件处理工作负载。不过,虽然许多 workflow 执行迅速,但也有一些运行时间很长,最长的超过了一个星期。
边缘计算正备受关注。如今,四分之一的使用 Amazon CloudFront 的组织正在利用 Lambda@Edge 为其全球用户群提供更多个性化的体验。例如,Lambda@Edge 可以根据用户特征(如,设备类型)动态地转换图像,或者为 A/B 测试提供不同版本的 Web 应用程序。
数据显示,67% 的 Lambda@Edge functions 的运行时间低于 20 毫秒,这表明无服务器边缘计算具有巨大的潜力,甚至可以以最小的开销支持最关键的延迟应用。Datadog 方面表示,随着这项技术的成熟,其希望看到更多的组织依靠它来改善他们的终端用户体验。
调查还发现,各个组织在 Provisional Concurrency 方面都出现了超支。Serverless Framework 是使用 AWS CloudFormation 部署 Lambda 应用程序的主要方法。
Python 则是最受欢迎的 Lambda 运行时,尤其是在大型环境中。自 2018 年以来,Lambda 已经提供了对六个运行时的支持。Node.js、 Python 、 Java 、 Go 、.NET Core 和 Ruby。然而,Python 和 Node.js 继续在 Lambda 用户中占主导地位,占近 90% 的 function。在所有部署的 Lambda 中,58% 运行 Python(比一年前增加了 11 个百分点),另有 31% 运行 Node.js(与去年相比下降了 8 个百分点)。
猜你喜欢: