用 Serverless 方式部署静态站点

  • #Serverless
  • #Deployment

最近有个需求,就是改造公司的官网,需要把公司的官网从阿里云的一个低代码建站工具迁移到自己的服务上,以便做 SEO/GEO。

部署静态网站的三个方法

  • 第一个就是把静态资源放到云服务器上,然后做一个反向代理,前面再放一个 SLB 负载均衡。
  • 第二个方法就是直接把官网放在 CDN 上。
  • 第三个方法就是找一个全托管的 Serverless 服务,这个是最省心的。

于是开始寻找国内的 Serverless 服务。之前我用过海外的 Vercel,也是挺方便的,然后我就尝试去找一下火山、阿里在国内的替代产品。

阿里云的 Serverless

阿里云的 Serverless 产品有很多,其中一个叫云函数,另一个叫函数与 Pages,还有一个叫函数计算。乍一看都可以实现类似的功能,非常困惑。

函数计算

  • 它的售卖方式有点像 ECS,看起来是把 ECS 产品打包成按量付费的函数式产品。
  • 基于 ACR 进行容器化部署,但是不需要服务器、容器等基础设施。

云函数

  • 它的定义相当于是 BaaS 的后端服务函数,从功能上看起来非常像 Supabase 的边缘函数。
  • 但是它归属于移动研发平台的子功能,看起来实际限于移动研发所使用。

函数与 Pages

  • 归属于边缘安全加速 ESA 的产品线。
  • 可以根据我上传的代码自动打包,自动进行加速。它可以做中国大陆地区的加速,也可以做大陆之外的全球加速。
  • 支持 Next.js 一整套技术栈,包括 CSR、SSR 模式都可以支持。
  • 配套了比较完整的 CDN 配置,包括 SSL 证书、HTTPS 强制跳转配置等。
  • 需要通过后台申请才能开通。

火山引擎 Serverless

Pages

  • 位于「内容分发服务 - Pages」,目前还是在内测阶段,需要申请才能开通。
  • 可以上传文件,或连接 GitHub 仓库进行部署。

函数服务

  • 比较标准的 Serverless 产品,可以通过上传代码部署成函数服务。
  • 可以与 API 网关集成,部署到公网上。
  • 支持 Next.js 一整套技术栈。
  • 可以通过 VS 插件部署,很方便。

总结

整体对比下来,我推荐阿里云的「函数与 Pages」和火山引擎的函数服务,来做前端纯静态站点的服务部署。