什么是 SaaS?软件即服务详解
SaaS,即软件即服务(software as a service),是人们通过互联网使用的软件,通常在浏览器中运行,并通过定期订阅付费。开发该软件的公司负责运行服务器、存储数据并发布更新。客户从不需要安装或维护任何东西,只需注册、登录并使用即可。Gmail、Slack、Notion、Shopify,以及大多数你按月付费的商务工具,都属于 SaaS。
用 AI 构建时,它为什么重要
“帮我做一个 SaaS”是人们向 AI 应用构建工具提出的最常见请求之一,但这个请求背后隐藏着好几项独立的工作。真正的核心功能,也就是人们愿意付费的部分,往往是最容易的一块。而让它成为一项服务的,是围绕它的一切:
- 账户,让每位客户都有自己的登录方式。
- 数据隔离,确保一位客户永远看不到另一位客户的数据。
- 计费,让订阅能够正确地开始、续费、失败和取消。
- 可靠性,因为客户依赖它保持在线。
如果你知道这些部分的存在,就可以逐一提出要求并分别测试,而不是得到一个漂亮的仪表盘,却并不安全,无法用来收费。
日常类比:租房与建房
购买传统软件就像自己盖房子:房子归你所有,但屋顶要你修,锅炉要你付钱维护,法规一变,线路也得重新布置。
SaaS 则像是租住管理良好的公寓楼。你按月付费,房东负责维修和升级,合同到期后你可以搬走。每位租户都有自己上锁的前门,这就是**多租户(multi-tenancy)**的理念:许多客户共享同一栋楼(同一套运行中的系统),但谁也不能进入别人的房间。
SaaS 产品的组成
从底层看,SaaS 产品是一个全栈应用,但还要额外承担几项职责。
| 组成部分 | 作用 | 缺少时会出什么问题 |
|---|---|---|
| 核心功能 | 客户为之付费的工作:发票、预约、库存跟踪 | 没有人注册 |
| 账户与登录 | 识别每个人的身份 | 任何人都能使用,或者没有人能再登录 |
| 租户(工作区或组织) | 按客户对用户分组,并将所有数据限定在该客户范围内 | 一位客户看到另一位客户的数据,这是 SaaS 可能出现的最严重故障 |
| 角色 | 所有者、管理员、成员、查看者 | 每个用户都能删除所有内容 |
| 计费 | 套餐、试用、续费、付款失败、取消 | 你收不到钱,或者仍在向已经离开的人收费 |
| 来自支付服务商的 Webhook | 通知你的应用“订阅已续费”或“银行卡扣款失败” | 访问权限与人们实际付费的内容不一致。参见什么是 Webhook |
| 营销网站与新用户引导 | 介绍产品,并让新客户快速获得第一个结果 | 人们注册后就离开了 |
| 管理与支持工具 | 查询客户、退款、延长试用期 | 你最终不得不手动修改数据库 |
常见的 SaaS 商业术语
- MRR / ARR: 月度或年度经常性收入,即所有有效订阅的总和。
- 流失率(Churn): 在某段时间内取消订阅的客户(或收入)所占比例。
- 试用与免费增值(Trial and freemium): 限时的完整版本,或带有使用限制的免费版本,用于吸引人们开始使用。
- 按席位定价: 按用户数收费。按用量定价: 按使用的事项收费,例如消息数或项目数。固定定价: 每个套餐一个价格。
- 微型 SaaS(Micro-SaaS): 面向狭窄细分市场的小型 SaaS,通常由一两个人经营。相关实例可参阅微型 SaaS 创意。
- 垂直与水平 SaaS: 专为某一行业打造(例如给牙科诊所用的软件),与跨行业服务于某一职能(例如电子邮件营销)的类型。
实例:为宠物美容师做的 SaaS
假设你想向独立的宠物美容师出售一款预约工具,按月收费。
- 核心功能。 美容师列出服务项目和营业时间;宠物主人在美容师的公开页面上预约时段。
- 租户。 每家美容店是一个工作区。每项服务、每条预约和每份客户记录都带有工作区 ID,每次查询都按该 ID 过滤。即使有人修改了网址,美容店 A 的预约也绝不能出现在美容店 B 的仪表盘中。
- 角色。 所有者可以更改价格和计费;员工可以查看并编辑当天的预约。
- 计费。 两个套餐,一个你自己设定的 14 天试用期,并通过 Stripe 付款。当 Stripe 报告续费失败时,你的应用会显示提示横幅,并在宽限期后暂停预约页面,但绝不删除数据。
- 新用户引导。 注册之后,引导美容师添加一项服务并分享他们的预约链接。第一次分享链接,才是产品真正开始有用的时刻。
- 管理。 一个只有你能打开的私密页面,用于查找某个工作区、查看其套餐,以及延长试用期。
第一个版本不需要把这些都做得很完美。如何构建 SaaS MVP介绍了先做什么、暂时不做什么;如何为 SaaS 产品定价则介绍了套餐设计。
常见错误与误解
- 把“SaaS”当成一个功能。 它是一种商业模式,外加上面提到的基础设施。尽早确定租户、角色和计费;事后再补上数据隔离非常痛苦。
- 指望前端隐藏数据。 如果客户的数据只是在页面上被隐藏,而服务器仍然把它返回,任何人都能看到。服务器必须在每次请求时按租户进行过滤。
- 在还没有人需要产品时就做计费。 可以尽早收费,但前提是核心功能已经能为真实用户服务。付款链接可以先于完整的套餐管理页面上线。
- 在“支付成功”页面上授予访问权限。 结账后的跳转可能被跳过,也可能被伪造。应当由支付服务商的 Webhook(由你的服务器验证)来授予或撤销访问权限。
- 忽视取消和付款失败。 它们会在第一个月就发生。要事先决定客户会看到什么,以及他们的数据会怎样处理。
- 过早照搬企业级功能。 单点登录、审计日志和复杂的权限体系对大型客户很重要,但对你的前十位客户未必重要。
可以向 AI 构建工具提出的要求
把请求拆分成可以逐步测试的步骤:
- “为一家企业构建核心功能,并使用示例数据。”检查它是否真的有用。
- “添加注册与登录功能。每位新用户创建一个工作区。在服务器端,让每张表和每次查询都限定在该工作区范围内。”
- “添加角色:所有者和员工。只有所有者可以更改设置和计费。”
- “通过 Stripe 添加订阅,提供两个套餐和一个试用期。根据经过验证的 Stripe Webhook 来授予和撤销访问权限,而不是依据结账后的跳转页面。”
- “添加一个只有我能打开的管理页面,用来查找工作区及其套餐。”
完成第 2 步之后,用两个账户尝试从一个账户访问另一个账户的数据。每次做出重大改动后都要重复测试。关于第 4 步的详细做法,可参阅为应用添加付款功能指南。
在 Mythex 上构建 SaaS MVP
Mythex 可以根据聊天中的描述,为 SaaS MVP 构建产品、营销页面和数据库,并发布到公开网址。你的应用用户的登录,以及客户的付款,都需要自行配置:你可以选择身份验证方案,并使用自己的 Stripe 账户和密钥,密钥保存为项目机密。文档中有一份分步的 SaaS MVP 用例,附带起始提示词;AI SaaS 构建器页面则提供了可以用来参考的示例。套餐与价格请见定价页面。
常见问题
SaaS 是什么的缩写?
SaaS 是 software as a service 的缩写,即“软件即服务”。客户不必购买和安装程序,而是通过互联网使用,通常在浏览器中进行,并按周期订阅付费;服务商负责运行、更新和备份。
SaaS 有哪些例子?
常见的例子包括 Google Workspace 和 Microsoft 365 等邮件与文档套件、Slack 之类的团队聊天工具、HubSpot 之类的 CRM、会计工具和项目管理工具。一个面向某个细分市场、按订阅出售的小型预约或开票工具,同样也是 SaaS。
SaaS 和普通应用有什么区别?
区别主要在于交付方式和销售方式。SaaS 产品由一套正在运行的系统服务许多客户,把每位客户的数据分开存放,并按周期收费。专为某一家企业开发的一次性应用,或一次买断的下载程序,都不属于 SaaS。
我可以不写代码就做一个 SaaS 产品吗?
你可以用 AI 应用构建工具做出第一个版本:产品本身、账户、数据库,以及通过 Stripe 等服务商完成的订阅付款。不过,你仍然需要仔细设计各客户之间的数据隔离,并在向任何人收费之前进行测试。