名词百科
什么是 PaaS / IaaS?
一句话定义
PaaS 提供应用运行环境和中间件,代码由客户自己写;IaaS 只提供虚拟化的计算、存储和网络,操作系统往上全部自己管。
它到底是什么
三者按「谁负责到哪一层」划分,是一条清晰的分界线:IaaS 提供地基,PaaS 提供地基加脚手架,SaaS 直接提供建好的房子。
判断某个产品属于哪一类,只需问一个问题:应用代码,也就是业务逻辑,由谁写?由你写、平台只给运行环境,是 PaaS;由厂商写、你只使用,是 SaaS;你不仅要写代码还要管操作系统和中间件,那就是 IaaS。
怎么运作的
IaaS 交付的是虚拟机和存储卷,你拿到 root 权限,装什么、怎么配、怎么扩都由自己决定。弹性好、控制力强,代价是运维责任全在自己身上——系统补丁、数据库调优、备份策略都要人做。
PaaS 把运行时、数据库、消息队列、日志都封装好,你只上传代码。部署从「配服务器」变成「推代码」,扩缩容通常自动完成。代价是受平台约束:支持的运行时不自由、调试手段受限、深度依赖平台专有服务后迁移成本很高。
SaaS 连代码都不写,直接在浏览器里用。代价是流程要跟着产品走。
容易混的几个概念
- BaaS:把后端能力(数据库、登录、文件存储、推送)做成接口,前端直接调用。介于 PaaS 和 SaaS 之间。
- FaaS / Serverless:以函数为单位运行代码,按调用计费。属于 PaaS 的一种形态。
- 云服务器:典型的 IaaS 产品。
- 虚拟主机:共享环境,通常连 root 都没有,控制力弱于 IaaS。
常见问题
PaaS 会不会锁定供应商?
会,程度取决于用了多少平台专有服务。只用托管数据库和对象存储,迁移代价可控;用了平台专有的队列、函数、鉴权体系,迁移就要改代码。选型时把「哪些是标准协议、哪些是专有服务」问清楚。
小项目该选哪一层?
看有没有专职运维。没有,就从 PaaS 起步,把系统补丁和备份交给平台;有,IaaS 更自由也更省钱。业务量还看不清时,避免一次性买长期合约。
A 交付方式 · 同组词条
SaaSSaaS(Software as a Service,软件即服务)是厂商把软件统一部署在云端、客户按账号数或用量订阅使用的模式。客户不买服务器、不管运维,代价是数据与功能演进方向由厂商掌握。模板开发模板开发是在已有的成品系统上修改配色、文案、栏目和部分字段来搭建网站或应用的方式。业务流程本身不变,改的是外观和展示内容。软件外包软件外包是企业把软件开发工作委托给外部团队完成的做法。它描述的是执行主体,不描述交付形态——外包可以交付模板,也可以交付定制系统。二次开发二次开发是在已有软件源码的基础上进行修改和扩展,而不是从零编写。起点是一套完整可运行的系统,工作需要先理解原有架构再动手。定制开发定制开发是按客户的具体业务流程从零实现软件的方式,与买模板、租 SaaS 相对。成果通常包含源码,著作权可约定归客户。开源系统开源系统是源代码公开、允许他人使用、修改和再分发的软件。开源不等于免费,也不等于可以随意商用——具体权限由许可证决定。软件开发软件开发是把业务需求转化为可运行、可维护的软件系统的过程,通常分为需求分析、设计、编码、测试和维护五个阶段。源码交付源码交付是软件开发方把源代码及其相关资产移交给客户的行为。它决定了客户在合同结束后能否自行修改、部署和继续维护系统。