# 关于云开发
# 什么是云开发?
云开发
是云端一体化的后端云服务 ,采用 serverless
架构,免去了移动应用构建中繁琐的服务器搭建和运维。同时云开发提供的静态托管、CloudSDK 等能力降低了应用开发的门槛。使用云开发可以构建完整的小程序/小游戏、H5、Web、移动 App 等应用。
# 传统开发模式 vs 云开发模式
云开发与传统的前后端开发模式天然互补。基于云开发构建应用层/服务中台,能够弥补传统开发模式的“效率低、耗时多、依赖后台、不够灵活”等问题,更快响应业务需求。
云开发提供完整的后端云服务,提供数据库、存储、函数、静态托管等基础能力,以及扩展能力;无需管理基础架构。相比较传统的开发模式,云开发至少可节省50%的人力成本、交付效率提升70%。
# 什么是 serverless?
很早之前,搭建一个网站需要准备:
- 1、程序开发
- 2、购买服务器(实体服务器)
- 3、搭建机房
- 4、购买企业版固定ip带宽(很贵)
- 5、硬件维护(机房维护)
- 6、软件维护(网站维护)
- 等等
近几年,阿里云和腾讯云的崛起,变成了PaaS(平台即服务)
开发者无需自己搭建机房,直接购买云服务器,通过web可视化操作界面,对服务器进行管理。服务器维护交给平台专业人员统一处理。
此时搭建一个网站需要准备:
- 1、程序开发
- 2、购买云服务器
- 3、软件维护(网站维护)
其实到这个阶段,已经省去了很多事,但是,你依然需要懂服务器相关知识,如果你的网站用户量很大,你还需要考虑
- 1、服务器集群、负载均衡
- 2、数据库分库分表
- 3、数据库集群
- 4、数据库主备切换
- 5、DNS负载均衡
- 6、静态资源CDN
- 7、数据库缓存(redis)
- 8、redis集群
- 9、防火墙(防DDoS攻击、sql注入等攻击手段)
而 Serverless 就是来解决上诉的问题而生。简称无服务时代。
无服务并不是真的没有服务,而是服务由云服务商提供,对于你来说,你只需要关注业务就好。而与Serveless相伴而来的则是FaaS,也就是函数即服务。
云开发为开发者提供一站式后端 Serverless 服务,开发者无需购买数据库、存储等基础设施服务,无需搭建服务器即可使用。
- 1、免服务器运维
- 2、自动弹性扩容
- 3、大并发承载
- 4、防DDoS攻击
- 5、低成本(按需按量付费)
- 6、高效开发
# 什么是 uniCloud?
uniCloud
是 DCloud 联合各大云厂商(阿里云、腾讯云、支付宝云),为开发者提供的基于 serverless 模式和 js 编程的云开发平台。
uniCloud
的 web控制台地址:https://unicloud.dcloud.net.cn (opens new window)
# uniCloud 的价值
- 对于程序员,从此你又get一个新技能,用熟悉的js,轻松搞定前后台整体业务。
- 对于开发商:
- 开发成本大幅下降、开发效率大幅提升、上线和迭代速度大幅提速;
- 如果你是新创公司,将无需雇佣php或java等服务器工程师,每年至少节省几十万;
- 如果你已拥有掌握php和js的全栈,那么改用新的技术栈,一样可以大幅提升开发效率、降低成本;
- 你只需专注于你的业务,其他什么服务器运维、弹性扩容、大并发承载、防DDoS攻击,全都不需要操心;
- 除了开发成本,云资源租用成本也将大幅下降
- 如果不发布H5版,你将不需要购买备案域名。小程序和App可以免域名使用服务器;
# uniCloud是什么和不是什么
uniCloud是DCloud在阿里云、腾讯云、支付宝云的serverless服务上封装而成的。
它包含IaaS层(由阿里云、腾讯云、支付宝云提供硬件和网络)和PaaS层(由DCloud提供开发环境)。
开发者可以自主选择uniCloud的硬件和网络资源的供应商,在阿里云版、腾讯云版、支付宝云版之间切换。
开户和付费虽然通过DCloud渠道,但实际上开发者自动在云厂商处建立了账户和充值了余额。DCloud只获取云服务厂商的返佣。
开发时虽使用DCloud的工具,但应用上线时,手机端是直连阿里云、腾讯云、支付宝云的serverless,不经由DCloud的服务器。
# uniCloud为何可降低云服务成本
1、传统云服务的租用,按占用的硬件资源的上限值+固定时长来租用。
选择CPU和内存的配置,不到满配时,资源是浪费的,接近满配就需要立即扩容新的配置。
serverless不是传统云,它不需要开发者选择CPU和内存配置,也没有操作系统的选择。开发者编写云函数代码,上传到uniCloud即可
阿里云、腾讯云、支付宝云搭建了巨大的serverless资源池,有众多node进程用于云函数的运行。
这些资源是复用和共享的,并不存在某个开发者租用了3G CPU和8G内存,这些硬件就只能为他所用。
因为共享大资源池,云服务厂商的成本大幅下降,开发者无需为闲置资源付费,云函数被调用才计费。
从技术原理上serverless就有明显成本优势,所以租用serverless比租用传统云要便宜的多。
2、没有名目繁多的收费项
在传统云的世界里,有大量的收费产品。
在阿里云和腾讯云的官网可以看到长长的收费产品列表,比如负载均衡、高防、安全中心...
在uniCloud的世界,简单清晰,没有这些收费项。
只需按对计算资源、存储资源的消耗计费,只需关心业务,无需关心其他各种名目的增值产品,也无需为它们付费。
要知道一个用于防DDoS的高防套餐,每个月至少几万元。而这些费用,在uniCloud中无需支付。
展开说下uniCloud为什么不用买高防也不害怕DDoS:由于阿里云、腾讯云、支付宝云的serverless有巨大的资源池,且serverless没有固定入口ip,云函数使用的是阿里云、腾讯云、支付宝云的自有域名,DDoS攻击者打不起、也打不挂uniCloud。
3、人工成本,开发效率
传统开发由于前后端一般使用不同的语言开发,因此需要前端开发人员、后端开发人员,前后端互相扯皮的事情经常会发生
而uniCloud只需要学会js一门语言即可进行全栈开发,不再区分前端和后端,而是以业务板块纬度进行开发,如A负责开发A业务,B负责开发B业务,A不需要等B,B不需要等A,不再扯皮浪费时间,甚至仅需1人即可完成整个中小型项目。
← 对开发者的价值 快速上手 - 安装步骤 →