Serverless 应用引擎 SAE(Serverless App Engine)是面向应用的Serverless PaaS平台。您无需关注服务器等底层基础设施的运维,只需要将代码或镜像上传到SAE,就可以平稳运行您的应用,并且能够通过弹性伸缩应对流量峰谷,实现按需付费。本文介绍如何将Web应用从其他部署环境,如本地服务器、IDC、Web应用托管服务(简称Web+),迁移到SAE进行部署。
迁移前考虑的要素
编程语言与部署方式
SAE是通用的PaaS平台,支持多种编程语言,不同编程语言支持的部署方式不同,详见下表:
编程语言 | 部署方式 | ||
通过镜像部署 | 从源码仓库持续部署 | 通过代码包部署 | |
Java | 支持 | 支持 | 支持 |
PHP | 支持 | 支持 | 不支持 |
Python | 支持 | 支持 | 不支持 |
Node.js | 支持 | 支持 | 不支持 |
Golang | 支持 | 支持 | 不支持 |
其他语言 | 支持 | 支持 | 不支持 |
应用改造
迁移至SAE的应用,无需修改代码。但以下情况,需要在应用迁移前进行容器化改造:
通过镜像部署到SAE:以使用阿里云容器镜像服务企业版为例,需要使用企业版实例构建镜像或使用企业版实例推送和拉取镜像。
从源码仓库持续部署其他语言(非Java、PHP、Python、Node.js、Golang)的应用到SAE:需要编写Dockerfile文件。
数据库迁移
如果应用在当前环境中连接了RDS、Redis等数据库,迁移到SAE后,在确保网络连通性的前提下,可以继续使用这些数据库;进一步地,您可以通过Secret方式配置数据库连接,以提升安全性。
迁移前的准备工作
已准备好应用所需的镜像仓库、源码仓库或代码包。
迁移并部署应用到SAE
通过镜像部署
以下仅介绍本文相关的配置项,其余信息,请参见通过镜像部署Web应用。
在SAE控制台>应用管理>Web应用,从顶部菜单栏选择地域,然后单击创建应用。
设置应用部署方式为选择镜像部署,并单击设置镜像,选择您已准备好的应用镜像仓库和镜像版本。为定位到所需的镜像仓库,请单击我的阿里云镜像,并选择镜像仓库所在的镜像服务版本和命名空间。
将HTTP监听端口设置为镜像对外提供服务的端口。
单击一键创建应用,并等待应用部署完成。
从源码仓库持续部署
以下仅介绍本文相关的配置项,其余信息,请参见在SAE控制台通过源码部署应用。
在SAE控制台>应用管理>Web应用,从顶部菜单栏选择地域,然后单击创建应用。
设置应用部署方式为从源码仓库持续部署,并单击设置持续部署,选择您已准备好的应用源代码库。系统会基于源代码库自动构建镜像,并部署在SAE。
将HTTP监听端口设置为镜像对外提供服务的端口。
单击一键创建应用,并等待应用部署完成。
通过代码包部署
以下仅介绍本文相关的配置项,其余信息,请参见通过代码包部署Web应用。
在SAE控制台>应用管理>Web应用,从顶部菜单栏选择地域,然后单击创建应用。
设置应用部署方式为代码包部署,并单击设置代码包部署,选择您已准备好的应用代码包的类型,上传代码包,并选择代码包的运行环境。系统会基于代码包自动构建镜像,并部署在SAE。
将HTTP监听端口设置为镜像对外提供服务的端口。
单击一键创建应用,并等待应用部署完成。
访问应用
SAE为您的应用提供默认的访问地址,您可以通过公网访问应用或通过私网访问应用;在实际的生产环境中,建议您为应用关联自定义域名,并使终端用户通过自定义域名访问应用。