[短文] Serverless 还需要一定发展时间。现在写起来不爽
看看这个 CURD 的 app
这篇文章写什么
Serverless 离"好用"还有一段距离
本文适合谁阅读
开发者。
读者如果有 serverless 基础当然更好。
没有也没关系
正文
我们先看这张图:
(代码来自 serverless.com 官网:https://serverless.com/examples/aws-node-rest-api-with-dynamodb/)
仔细看 yml 里 functions 部分
看看,就一个增删改查写了多少行?
作为 Ruby on Rails 开发者,这我不能忍。
如果是 Ruby on Rails:
- routes.rb 里加一个 resource
- 再加一个 controller 文件
就两处改动,易懂。
YML 看了,我们再来看看实际代码:
的确是 serverless 了没错,这写起来并没有更简单了
再补一个 Youtube 教程截图:
https://www.youtube.com/watch?v=Pa99PT16tmw
都是这样写。增删改查一个个定接口。
结论1
serverless 做 CURD app 的写法还需要不少改进。
因为增删改查的应用到处都是。如果写起来这么痛苦,没人用的。
如果规模小也就忍了(比如 10个以下的 API 接口)
稍微再复杂一点的应用(如今任何一个简单 Web 应用都比这个复杂)
我还是回头去用 Ruby on Rails 吧。
折腾 Docker 和 CI/CD 部署之类的东西,麻烦点也就算了,第一次搞定了后面就流畅了,可以自动化了
不是在黑 serverless 说这个不行,
只是说 serverless 还需要再多发展一点。
查了下,找到一个东西叫 Ruby on Jets
我还不了解这东西,不发表评论了。
结论2
我想用 Serverless 冲着的就是 Simple & Cheap。
现在看来 Simple 是做不到了。只有 Cheap 可以。
我的最终目的
做一个简单 License API。
类似 https://keygen.sh/
生成激活码+验证激活码,就俩 API 接口 + 一张数据库表。
具体细节:
- 一张数据库表里就两列,email(string) 和 license_code(string),就像账号密码一样。
- 激活时验证这个组合是否存在,存在就是对的
总耗时
(2020年1月) 大概花了2-3天断断续续的看了 Serverless 的教程。
结论3
我最后放弃了 Serverless 方案。
全文完
感谢阅读