1. 背景
阿里云官网近期发布关于 EMAS Serverless 产品下线的公告。
2020年,支付宝小程序云上线之前,阿里云EMAS Serverless承载着对标微信云开发的定位。后续支付宝小程序云上线后,EMAS Serverless就逐渐萎缩。直至目前发布下线公告。
如今阿里体系中对标微信云开发的就是支付宝小程序云。
此调整给开发者造成迁移困扰,DCloud会全力提供迁移帮助,包括尽可能平滑的迁移工具。
uniCloud阿里云服务空间将渐进式下线:
| 时间 | 策略 |
|---|---|
| 2026 年 11 月 1 日起 | 不再支持创建新的阿里云服务空间。 |
| 2027 年 9 月 30 日 | 阿里云服务空间正式停服,控制台和后端服务将同步下线,不再提供服务。在此之前,现有空间可继续使用、续费和变配 |
开发者无需担心支付宝小程序云和微信小程序云是否也会下线。云开发承载着大量业务,帮助很多中小开发者快速上线小程序,不管微信还是支付宝都不会下线云开发。
即便有其他供应商意外发生,DCloud也会自建serverless来保证服务的可持续性。开发者无需担忧uniCloud的业务持续性。
uniCloud是跨云的Serverless解决方案,同时支持多个云厂商。同一份uniCloud代码可以平滑迁移到其他云厂商,不会被单个云厂商的私有开发规范绑定。
如果开发者之前已使用uniCloud扩展数据库、扩展存储,则迁移工作会更简单。
DCloud作为一个负责任的、专为开发者而生的公司,为应对本次阿里云的产品下线,DCloud特提供如下服务:
- 发布
uniCloud一键迁移工具,帮助阿里云开发者最简单的迁移到其他云服务商; - 与阿里云合作
uniCloud中转网关。即使超过了阿里云服务空间正式停服的最后期限(2027年9月30日),如果开发者的少量App用户依然未升级到连接新服务空间,那么DCloud免费提供的uniCloud中转网关可以将手机终端通过callFunction或云对象方式发给阿里云服务空间的请求,转发给开发者已迁移的新版服务空间中,保证云函数中的业务逻辑正常执行,最大限度降低对存量老用户的影响; - 建立专项的
阿里云服务空间迁移指南群,设置专职客服,随时回答开发者在迁移过程中的疑惑;点击加入阿里云服务空间迁移指南群 - 按期迁移成功的开发者,新服务空间在迁移成功后2个月内,给与8折优惠,计划采用代金券的方式发送到完成迁移的账号;
2. uniCloud一键迁移
2.1 迁移候选方向
2.1.1 迁移到支付宝云
相比当前的阿里云空间,你将得到:
- 更低的网络延迟:支付宝云网络延迟较低,请求响应明显可以感觉到变快
- 更高的性价比:云函数执行速度越快,计费越少
- 更多的并发:支付宝云一个服务空间可以有 600 个实例(一个实例可类比1台虚拟服务器),并且不够时,可以申请调更大;阿里云一个账号下所有服务空间,共享300个实例的上限,远低于支付宝云的配额。
- 更友好的计费模式:支付宝云支持套餐超出后再按量计费,而阿里云超出后只能升级更高套餐来解决
- 网关层面的云函数防刷:支持IP防刷,并且拦截的IP访问不会计费
- 没有保底消费:支付宝云没有1小时0.01元的保底消费
相比当前的阿里云空间,你将失去:
- 前端托管不支持
history,但可以通过扩展存储解决,扩展存储也可以当前端托管,且根目录下的站点支持history
2.1.2 迁移到腾讯云
相比当前的阿里云空间,你将得到
- 更高的稳定性:腾讯云历史故障次数很少,基本上全年稳定
- 更多的并发:腾讯云高级套餐具有更高的并发能力
- 更友好的计费模式:腾讯云支持套餐超出后再按量计费,而阿里云超出后只能升级套餐解决
- 没有保底消费:腾讯云没有1小时0.01元的保底消费
相比当前的阿里云空间,你将失去
- 没有纯按量计费模式;腾讯云服务空间套餐起步价为99元/月;
- 定时任务最长执行时间为900秒,阿里云为7200秒;
2.1.3 升级为多云方案【推荐】
DCloud同时也推出了多云方案,这是一个一劳永逸的方案,此方案将业务升级为基于[服务空间多云切换]的多云主备方案:使用支付宝云、腾讯云两个不同云厂商的服务空间承载计算,共享同一份uni扩展数据库和uni扩展存储。日常由主空间提供服务,如果主服务空间的云厂商发生故障或政策变化,开发者可以在uniCloud控制台快速切换到另一家云厂商的服务空间。
这也是一套高可靠、低成本的多云灾备方案,即便某个云厂商在某个时间段有临时故障,也不会影响开发者的业务。
相比当前的阿里云空间,你将得到
- 多云切换能力:可根据业务迁移、运维或服务调整需要,通过控制台切换到另一家云厂商的空间。已接入多云切换的客户端在获取新配置并重启后生效,无需为每次切换重新发版。
- 数据和文件复用能力:主备空间读写同一份数据、访问同一份文件,后续切换计算空间时无需再次复制业务数据和文件。
- 降低对单一云服务商的依赖:后续新增或更换服务空间时,可继续复用扩展数据库和扩展存储。
相比当前的阿里云空间,你需要调整
- 新购扩展数据库和扩展云存储;如果之前已购买,可以复用;新购备用服务空间;
- 将阿里云内置数据库中的数据迁移到扩展数据库;将阿里云内置存储文件迁移到扩展存储;将阿里云服务空间中的云函数同步复制到新的主备服务空间中。这些迁移工作,都可以借助后续官方推出的
uniCloud一键迁移工具完成。 - 检查代码中的云厂商专有接口、运行环境和外部服务依赖,确保在两个云厂商的空间中均可运行。
| 资源 | 迁移后的配置 |
|---|---|
| 主服务空间 | 支付宝云或腾讯云,作为客户端默认关联的空间,日常承载业务 |
| 备用服务空间 | 另一家云厂商的服务空间,用于必要时进行跨云切换 |
| 数据库 | 主备空间授权访问同一个uni扩展数据库实例 |
| 文件及切换配置 | 主备空间访问同一份uni扩展存储 |
更详细的跨云方案介绍,请参考uniCloud跨云方案
2.2 迁移工具
uniCloud一键迁移将具备如下功能:
- 云函数/云对象、公共模块:一键复制到新的服务空间;定时任务支持配置生效时间(付费插件也会一并迁移);
- 内置云数据库:一键复制
Schema表定义、表数据到新服务空间的内置数据库,或复制到扩展数据库; - 扩展数据库:支持关联新服务空间,无需迁移;
- 内置存储:一键复制内置存储的所有文件到新服务空间的内置云存储,或复制到扩展存储;
- 扩展存储:支持关联新服务空间,无需迁移;
- Redis:支持关联新的支付宝云服务空间;
- 服务空间白名单:
uni-push、短信、一键登录 等产品配置的白名单,支持一键同步;
uniCloud一键迁移预计在2026年10月底上线。
2.3 uniCloud中转网关
在web和小程序的业务中,开发者可以简单的升级前端端。但在App场景下,如果开发者没有强制升级手段,老用户始终不升级。可能会持续访问老服务空间。
此时,可以使用uniCloud中转网关做为的兜底方案。
uniCloud中转网关可以将发给老版阿里云服务空间云函数的请求,转发给新的服务空间的云函数,这样老用户的业务请求、响应可以正常进行,不会发生老版App启动就白屏或完全无法使用的情况。
虽然uniCloud中转网关可以转发云函数的业务请求,保证业务的基本可用。但依然强烈建议你面向所有存量老版用户,开启强制更新,保证所有用户尽快升级到新版。
因为,
uniCloud中转网关依赖阿里云协助提供的老域名请求转发,阿里云对于老域名的持续支持时间尚未明确。未必能长期免费提供。- 转发会增加网络延迟,客户度请求会比之前更慢。
注意事项:
- 开发者使用
uniCloud一键迁移工具完成迁移时,系统会自动记录老版阿里云服务空间和新版服务空间的对应关系;如果开发者未使用uniCloud一键迁移,自己手动迁移的,则需要开发者自行在uniCloud中转网关操作界面完成新老服务空间的映射配置; uniCloud中转网关可以转发云函数/云对象的callFunction和url化请求;前端页面通过JQL操作数据库或使用unicloud-db组件发出的请求,也会被自动转发到新的服务空间;uniCloud中转网关可以将云存储的上传/删除请求转发给支付宝云,无法转发给腾讯云。
uniCloud中转网关的配置控制台,预计在2027年9月初上线,请求转发功能将在2027.09.30 23:59:59正式生效。
3. 迁移步骤详解
3.1 梳理存量业务分布
3.1.1 客户端发布平台
首先,请梳理你的业务发布平台:
- H5平台:一次发布、全量升级,最为简单;
- 小程序平台:小程序通常在进入后台后,30分钟左右就会销毁(详见:小程序运行机制);下次再次进入,会从小程序平台重新拉取新版小程序,故小程序的升级也较为简单,可以选择某个时间,一次性全量升级;
- App平台:App的升级是一个长尾过程,需要尽早实施。
App平台的升级,关键要保证两点:
- 客户端:支持检查更新、强制升级的逻辑:若老版App不支持,则需尽快发布新版,让尽可能多的存量设备支持升级逻辑;
- 服务端:升级更新的逻辑,从阿里云服务空间中迁移出去;若升级逻辑之前就不在即将下线的服务空间中,则无此问题;
App升级推荐uni-upgrade-center。
3.1.2 云函数请求
检查云函数请求来源,常见渠道有:
- 客户端请求:callFunction、云函数URL化请求,客户端升级后,迁移到新的服务空间;
- 自有业务系统请求:你自己的传统业务服务器通过
云函数URL化请求发起的请求;若不涉及,则忽略; - 三方服务器请求:比如支付回调、激励视频回调等;若不涉及,则忽略;
3.1.3 内置云存储请求
检查云存储的访问来源:
- 如果是uni-app(x)客户端访问,则客户端升级后会自动迁移;
- 如果是非uni-app(x)客户端访问,例如文档、外部系统引用的文件,需要梳理清单,迁移完成后,替换为新的CDN地址。
如果原服务空间的文件都存储在扩展存储中,则uniCloud一键迁移会自动绑定到新服务空间,无需单独做文件迁移。
3.2 前置检查和优化
- 内置数据库:支付宝云、腾讯云单表索引限制20条上限;如果你在阿里云服务空间中某个单表的索引超过20条,则建议你先优化、合并索引设置,或者将数据迁移到扩展数据库中。
- 内置云存储:建议通过扩展存储回源到老版阿里云服务空间,该方案优于不同云厂商中间进行内置云存储的下载、又上传,详见;具体操作上,可通过遍历方式,触发一次老版服务空间所有文档的回源访问,从而实现将文件从老版内置存储复制扩展存储,且利于将来跨云及多服务空间的文件复用。(需要保证内置存储CDN流量充足)
3.3 创建新服务空间
创建新的支付宝云/腾讯云的服务空间,支付宝云性价比更好,腾讯云略贵,但服务稳定性更好;
注意:迁移期间,需保证老的阿里云服务空间和新创建的服务空间同时运行,请勿过早删除老版阿里云服务空间。
3.4 规划升级迁移时机
为保证数据一致性,建议提前分析用户的活跃时段,发布升级运维公告。
在用户相对不活跃的时间段(比如晚上时间)进行集中迁移,在此期间,暂停终端用户发起的业务写入操作,包括定时任务触发的写操作。
为方便在迁移期间执行测试工作,建议在业务系统中增加灰度机制,比如:业务迁移期间,仅允许指定的几个账号进行业务交互,支持读写操作,从而快速验证业务迁移的正确性。
3.5 执行升级迁移
登录uniCloud 控制台,选择需迁移的阿里云服务空间,进行迁移规则配置,启动uniCloud一键迁移,观察迁移步骤和结果,若部分失败,可点击重试,确保所有步骤全部执行且成功返回结果。
3.6 执行迁移后检查及配置
虽然uniCloud一键迁移可以完成大部分的迁移工作,但依然建议你依次完成如下内容的检查及三方系统的配置更改:
- 如果老版阿里云服务空间启用了前端网页托管、且托管的是uni-app(x)编译的H5项目,则需要你重新编译H5平台并上传到新的服务空间中;若未启用前端网页托管、或托管的网页不是基于uni-app(x)编译的,则可跳过此步骤;
- 如果你的客户端涵盖小程序,则需登录对应小程序平台,将新服务空间的域名加入小程序白名单,包括:request请求、上传、下载、webview域名;如果你的客户端不含小程序,则可跳过此步骤。
- 配置三方服务的IP白名单,参考固定出口IP
- 如果之前已配置自定义域名,则需要在DNS服务商更新域名解析,指向新的服务空间地址;
- 配置三方服务的请求/回调地址(如激励视频回调),如果三方系统原来配置的就是自定义域名,则可跳过此步骤;
- 检查服务空间白名单配置,若业务系统使用了
uni-push、短信服务、一键登录、uni实人认证、手机号实名核验、uni-ai等云业务,且启动了服务空间白名单配置,uniCloud一键迁移会同步更新迁移,建议你再复核一遍; - 使用测试账号进行端到端的、业务全流程测试;
- 开启定时任务执行
- 开启App强制更新,App升级后,保证所有业务请求全部流向新的服务空间,老的服务空间除了响应老版本的检查更新请求,不再响应任务业务请求;
- 完成升级服务,恢复所有用户的业务交互,恢复读写操作;
4. 注意事项
- 云函数URL化:阿里云和支付宝云不支持同时绑定同一个自定义域名;建议为支付宝云配置新的自定义域名,然后在通过HTTP请求该云函数的系统中,更换为新域名;如果原业务系统不方便更换,则需先在老版阿里云服务空间中解绑自定义域名,然后再配置到新的支付宝服务空间中。若新服务空间为腾讯云,则无此问题。
- 新域名配置:如果启用了新域名,则需对新域名进行相关证书、密钥的配置;
- 内置云存储:从阿里云下载文件会产生公网下载流量和下载请求次数,相关费用、配额以阿里云计费规则为准。
- 旧地址引用:如果数据库记录中保存了旧空间域名、云存储 CDN 地址等内容,需在
uniCloud一键迁移开始前进行规则配置,自动替换为新服务空间地址; - fileID转换:阿里云返回的 fileID 是 URL 形式,而支付宝云、腾讯云采用不同形式,需在
uniCloud一键迁移开始前进行规则配置,实现自动替换; - 前端网页托管:支付宝云前端网页托管暂不支持
history路由模式,仅支持hash路由模式。如果你必须使用history模式,则建议迁移到扩展存储并绑定自定义域名,或迁移至腾讯云服务空间。 - Redis:通过
uniCloud一键迁移,新的支付宝云服务空间,将支持访问老版阿里云的redis;如果你的新版服务空间使用的是腾讯云,则建议你新购腾讯云的redis,因为从腾讯云函数访问阿里redis,延时有点大。
10 个评论
要回复文章请先登录或注册
DCloud_UNI_CHB
2***@qq.com
VK1688
3***@qq.com
VK1688
7***@qq.com
陌上寒一
小朋友
4***@qq.com
小檬