中文 | English
本仓库是Serverless Devs阿里云系列的Awesome,在这里可以查看到关于阿里云相关组件的大部分内容。除了下面正文中的详细信息,您还可能需要关注:
- Serverless Devs与CICD的结合
- 函数计算组件文档 与 函数计算快速入门文档
- Serverless 应用引擎(SAE)文档 与 Serverless 应用引擎(SAE)快速入门文档
更多关于案例和内容,可以参考以下目录。
将一个传统框架部署到阿里云Serverless平台的方法有很多,可以选择Custom、Custom Container以及原生编程语言的运行时。这其中Custom和原生语言运行时方案,除了启动命令/入口函数不同之外,区别并不是很大,可以根据自己需求进行实现,Custom Container方案相对来说更简单,但是镜像的冷启动速度相对Custom和原生语言运行时比较慢。
目前函数计算仓库收录以下常见框架的部署案例:
No. | 🔥Nodejs | Python | PHP | Go | Java | Others |
---|---|---|---|---|---|---|
1 | 🔥Express [custom] | 🔥🔥Flask [python3] | Think PHP [custom] | BeeGo | Tomcat/Jetty | Gatsby |
2 | Egg [custom] | Tornado [custom] | laravel [custom] | Gin [custom] | SpringBoot [custom] | Hugo [custom] |
3 | Nextjs [custom] | Bottle [python3] | Discuz [custom] | Quarkus | ||
4 | Nuxtjs [custom] | Web.py [python3] | 🔥🔥🔥 WordPress [custom] | |||
5 | 🔥🔥🔥 Hapi [custom] | Django [python3] | 🔥🔥🔥 Zblog [custom] | |||
6 | Koa [custom] | FastAPI [custom] | Ecshop [custom] | |||
7 | Nest [nodejs12] | Web2py | Metinfo [custom] | |||
8 | Midway-koa [custom] | Pyramid [python3] | Whatsns [custom] | |||
9 | Think.js [nodejs12] | Typecho [custom] | ||||
9 | Kodbox [custom] |
除了上面的案例之外,还提供了两个简单的实践应用:
- 基于Express框架的todoList应用:
s init todolist-app
- 基于Django框架的博客应用:
s init django-blog
SSR 框架:
- nuxt-ssr:
s init start-nuxt-ssr
为了对比Custom运行时和编程语言原生运行时的框架迁移区别,可以参考以下案例进行自行对比:
框架名 Custom运行时 Node.js 12运行时 Egg.js egg egg-app Express.js express express-app Koa.js koa koa-app Hapi.js hapi hapi-app
- 静态网站案例:
- hexo应用
s init website-hexo
- docusaurus应用
s init website-docusaurus
- vuepress应用
s init website-vuepress
- hexo应用
当然,上面所列举的静态网站案例都是build之后部署到对象存储等,您也可以直接部署到函数计算(尽管这并不是一个值得推荐的做法),您可以参考start-static-site文档 , 也可以尝试执行命令
s init start-static-site
进行初始化
- PyTorch案例
s init start-pytorch
- Tensorflow案例
s init start-tensorflow
- OCR案例
s init start-ocr
- 目标检测案例
s init image-prediction-app
- 弹性高可用的高度自定义音视频处理:
s init ffmpeg-app
- 对直播视频流截图的应用:
s init rtmp-snapshot
- 一个对浏览器全景录制:
s init headless-ffmpeg
- python案例
- mysql案例:
s init start-fc-mysql-python
- redis案例:
s init start-fc-redis-python
- mongodb案例:
s init start-fc-mongodb-python
- sql-server案例:
s init start-fc-sql-server-python
- postgresql案例:
s init start-fc-postgresql-python
- Lindorm案例:
s init start-fc-lindorm-python
- mysql案例:
- 基于 puppeteer 的截图 Web 应用:
- 基于Node.js的案例:
s init puppeteer-nodejs
- 基于Container的案例:
s init puppeteer-container
- 基于Node.js的案例:
- word转pdf的应用:
s init start-word2pdf
- pdf转图片的应用:
s init start-pdf2img
- 电商后端管理系统:
s init start-fc-mall-admin
- 现代应用解决方案:
s init modern-web-application
这一部分记录的是一些活动的小案例,仅供学习使用
- 基于函数计算的红白机游戏:
s init fc-nes-game
- 基于函数计算的盲盒游戏:
s init blindbox-game
- 创意活动Jamsatck站点:
s init start-jamstack-activities
- Serverless架构的弹幕应用:
s init start-barrage