爱意满满的作品展示区。
Asimov01

一个人做 SaaS 产品之后,我对架构复杂度的一些真实感受,分享给大家

  •  2
     
  •   Asimov01 ·
    aizhimou · 1 day ago · 2836 views

    我这几个月一直在独立做一个 SaaS ,叫 PigeonPod Cloud,主要是把 YouTube 频道和播放列表转换成私人播客 RSS 的 SaaS 。用户订阅内容源以后,系统会自动同步新内容、下载媒体文件,并通过私人 RSS 提供给播客客户端。

    产品上线 3 个多月,我一个人在开发,维护过程里,真切的感受到了不少和之前在公司里做项目很不一样的点。写了一篇简单的文章把这些感受和经验分享给兄弟们,希望能给也在做或者想做个人产品的朋友一些启发,也欢迎一起交流讨论。

    这个产品目前还很早期,但已经有一些真实用户

    • 约 1300 名注册用户
    • 累计完成约 61000+ 个下载任务(视频和音频都有)
    • 每天完成 16000+ 多次订阅源同步

    做这个产品以后,我越来越觉得,架构设计的核心问题不是“怎么设计得更完整”,而是“哪些复杂度值得承担”。对于一个人维护的 SaaS ,每一个组件、每一个服务、每一个模块,最后都会变成维护责任。它们需要部署、监控、升级、排错,也需要在业务变化时继续修改。

    维护成本会在产品功能基本完成上线后,迅速超过开发成本。 文章里写了三个例子。

    第一个例子是后端边界。

    我把 API 服务和下载 worker 拆成了独立运行单元。因为下载任务会消耗大量网络、CPU 、内存和本地存储,也容易受到外部平台限流影响。如果它和 API 服务跑在一起,后台任务的波动就可能影响用户请求。

    但是,我没有继续把系统拆成微服务。当前阶段,共享数据库和进程内调用的成本更低,排错路径也更短。对我来说,这比“架构看起来更标准”重要。

    第二个例子是删功能。

    PigeonPod Cloud 早期做过一个站内内容消费模块,包括播放队列、收藏、云端播放进度等功能。这个模块已经上线,也做得很完整了。

    后来我通过数据发现,实际使用率很低。它的基础设施成本接近零,但维护成本不是零。只要这个模块还在,未来每次改数据模型、改播放器、迁移前端状态,都要继续考虑它。最后我把它删掉了。这个变更涉及 94 个文件,删除约 5700 行代码和 6 张表。

    这件事给我的教训是:已经写完的代码不是资产,只有继续产生价值的代码才是资产。这一点在 AI Agent 写代码越来越快的时代,我认为尤其重要,保持专注会成为未来构建产品的核心能力之一。我会专门再写一篇文章来讨论这个事情。

    第三个例子是云服务账单。

    早期 SaaS 的固定成本很重要。账单越高,产品可以继续试错的时间就越短。

    所以我把核心用户路径放在云服务上,把 Loki 、Grafana 、Plausible 、JobRunr dashboard 和分析库放在家庭服务器上(一个几年前买的 mini 小主机)。它们短暂离线不会影响用户使用,但可以明显降低固定成本。

    这不是通用建议,只是当前约束下的选择。等产品规模、收入情况变化以后,答案可能也会变化。

    我越来越觉得,架构成熟度不是能够在项目开始时就能设计出完整的架构,更不是使用了多少时髦的技术,而是知道什么适合自己的项目,为什么引入某项复杂度,它解决什么问题,以及什么时候应该停止为它付费。

    文章原文在这里:复杂度从来不是免费的:一个独立开发者的 SaaS 架构取舍

    欢迎兄弟们交流讨论。

    20 replies    2026-07-21 09:24:30 +08:00
    YAFEIML
        1
    YAFEIML  
       1 day ago
    讲的真不错,全干货。
    佬的用户应该是老美多点,支付怎么解决的?注册境外公司吗?
    Asimov01
        2
    Asimov01  
    OP
       1 day ago
    @YAFEIML 谢谢兄弟肯定。我人在境外,所以直接用的 stripe ,反而是境内的支付比较麻烦,不过就像你说的,用户以欧美居多。
    YAFEIML
        3
    YAFEIML  
       1 day ago
    @Asimov01 肉出羡慕了,在 us 吗?
    Asimov01
        4
    Asimov01  
    OP
       1 day ago
    @YAFEIML US 太贵待不起 😂 在 NZ
    YAFEIML
        5
    YAFEIML  
       1 day ago   ❤️ 1
    @Asimov01 #4 那更舒服了
    IanHo
        6
    IanHo  
       1 day ago
    感谢分享,想了解产品的曝光和推广是怎么起步的?如果方便的话。😂
    Asimov01
        7
    Asimov01  
    OP
       1 day ago   ❤️ 3
    @IanHo 方便的,大体上也还是 SEO ,GEO ,社区推广这些老生常谈的路径,一两句话讲不清楚,如果大家有兴趣,我再专门写一篇讲这个。
    Pythoner666666
        8
    Pythoner666666  
       1 day ago
    同样在做 saas ,不过我是在国内 ,你说的那些我深有体会。
    Asimov01
        9
    Asimov01  
    OP
       1 day ago   ❤️ 1
    @Pythoner666666 对,这些经验之前或多或少都看过听过,但是真正的感受和教训,只有在亲自实践和反思之后,才能学到。共勉。
    chnwine
        10
    chnwine  
       1 day ago   ❤️ 1
    我做 B 端的 TMS SaaS, 学到的经验跟你差不多不是“做一个有价值的事情”, 要做一个“客户愿意买单的事情”
    WayneCmd
        11
    WayneCmd  
       1 day ago
    非常有帮助,感谢。我的架构/产品设计思想基本上是早期的苹果,从简为主,如果没有想清楚这个按钮/API 按下去有什么作用或未来最终形态是什么,就不提供该功能。功能和功能之间相互连接才会提供更多价值。

    另外想问问,原文的架构图是用什么画的,很漂亮。
    IanHo
        12
    IanHo  
       1 day ago
    @Asimov01 #7 好的好的,静候佳音,我感觉这块大家应该也蛮感兴趣的哈👍🎉
    Asimov01
        13
    Asimov01  
    OP
       1 day ago   ❤️ 1
    @WayneCmd 架构图是用这个 skill https://github.com/tt-a1i/archify 出的,效果蛮好的,基本 one shot 效果就不错,微调个两三次就能有很好的效果了。
    Asimov01
        14
    Asimov01  
    OP
       1 day ago   ❤️ 1
    @IanHo 我写好了回来 艾特 你来捧场,哈哈
    IanHo
        15
    IanHo  
       1 day ago
    @Asimov01 #14 必须捧场!
    0xroot
        16
    0xroot  
       1 day ago
    很强啊,看这个功能定位,存储成本、流量成本应该不低,方便透露一下成本和付费流水的大概区间吗?(或者比例也可以)


    还有就是好奇,开源了对项目的盈利模式影响大不大
    Asimov01
        17
    Asimov01  
    OP
       1 day ago
    @0xroot #16 我通过两个 oracle cloud 账户 (每个账户有 4 个 CPU 和 24G 内存的免费额度)+ 家庭服务器的混合架构,把月固定成本控制在了 20 NZD 左右(都是 S3 云存储费用)

    付费情况不方便透露,只能说比我预期低很多,正在想尽办法提高付费率。

    我个人觉得开源对付费的影响挺大的,开源版本的 docker image 已经累计有接近 90k 的下载量,这些理论上应该有不少是潜在的付费用户。
    0xroot
        18
    0xroot  
       1 day ago   ❤️ 1
    @Asimov01 感谢解答,成本比我想的低很多。

    提几个我个人看法(仅供参考):
    1.付费年付感觉让人肉疼,或许月付订阅会更合适(不用了可以取消),或许可以增加一些订阅量
    2.优先服务付费用户的功能,优质功能先给付费用户使用,延迟 3-8 个月再更新到开源版本上
    Asimov01
        19
    Asimov01  
    OP
       21h 41m ago
    @0xroot 感谢建议,都是好建议,我会好好考虑的。也祝你的产品大卖,互勉。
    yarkyaonj
        20
    yarkyaonj  
       17h 24m ago
    @YAFEIML 支付可以用 creem ,国内用户用身份证申请就可以了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1077 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 18:49 · PVG 02:49 · LAX 11:49 · JFK 14:49
    ♥ Do have faith in what you're doing.