本指南面向正在规划新SaaS产品或拯救已超出初始架构的产品的创始人、产品负责人和技术总监。文章按照您实际遇到的顺序,解释哪些决策早期成本低廉、事后更改代价高昂,包括AI功能如何融入多租户产品。实际案例为Printcart——由Netbase JSC设计、构建并运营的Web to Print SaaS,是其业务部门之一。
本指南内容
- 每个SaaS平台的两个层面
- 选择租户模型
- 计费、用量计量与权益
- 云成本与单位经济模型
- 多租户产品中的AI功能
- 从首次发布即建立安全体系
- 从MVP到规模化:阶段与时间线
- 构建或复用基础
- 实际案例:Printcart
- 架构决策检查清单
- 常见错误
- 本指南的局限性
- 常见问题
- 本指南的制作过程
- 下一步
每个SaaS平台的两个层面
SaaS产品由两个系统共同构成。应用平面是客户付费使用的部分:您的功能、工作流程和数据。控制平面是使其成为服务的部分:注册与入驻、租户配置、身份认证、角色、套餐、计费、用量计量、管理工具和运营监控。
忽视这一区分的团队会在无意间逐步构建控制平面,每次走捷径都付出代价,等到第一百个客户到来时才感受到代价的沉重。有意设计控制平面的团队则能随时调整定价、无需工程师即可完成客户入驻,并清楚知道每个租户的成本。
| 控制平面能力 | 作用 | 缺失代价 |
|---|---|---|
| 入驻与配置 | 在单一流程中创建租户、其设置及首批用户 | 工程师需手动完成每位新客户的配置 |
| 身份认证与角色 | 验证用户身份,并在每次请求中携带租户上下文 | 访问规则散布于代码各处,且存在租户间数据泄漏风险 |
| 套餐与权益 | 决定每个租户拥有哪些功能和限制 | 定价变更需要发布代码 |
| 用量计量 | 按租户和功能记录使用量 | 无法按用量定价,也无法查看每个客户的成本 |
| 计费 | 收费、续费、升级、抵扣与开票 | 财务在电子表格中手动对账订阅 |
| 管理控制台 | 让员工管理租户、套餐和支持事务 | 支持请求变成直接编辑数据库 |
| 租户感知监控 | 按租户显示错误、延迟和负载 | 某个高噪音客户拖慢所有人,却无人知晓是谁 |
| AI用量与限制管控 | 按租户计量模型调用次数,施加限制并记录AI的输入输出 | AI成本无法归因,也无法追溯向客户告知了什么 |
AWS SaaS Lens从另一个角度表达了同样的观点:即使租户拥有专属资源,SaaS环境仍依赖共享的身份认证、入驻和运营体系。这个共享层,正是SaaS产品与为每个客户单独托管一套软件的本质区别。
选择租户模型
租户模型是SaaS中最关键的架构决策,因为它同时影响成本、隔离性、合规性和运营。AWS描述了三种模式:
| 模式 | 含义 | 优势 | 取舍 |
|---|---|---|---|
| 孤岛式(Silo) | 每个租户拥有专属资源,如独立数据库或独立技术栈 | 强隔离性、可按租户调优、数据存储合规更简单 | 每租户成本更高,需维护更多部署 |
| 池化式(Pool) | 租户共享资源,如一个数据库中每行带有租户键 | 规模经济、单一部署、快速入驻 | 隔离须在代码和数据访问层强制执行;存在噪音邻居问题 |
| 混合式(Bridge) | 混合模式:部分服务孤岛化,部分池化 | 每个服务可采用最适合其数据和负载的模式 | 设计工作量更大,需同时运营两种模式 |
对大多数新产品而言,以池化核心为起点、同时保留对特定租户或服务进行孤岛化的选项,是务实的做法。这样既能降低MVP的运营成本,又为需要专属数据存储的企业客户预留了路径。我们的多租户SaaS架构指南对隔离、计费和规模化有更深入的探讨。
无论选择哪种模式,以下三项实践始终适用:
- 在所有地方携带租户上下文。每一个请求、任务、日志行和指标都应知道自己属于哪个租户,且这一信息来自经过认证的身份,而非客户端可以更改的值。
- 在应用层以下强制隔离。使用数据库策略、范围限定的凭证或按租户的密钥,确保某条查询中遗漏的过滤条件不会暴露另一个租户的数据。
- 提前规划噪音邻居问题。速率限制、按租户配额和后台任务公平调度,可防止一个高负载租户拖慢其余所有人。
计费、用量计量与权益
定价是频繁变化的产品决策,因此架构应允许业务方在无需工程师介入的情况下进行调整。
- 将权益与套餐分离。代码应询问 "此租户是否有权使用功能X,且上限为Y?",而非 "此租户是否在Pro套餐?"。套餐随后成为映射到权益的配置项。
- 从首次发布即开始计量。按租户和功能记录使用事件,即使初始定价是统一订阅制。使用数据能指导后续定价,并揭示服务每个租户的成本。
- 使用支付服务商处理银行卡数据。让服务商负责银行卡采集、令牌化和周期性扣款,将卡数据隔离在自有系统之外。
- 设计完整生命周期,而不仅仅是扣款环节。试用期、升级、降级、按比例计费、付款失败、宽限期、取消和数据保留,都需要在上线前定义明确的行为。
- 为财务提供视图。营收、流失率和付款失败报告应属于管理控制台,而非手动导出。
云成本与单位经济模型
在SaaS中,云成本是商品销售成本的组成部分。问题不仅是 "平台成本是多少?",更是 "每个租户的成本是多少,其定价能否覆盖这一成本?"。
FinOps Foundation将FinOps定义为一种运营框架和文化实践,通过工程、财务与业务团队的协作,最大化技术的商业价值并建立财务问责机制。对于SaaS产品,这体现为以下几项具体习惯:
-
为所有资源打标签
按环境、服务进行标注,对于池化资源则按租户使用量分配
-
了解每租户成本
将计量数据与云账单结合,估算每租户和每套餐的成本
-
架构匹配负载
对峰值负载使用自动扩缩容和托管服务;对稳定负载使用预留容量
-
每月复盘
工程和财务查看同一份成本报告并共同确定行动
-
定价时考虑成本
高用量套餐需设置限额或按用量收费以覆盖成本
云服务商的选择不如这些习惯重要。Netbase与AWS、Google Cloud、DigitalOcean和Cloudflare合作,产品运行于客户选择的云账号中;不声明任何云合作伙伴等级。小型产品可从更简单的基础设施起步,在负载、合规或区域需求有所要求时迁移至更大的服务商,前提是应用具备良好的可移植性。我们的SaaS云成本控制指南将这些习惯转化为可落地的管控措施。
多租户产品中的AI功能
客户如今期望SaaS产品能在其付费使用的工作流程内完成摘要、搜索、起草和问答。这些功能触及上述所有决策:它们读取租户数据、每次调用产生费用,并可能泄露或捏造信息。应将其设计到平台中,而非事后附加到某个界面上。
- 租户范围的检索。搜索文档的助手必须仅查询当前租户的数据,且仅限于该用户有权查看的内容。在应用层以下维护独立索引或强制执行租户过滤条件,与数据库的处理方式完全相同。
- 默认不进行跨租户学习。不要用一个客户的数据微调共享模型,也不要允许模型服务商用其进行训练。在学习用量数据能带来价值的地方,提供租户级的选择加入机制,并将其写入条款。
- 按租户计量模型成本。按租户和功能计量模型调用次数和令牌数,将其映射到权益,并设置上限。AI往往是第一个让单个高负载租户侵蚀套餐利润空间的功能,因此应将其作为附加项、按用量收费或设置限额来定价。
- 通过接口抽象模型选择。将模型调用封装在自有服务层后,以便随着价格和质量的变化按功能切换模型或服务商,同时满足需要特定区域或私有部署的企业租户。
- 评估与人工控制。在每次发布前对AI输出进行固定评估集测试,向用户标注AI生成内容的位置,并要求人工确认涉及数据或资金变更的操作。
Netbase按产品选择模型构建这些功能,不绑定单一AI厂商;AI与数据服务涵盖更广泛的相关工作。
从首次发布即建立安全体系
租户隔离本质上是访问控制问题,而访问控制正是Web应用程序最常出现漏洞的地方:OWASP Top 10:2025将访问控制失效列为首位。对于SaaS产品,一处遗漏的租户检查就可能将某个客户的数据暴露给另一个客户,这对许多初创产品而言是致命的。
从首次发布即构建以下内容:
- 每个端点和后台任务上的租户范围授权,并配有尝试读取其他租户数据的自动化测试。
- 强身份认证,管理员启用多因素认证,有需求的企业客户支持单点登录。
- 传输和静态数据的加密,密钥在应用代码之外管理。
- 安全交付:代码审查、依赖项扫描,以及部署内容和位置的记录。
- 能够回答 "谁访问了此租户的数据,以及何时访问?" 的日志与告警。
- 经过还原测试(而非仅运行备份任务)验证的备份与恢复。
- 将AI输入视为不可信,确保文档或提示词无法指示助手透露其他租户的数据或跳过审批。
我们的SaaS安全检查清单将此列表整理为十个领域,每个领域都附有需要保存的证据。
Netbase的交付遵循以下实践:安全代码审查和版本控制、传输层TLS加密和静态数据AES加密、基于角色的访问控制、管理后台MFA、漏洞扫描和渗透测试,以及灾难恢复规划,NDA、DPA和SLA可按需提供。Netbase持有信息安全管理ISO 27001认证和SOC 2 Type II证明。这些覆盖Netbase自身的工作方式;您的产品和托管环境仍需要各自的管控措施、证据,以及在客户有要求时进行各自的审计。
从MVP到规模化:阶段与时间线
规模化是一系列不同问题的序列,而非一个不断增长的单一问题。每个阶段都应在进入下一阶段前验证某些假设。
| 阶段 | 需要验证的内容 | 典型周期 | 架构重点 |
|---|---|---|---|
| MVP | 客户会使用并为核心功能付费 | 8至12周 | 一个核心工作流、控制平面基础、池化租户、计量钩子 |
| 中期产品 | 产品留住客户且模式可扩展 | 3至6个月 | 自助入驻、计费生命周期、集成、租户感知监控 |
| 企业平台 | 大型客户能在其规则下采用 | 6至12个月或更长 | SSO、审计日志、孤岛化选项、数据驻留、高容量下的性能 |
这些是Netbase的典型范围,并非报价。工作流数量、集成需求、合规要求以及产品决策的成熟度,决定了一个项目的实际位置。MVP要控制在8至12周内,前提是范围严格约束:一个核心功能,做好,并建立控制平面基础。我们的SaaS MVP架构指南深入介绍了该范围和早期决策。
哪些内容属于MVP,哪些可以推迟:
-
MVP中包含:
注册、租户配置、角色、核心工作流、通过支付服务商的简单套餐、使用事件、基础管理和备份。
-
上线后不久:
自助套餐变更、客户最常请求的集成、产品内分析、租户感知仪表板,以及首个服务于核心功能的计量AI功能。
-
当企业客户到来时:
单点登录、审计日志、专属数据选项、合同级服务水平。
构建或复用基础
控制平面在各产品间看起来相似,这使其成为最适合复用的候选对象。复用产品化模块可将开发时间缩短最多60%;节省幅度取决于模块覆盖产品的比例,且仅适用于模块复用,不适用于整个产品。您的领域功能仍需为您单独设计和构建。如果产品是一个电商平台而非多租户服务,定制电商平台指南是更合适的起点。
复用在以下情况下有意义:
- 模块涵盖账户、租户、角色、计费、管理和集成,且不强迫产品迁就其形态;
- 您保留为您的产品创建的代码的所有权,且复用模块的许可条款清晰;
- 模块已在生产环境中运行,而非仅在演示中展示。
Netbase将这一方法封装为SaaS产品加速器,并通过Web应用开发以敏捷冲刺、每周评审、API优先、从首次发布即内置安全的方式构建产品功能。从MVP到规模化的完整产品,通过SaaS开发服务交付。
实际案例:Printcart
Printcart是由Netbase JSC设计、构建并运营的Web to Print SaaS。它是Netbase五个业务部门之一,与CMSmart、Cloodo、Poslor和Storelly并列。其公开产品网站描述了其功能:面向客户个性化定制的在线设计工作室、每个订单返回可打印文件、带发票和实时状态的印刷订单管理、适用于Shopify、Wix和WooCommerce的应用、带Webhook的REST API、多店铺和多供应商运营,以及印刷任务履约API。Printcart可在商家自有店铺上运行,也可作为Shopify、Wix和WooCommerce应用使用,约7天即可完成设置,服务于2000+家店铺。
将本指南中的决策映射到该产品上,可以清楚地看到每项决策的重要性:
-
控制平面与应用平面
商家账户、店铺和订单是共享服务;设计工作室和印刷文件生成是产品本身
-
租户模型
一个平台服务多个商家,每个商家拥有各自的店铺连接、商品目录和订单
-
集成路径
托管店铺通过应用连接;自定义店面通过REST API和Webhook连接
-
事件
Webhook通知订单创建、印刷文件生成和履约状态,以便关联系统响应
-
运营
Netbase负责版本发布、集成、商家支持和正常运行时间,而不仅仅是首次上线
对其他产品的启示在于集成选择。Printcart通过店铺应用在商家已有的销售渠道上与其相遇,同时通过API服务于自定义构建。许多B2B SaaS产品都需要同样的两条路径:面向主流平台的打包连接器,以及面向其他所有人的API。
Printcart案例记录涵盖其范围、技术栈和运营情况;未公布任何性能指标。关于行业背景,请参阅印刷与包装;关于印刷侧架构和自建或采购的选择,请参阅Web to Print平台指南。
架构决策检查清单
在架构阶段(首次冲刺之前)使用以下问题。每个问题都有负责人和书面答案。
| 问题 | 重要原因 | 由谁回答 |
|---|---|---|
| MVP必须验证的唯一核心功能是什么? | 范围纪律决定MVP是否符合典型的8至12周要求 | 产品负责人 |
| 每个服务采用哪种租户模型,为什么? | 租户模型将影响成本、隔离性和合规性长达数年 | 解决方案架构师 |
| 租户上下文在哪里设置,如何在数据访问层强制执行? | 单个遗漏的检查就可能将一个租户的数据暴露给另一个 | 解决方案架构师和安全负责人 |
| 每个套餐赋予哪些权益和限制? | 套餐即配置,可在无需发布的情况下调整定价 | 产品负责人和财务 |
| 从第一天起计量哪些使用事件? | 使用历史是后续定价和成本分析的基础 | 产品负责人和工程负责人 |
| 如何估算和复盘每租户成本? | 单位经济模型决定增长带来的是利润还是亏损 | 工程负责人和财务 |
| 首批客户需要哪些集成,通过哪条路径? | 连接器和API往往是促成首批销售的关键 | 产品负责人 |
| 备份如何还原,还原需要多长时间? | 恢复能力只有在经过测试后才是真实的 | 运营负责人 |
| AI功能如何按租户界定范围、计量和评估? | AI每次调用都会产生成本,且引入了数据泄漏的新路径 | 解决方案架构师和产品负责人 |
如果某个问题没有负责人,那它是风险,而非决策。将答案写入架构记录,并在每次阶段变更时重新审视,因为MVP阶段的正确答案往往是企业平台阶段的错误答案。
常见错误
- 在多租户产品中采用单租户捷径。硬编码的客户设置和未限定范围的查询,第二周代价低廉,第二年代价高昂。
- 将定价写入代码。如果套餐变更需要发布,销售和产品团队将在每次实验时都等待工程师。
- 直到需要按用量定价才开始计量。到那时,已没有历史数据可用于设计定价方案。
- 将安全视为上线任务。最后才添加的租户隔离难以证明且容易遗漏。
- 在客户留存之前追求规模化。在客户尚未留下来之前就投入企业功能,是在错误阶段的消耗。
- 所有租户共用一个AI索引。没有强制租户过滤条件的共享检索索引,会将有用的助手变成数据泄漏渠道。
- 忽视每租户成本。对高用量用户亏损的套餐,随着成功而增长其亏损。
本指南的局限性
本文是基于Netbase交付经验的实践指导,而非原创研究或基准测试。租户模型、FinOps和安全参考描述的是通用框架;其适用方式取决于您的产品、市场和法规。时间线是典型范围,取决于范围大小;最多60%的复用数字是与模块复用相关的上限。AI模型定价和能力变化迅速;AI章节提供的是设计原则,而非成本数字。Printcart案例描述了公开声明的功能和数据;本指南不披露其内部实现。Netbase自身的认证不延伸至客户的产品或托管环境。
常见问题
通常需要8至12周,前提是范围限定为一个核心工作流加上控制平面基础。更多的工作流或集成会延长时间。
大多数产品从池化开始,在应用层以下强制执行隔离,并在合规或负载需要时对特定租户或服务进行孤岛化。
从首次发布即开始计量用量,然后在数据表明用量与价值和成本的关系后,再引入按用量收费。
在应用层以下将检索和提示词的范围限定于经过认证的租户,保持索引独立或通过强制策略进行过滤,并像测试数据库隔离一样进行测试:尝试读取另一个租户的数据并预期失败。
根据团队技能、客户所在区域和合规需求进行选择。构建具备可移植性的应用,并无论使用哪个服务商都追踪每租户成本。
本指南的制作过程
Netbase编辑团队根据Netbase发布的SaaS、安全和模块库页面、Printcart产品网站,以及来自AWS、FinOps Foundation和OWASP的公开框架撰写了本指南,David(CEO)审核了每一项Netbase相关事实。外部来源均附有访问日期。起草使用了AI辅助工具(Claude);每一个Netbase数字均可追溯至经过核实的公司记录。本指南的目的是帮助产品团队在SaaS早期决策变得难以更改之前,有意识地做出这些决策。
下一步
如果您正在规划SaaS产品或对其进行改造,请分享您的产品构想、目标客户和现有架构,我们将预约解决方案评审,为您规划租户模型、计费和交付方案。您也可以查看相关服务,或阅读更多Netbase洞察。
相关服务与解决方案
AI内置的Web应用开发,助力转化提升
Netbase为产品与电商团队提供Web应用开发服务,交付快速、可维护的Web应用及店面前端,并在可量化提升效果的场景中集成AI搜索、助手与自动化。印刷电商客户的成果印证了其价值:PrintLeo的页面加载速度提升35%,4over4在Netbase优化用户下单旅程后,转化率提升48%。
Learn More
SaaS产品加速器:基于Netbase成熟模块,快速构建AI就绪的SaaS产品
SaaS产品加速器是Netbase提供的一套可复用模块,涵盖账户、计费、权限与集成,帮助创始人和产品团队更快推出订阅制软件,并从首个版本起支持产品内AI功能。模块复用最多可缩短60%的开发时间,该方案已在Netbase自有的网络印刷SaaS产品Printcart上得到验证。
Learn More
与 Netbase 远程合作
Netbase 所有项目均远程交付,任何国家、任何行业的客户均可与我们合作;Netbase 已服务全球 80 个国家的客户。合同与发票由 Netbase JSC 开具,款项通过银行转账至 Netbase JSC 公司账户或 PayPal Business 支付。欢迎通过 WhatsApp 或邮件联系 CEO Huy Nguyen(David)。
讨论项目
Netbase JSC 帮助企业设计、构建、现代化和运营数字产品及 AI 驱动的业务系统。project@netbasejsc.com
+84 937 869 689
91 Nguyen Chi Thanh, Dong Da, Hanoi, Vietnam
取得联系
告诉我们您想构建、现代化或运营什么。