# uni云开发软件版

# 背景

uniCloud官网自2020年推出,主打全栈+serverless云。

uniCloud的服务器运行库和支付宝云、阿里云、腾讯云的serverless资源整合在一起,面向开发者提供。

虽然serverless有很多优势,如弹性扩容、免运维。但很多开发者因为自身IT政策、历史资产、serverless的灵活性限制而无法使用uniCloud。

DCloud于2024年对外发布了uni云开发软件,它的产品形态变成了一个服务器软件,不再绑定serverless云,所以产品名称也去掉了cloud。开发者可以把这套软件安装在自己的服务器使用。

uni云开发软件版本质上是一个内置了uniCloud API和相关功能的定制Node Runtime。

安装好uni云开发软件版后,就可以运行uniCloud的云函数、云对象。uni-app也可以访问uni云开发软件版的服务器,实现云端一体的高效开发。

实际上DCloud的系统,很多都是运行在uni云开发软件版上的,比如 uniCloud.dcloud.net.cndev.dcloud.net.cn

这些系统已经稳定运行多年。

# 产品特征

从开发工具、API、生态各维度,uni云开发软件版和serverless模式没有差别。开发者基于serverless版编写的uniCloud项目源码,可以平滑部署到软件版,前端uni-app代码、后端云函数、云对象等代码,均无需修改。

相比serverless模式,软件版多了运维的工作:

  • 开发者自己购买服务器,自己安装操作系统(目前仅支持linux操作系统)
  • 开发者自己安装uni云开发软件版
  • 开发者自己安装MongoDB、Redis等数据库,或购买这些实例,并配置在uni云开发软件版
  • 开发者自己购买云存储、CDN加速产品,并配置在uni云开发软件版
  • 开发者自己配置静态网页发布
  • 开发者自己观测业务流量进行扩容或减配
  • 开发者自己处理负载均衡
  • 开发者自己处理安全防护,防DDoS攻击,自己打系统安全补丁
  • 开发者自己负责日常运维

而如上工作,serverless版均无需进行,serverless版通过服务空间的概念,将云函数、云存储、云数据库、前端网页托管统一封装,开发者可一键开通所有业务。所有的运维、安全工作都由serverless云厂商处理。

相比serverless版,软件版的优势也不少:

  • 没有冷启动:serverless每次按需启动容器,造成了冷启动时云函数访问速度不佳。软件版没有冷启动,进程一直都在。初始访问速度更快
  • 没有配额限制:云函数数量、数据表表数量、超时时间、数据库慢查询...很多云厂商为了节省资源而设计的配额限制都不存在,开发者可以完全自己控制
  • 自由决定内网资源:serverless版的内网资源是云厂商控制的,是否在同一地机房、是否要经过防火墙,这些都会影响访问速度。开发者可自主指定内网和防火墙策略
  • 自由安装软件:serverless版只能上传云函数,不能随意安装软件。而软件版的服务器由开发者自己控制,可以随意安装
  • 可部署在海外:serverless版的资源主要在中国境内。软件版可整体部署在海外,让海外用户访问速度更快

存储方面,uni云开发软件版目前支持如下存储方案:

  • 本地存储:文件存储和uni云开发软件版在同一台服务器上;
  • 阿里云OSS
  • 腾讯云COS
  • 七牛云存储

数据库方面,uni云开发软件版仅支持MongoDB,支持本地服务器上安装的MongoDB,也支持在云厂商购买单独的MongoDB实例。

注意

为了与serverless版保持一致

  1. uni云开发软件版目前仅支持MongoDB 4.0 版本
  2. uni云开发软件版内置的定制node.js版本为16.20.2

未来serverless版升级后,软件版也会升级

综上,可见uni云开发软件版的适用的开发者是:

  1. 有运维团队
  2. 对成本相对不敏感
  3. 对性能、灵活性、自主控制性要求较高
  4. 有海外用户

所以,uni云开发软件版仅面向企业开发者销售。售价详见

本页导读