作者
望宸
相比去年,国外Serverless的适用群体在迅速扩大,函数执行时长不断增加,使用方式也越加成熟,开发者工具也更加开放。本文是对Datadog最新的一份Serverless报告的解读,欢迎大家留言讨论。每项新技术的产生和演进过程中,都会有他自己的拥趸,也会有持怀疑论者。Serverless的美在于他可以尽可能的解放客户在基础设施上的投入,只需专注于自己的业务,让技术产生更多商业价值,同时,客户只需要真正为使用量付费,无须让计算资源常驻。“Datadog上一半的AWS客户使用了Lambda,80%的AWS容器客户使用了Lambda。”
是的,这个数据来自Datadog去年的一份调研报告,客观反映了Serverless在海外市场的落地进程。一年之后,Datadog发布了第二份Serverless调研报告,我们来一起看看Serverless在海外的最新进展,这对于无论是已经投入建设Serverless,还是仍处于观望状态的决策者和使用者而言,也许都能获得一些参考。观点
1.Lambda的调用频率比两年前高3.5倍,运行时长达小时/天Serverless的使用深度如何来定义?自年以来,一直在使用Lambda的企业已大大提高了其使用率。平均而言,到年初,这些公司每天调用函数的次数是两年前的3.5倍。此外,在同一组Lambda用户中,每家企业的功能平均每天平均运行达个小时。
普通云服务器,是按服务器的租用配置和租用时长进行收费的,其中,租用配置是依据vCPU和内存定价。
而函数计算则不同,按使用过程中的调用次数和函数运行时长收费的。因此,调用次数和函数运行时长是衡量客户使用Serverless深度的指标。报告中未提供每天调用次数绝对值的信息,但我们可以依据每天运行小时运行时长的数据,对客户在Serverless的消费做一个区间预估。阿里云函数计算的收费标准来计算,使用预付费模式:1GB计算力实例运行1秒所需的费用是0.元,以内存规格1GB,每天运行小时来计算,预计将消费.6元,年度消费是3.7万,再搭上存储、网络、安全、数据库等其他云产品的消费,已经是一个中型企业的云上支出了。此外,函数的调用次数所产生的费用通常不会太多,尤其是Python这类和AI建模相关的函数应用,阿里云函数计算每天调用万次的费用是13.3元。
2.Lambda执行时长的中位数是60毫秒,仅为一年前的一半事件驱动架构下,执行时长是一个关键生产因素函数的执行时长是FaaS领域的新概念,因为FaaS是事件驱动架构,实际触发时,才会调用计算资源执行函数应用并进行计费,函数应用执行时间越长,费用就会越高。不同于函数计算,普通云服务器则是按租用服务器来计费,虽然普通云服务器也提供自动弹性伸缩的功能,但由于本身不是事件驱动架构,导致伸缩规则上是受限的,而且,普通云服务器是按秒计费,而业内的FaaS产品,例如Lambda、阿里云函数计算都已经支持按毫秒计费,计费颗粒度越细,计算成本的优化空间就越大。
从数据结构上我们可以看到,越来越多的AWS客户正在遵循官方提供的成本优化最佳实践,来缩短函数的执行时长,从而进一步优化计算成本,最大程度发挥Serverless的成本优势。
下图中,函数执行时长曲线的尾巴很长,这表明Lambda不仅支持短期作业,而且已经在支持计算密集型的用例。虽然此份报告没有展示哪些计算密集型的业务场景使用了Lambda,但从国内云厂商宣传的案例看,主要是音视频处理、AI建模类的应用。
3.除AWSLambda外,AzureFunction和GoogleCloudFunction的增长也很迅速百家齐放是行业走向成熟的必经阶段AWSLambda是最早的FaaS产品,Azure和Google紧随其后,推出了FaaS产品,他们的增速可能得益于整个行业的成熟度,从一年前只有20%的Azure客户使用AzureFunction,一年后,这一数据已经增长到了36%,而Google已经有25%的云上客户在使用CloudFunction了。
该部分,报告中引用了Vercel这个案例:
Vercel是一个很实用的网站管理和托管工具,可以快速部署网站、App,甚至不需要购买服务器、域名、安装与配置Nginx、上传网站文件、添加DNS解析项、配置网页证书,最重要的是个人使用是永久免费。
Vercel托管的都是一些耦合度不高的应用。很显然,Vercel的这一商业模式充分利用了Serverless技术的成本优势,来尽可能降低免费个人用户带来的服务器成本,通过函数应用来处理来自服务端渲染、API路由等的请求。在过去的一年里,Vercel每月的服务器调用次数从2.62亿次增加到每月74亿次,增长了28倍。
Vercel