14

serverless/serverless 部署工具的一点思考

 3 years ago
source link: https://blog.csdn.net/oqqYuan1234567890/article/details/107725321
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

serverless/serverless 部署工具的一点思考

original.png
皿小草 2020-08-01 08:45:08 articleReadEyes.png 185
分类专栏: serverless

https://github.com/serverless/serverless 是github上star比较多的一个用于部署serverless应用的工具,对于新手来说有一定的帮助。下文简称serverless框架

归集了几个公有云厂商(gcp cloudfunction/aws lambda/腾讯云 serverless)的serverless服务特性,并做了抽象。通过建立一份配置,即可以快速把应用部署到不同的平台。

这个项目主要贡献者是腾讯,对于腾讯云的serverless应用支持比较好。对于另外的厂商来说,则略微逊色。比如gcp cloudfunction的instance设置,就支持不是很好。这就牵涉出来一个问题:

### serverless配置的学习成本 serverless的配置,与云厂商原生配置,是存在mapping关系的。如果你需要深入了解配置的生效方式,就需要你有较强的nodejs代码阅读能力,才能快速trace到serverless框架配置是怎么mapping到云厂商的原生配置。换句话说,使用serverless框架,是有一定的学习成本的,而且debug成本也相当高。

### 你的应用是否需要跨厂商部署 serverless框架本身希望做成general的工具,一次编写配置,支持部署到多个云厂商。所以主要方向还是支持通用功能的部署。但是,如果你的应用本身没有跨厂商部署的必要,那么,使用云厂商的原生配置效率是否会更高,这个需要权衡一下。

serverless厂商的高级特性是否重要

加入云厂商的高级特性对项目很重要,在serverless框架又没有这个特性。解决这个问题,常见的有两种思路

  • fork仓库,自行修改,使用本地版本,或者提pr到serverless框架项目等待合并再使用
  • patch方式,先用serverless框架部署,再调用云厂商的部署工具设置高级特性
    成本与收益自行衡量,没有银弹的serverless工具,最终还是要看项目的特性。serverless框架毕竟只是一个部署工具,相比于项目就没那么重要了。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK