进行无服务器开发的框架sst介绍

在项目中一直在使用serverless框架。但最近偶然接触了一下它的一个竞争对手:sst,感觉貌似也很不错。而且sst的作者貌似是一个华裔。

image
图源:sst官网截图

和serverless一样,sst也提供了一个命令行工具,用于创建一个应用框架:

1
2
npm i -g [email protected]
npx [email protected] my-sst-app

进入my-sst-app目录,就能看到已经创建好的应用。如果需要的话,可以在sst.json中更新应用设置:

1
2
3
4
5
{
"name": "my-sst-app",
"region": "eu-west-1",
"main": "stacks/index.js"
}

然后运行:

npm start

sst会自动部署应用到AWS。可以通过类似下面的URL进行调用和测试了:

https://xxxxxxxx.execute-api.eu-west-1.amazonaws.com/

同时,sst会提供一个即时的测试环境,在这里可以看到实时调用,传递过来的参数,返回值等.:

image

sst还会提供一个集成环境,能够查看使用到的各种AWS资源:比如Lambda函数,Cognito用户池,S3 Bucket,RDS,GraphQL等。

sst目前还非常新,它目前只支持AWS,不像serverless同时支持AWS,Azure,和Google Cloud。同时它支持的语言也有限,比如就不支持Java。

要说优点的话,感觉sst和AWS CDK的结合似乎更加自然。在serverless中,通常需要定义使用到的所有AWS资源(使用yaml或者TS),serverless会自动将这些yaml配置转换为CloudFormation。而在sst中,则是直接使用CDK,这样对于开发人员来说,灵活性就更大了。

期待这个框架越来越好用。

评论