Serverless现状研究报告
极客时间编辑部
讲述:丁婵大小:7.81M时长:05:41
现在“Serverless”可能是一个流行术语,但是它并非空洞地存在。AWS Lambda 推出还不到 5 年的时间,就已经被近一半使用 AWS 基础设施的公司所采用。近日,Datadog 站点在分析了数千家公司的 Serverless 使用情况后,发布了一份 Serverless 现状研究报告。InfoQ 中文站对该报告内容进行了编译。
该报告主要关注 AWS Lambda,它在 2020 年初是 Datadog 的用户群中最成熟和被广泛采用的 Serverless 平台。以下为报告重点内容。
一半的 AWS 用户已经采用了 Lambda
在 2020 年初,Lambda 已经不再是小众的技术。使用 AWS 的 Datadog 客户中有近一半已经采用了 Lambda。对于 AWS 的使用情况,Datadog 认为,如果一个公司在一个月内至少运行 5 个不同的 Lambda 函数或 5 个不同的 EC2 实例,那么该公司就在使用 AWS。Lambda 的采用率和使用情况表明 Lambda 并不局限于云原生的早期采用者和小众使用场景。相反,在采用 AWS 基础设施的各种各样的公司中, Serverless 函数得到了广泛的应用。
Lambda 在大型环境中更为普遍
令人意外的是,Lambda 的广泛采用并不是由更新、更小的公司所驱动的。相反, Lambda 的采用情况与公司基础设施环境的大小有着明显的相关性,无论环境指的是主服务器、容器,还是 Serverless 函数均是如此。在基础设施规模最大的那些公司中,超过四分之三的公司都采用了 Lambda。
使用容器的用户已经大面积采用 Lambda
在 AWS 中运行容器的公司特别中意于 Lambda。截至 2020 年 1 月,在 AWS 运行容器的组织中有近 80% 都采用了 Lambda。尽管 Serverless 函数和容器是两个非常不同的环境,但是它们似乎基于类似的原因而被众人所接受,比如为了简化运维而抽象出基础设施的关注点。在一些使用场景中,Lambda 和容器基础设施是直接连接的,但是更多的组织可能正在分别运行它们,以满足不同的需求。例如,某家公司可能在一个容器集群中运行其大部分的应用程序,同时将突发的、短期运行的任务(例如支付处理)转移到 Serverless 的函数中。
Amazon SQS、DynamoDB 与 Lambda 是绝配
在将函数连接至基础设施和应用程序组件时,Lambda 用户有大量可选的技术。当函数被触发时,它通常会将自己所产生的数据发送给消息队列,而消息队列可以将数据路由至其他的 Lambda 函数、基于服务器的应用程序或者云服务。消息队列能够让组织采用“仅为真正使用的内容服务”的 Serverless 模式。相对于调用其他的函数并一直等待响应(占用可计费的调用时间), Serverless 可以通过消息队列的方式进行异步调用。由于函数是临时的和无状态的,所以它们通常会对单独的持久化数据存储进行读写操作。
在与 Lambda 函数相同的请求中所调用或查询的服务里面,Amazon DynamoDB 名列前茅。键值和文档存储非常适合 Lambda 函数,因为它是一个托管的、可自动伸缩的数据存储,可以保证低延迟。在使用 Lambda 的场景中,数据存储方面另一个最流行的选择是 SQL 数据库(无论是 Amazon RDS 实例还是自管理数据库)和 Amazon S3。Amazon SQS(Simple Queue Service)是 Lambda 请求中消息队列的首选,其次是 Amazon Kinesis 和 Amazon SNS(Simple Notification Service)。SQS 在逻辑上非常适合 Serverless 架构:它易于搭建和扩展,成本相对较低,并且提供与 Lambda 的紧密集成。
Lambda 用户中,Node.js 和 Python 占据了主导地位
在 Lambda 用户可用的语言和框架中,Python 和 JavaScript(借助 Node.js)明显占据了主导地位。在当前所有已部署的 Lambda 中,有 47% 在运行 Python,另外还有 39% 在运行 Node.js 应用。Python 3 与 Python 2 的比例是 2 比 1(Python 2 在 2020 年 1 月正式结束了其生命)。
Lambda 函数运行时间的中位数是 800 毫秒
Lambda 函数运行时间的中位数约是 800 毫秒,这是在所有调用中取平均值得到的,但是延迟分布曲线的尾部很长。四分之一的 Lambda 函数平均执行时间超过 3 秒,12% 的函数执行时间超过 10 秒。一些 Lambda 函数的持续时间很长,这是值得注意的,因为 Serverless 的延迟不仅影响应用程序的性能,还会影响云计算的成本。Lambda 定价是基于计算时间的“GB-seconds”:分配给函数的内存 (详细信息如下图所示),并乘以其调用的持续时间。
除了上述 Serverless 现状研究报告的重点内容外,报告还显示,47% 的 Lambda 函数具有最小的内存分配,即 128 MB。每个 Lambda 函数都有一个可配置的超时设置,时间从 1 秒到 15 分钟不等,这是 Lambda 调用所允许的最长持续时间。大多数函数都使用了较短的超时:三分之二的 Lambda 函数超时配置为 60 秒或更少。
以上就是今天的内容,你还可以点击文末链接查看报告完整内容。
原文链接:
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 小斧技术效率,运行效率是每行每业的目标。
收起评论