很早之前就知道 Serverless 的概念,最近用了一下 Cloudflare 的 Workers 边缘计算,做了点小东西( IP 查询、DDNS 更新、TOTP 验证码生成),感觉功能比较单一,都是实现一些十来行就能运行的代码,看上去给的运行环境性能也不高,要求挺多的。
看到 AWS 也有 lambda ,腾讯云也有那种云函数,想知道如果放到一个真实的业务中这些小代码片段的“云函数”能做些什么?以及,云函数适合用来跑 AI 识别的业务吗(最近有这样的需求)?
1
codefever 2022-05-07 11:37:44 +08:00
边缘计算可以用于自动驾驶、远程监控等等,利用云函数的多出口性来防止爆破或者 SQL 注入的时候被 Ban
|
2
Rasphino 2022-05-07 11:38:06 +08:00 1
我目前接触到的:从 rocketmq 中消费 mysql binlog ,做一些数据同步
|
3
freakxx 2022-05-07 11:49:28 +08:00
云函数可以用来做一些第三方调用,又不想塞到业务里,直接跑,跑完直接丢就行。
|
4
mikurasa 2022-05-07 11:51:42 +08:00
上家公司用云函数做电商业务(虽然电商但是对接抖店,所以更像流程系统)
后来开始做自己的商场(云函数联级调用 比较慢) |
5
caqiko 2022-05-07 12:00:21 +08:00 via Android
AWS Lambda 配合 API Gateway 可以做 API 服务。整体效果还行,就是冷启动太慢了…有时候要好几秒。有大佬知道怎么优化吗?
|
6
lshero 2022-05-07 12:00:26 +08:00
云函数做图片裁剪,小视频的转码加水印,导出 csv pdf 这些需要异步处理的东西挺方便的
|
7
mikurasa 2022-05-07 12:01:16 +08:00
现实世界大多数业务都是具象的,抽象本身带来了复杂度,如果一个业务仅仅只是一个函数(函数内部能规定我需要哪些数据 提供哪些数据,而不是通过 Service Dao 层,徒增加复杂度,这些层本身就不适合抽象),其实更能体现业务的意义
|
10
catteroLo 2022-05-07 12:17:29 +08:00
lambda 、云函数和 worker 还是有点不一样的,提供的运行环境基本是完整的
|
11
timle1029 2022-05-07 13:04:45 +08:00
楼上已经说了,Lambda 配上 API Gateway 就可以直接 deploy API service 了,Lambda 也提供了 [SAM]( https://github.com/aws/aws-sam-cli) 来帮你搭建你需要的 infra 了,另外一个常用的就是用来 pull SQS queue 来处理各种异步的任务
Serverless 的好处很多,很多公司都要求 server 定期 patching ,一旦你管理的 server 多了就非常头疼。对于 Cloud Provider 来说更是这样,你作为 AWS 的客户通常只会部署一个或者几个 region ,但是 AWS 的 service 在每一个 region 都会部署,这时候如果用了 Lambda 或者 Fargate 就完全不用关心这些 patching 问题,因为你整个 runtime 都是 managed 。 |
12
sujin190 2022-05-07 13:58:24 +08:00
Serverless 不是不能写复杂的逻辑,是不能包含复杂的状态管理才对,需要的状态管理和数据存储都要依赖外部,不过 Serverless 按需启动如果启动时依赖资源较多确实不太好吧
|
13
cloudbeyond 2022-05-07 14:08:12 +08:00
@caqiko #5
@ch2 #8 已经支持设置自动并发保活了 https://aws.amazon.com/blogs/aws/new-provisioned-concurrency-for-lambda-functions/ |
14
lmshl 2022-05-07 15:05:46 +08:00
无状态 CRUD 基本上都可以上 serverless ,包括交易系统,如果你代码没写屎的话能自动伸缩到很高的 TPS 。
配合 Serverless 数据库可以很大程度上降低项目启动初期的硬件成本以及维护成本。 我还用 aws lambda 做过简单的图片视频转码,就是监听 s3 putObject ,触发 nodejs 调用 ffmpeg 。 也可以做图像识别,语义分割(好像还没有 GPU),NLP ,OCR 之类的简单计算服务,这些服务一次调用都在秒级,对 Serverless 账单比较友好 |
15
stevefan1999 2022-05-07 15:45:11 +08:00 via Android
serverless function 目前只是 CGI 的加強版 對就是 PHP 用的那個 CGI
serverless DB 就逆天了 |
16
ch2 2022-05-07 15:48:18 +08:00
@cloudbeyond #13 要多付钱的,跟 server 没区别了
|
17
laowudxf 2022-05-07 16:00:24 +08:00
我用腾讯云 serverless (当时为了白嫖,有免费额度)部署了一个网站,感觉跟正常的云服务的区别:
1.有很多语言环境可以选择,基本不需要运维。 2.提高并发很简单,就是多跑几个容器的样子,只需要点击几下设置一下规则就行了。 3.按需收费,按接口请求量以及流量计费。 4.很容易热更新,同样很容易回滚到某个版本的代码,点击几个就行了。 |
18
laowudxf 2022-05-07 16:00:53 +08:00
网站的地址是 https://vapor.farambi.top
|
19
uurun 2022-05-07 16:08:30 +08:00
用云函数调用第三方图片识别接口做图片识别, 主要是自己的阿里云服务器带宽太小,图片上传太慢, 云函数可以很好解决这个问题.
|
20
joesonw 2022-05-07 19:42:08 +08:00 via iPhone
目前只在,图片裁剪(转码等),http 到 sqs 的简单鉴权后的转发,当中用到过。
|
21
teem 2022-05-08 11:56:56 +08:00
启动慢的问题现在有可以灵活配置热启动实例数量,云函数最大意义在于低运维:弹性扩容; CDN 加速;内置 CI/CD 等。另外各家云函数会对自家生态支持很好,比如免鉴权,方便的 SDK ,便于开发者更好的面向业务开发。
|
22
WeiYuanStudio 2022-05-09 22:30:15 +08:00
cron trigger 触发,自动打健康卡,自动签到
|