托管费用通常在项目完成后才出现,报价中从未包含,而且只要应用程序存在,就会每月持续产生。
应用程序第一年实际需要什么
大多数处于早期阶段的商业应用程序,实际规模都比所有者预期的小得多。一个只有几百名用户、处理普通事务的系统,用适度的资源就能顺畅运行——为尚未到来的规模预先配置资源,只会浪费本可用于开发功能的资金。
以下是各项组成部分及其用途:
- 应用服务器 — 运行代码。配置规格取决于并发用户数,而非注册用户数。
- 数据库 — 通常是对性能影响最大的组件,也是最值得优先投入资金的部分。
- 文件存储 — 用于存放用户上传内容、文档和图片。存储量会稳步增长,但单位成本很低。
- 域名和证书 — 年费不高,但证书必须自动续期,否则网站会在可预见的日期停止运行。
- 邮件发送 — 事务性邮件需要使用正规的邮件发送服务,因为从应用服务器直接发送的邮件通常会进入垃圾邮件文件夹。
- 备份 — 应与服务器分开存放,并至少测试恢复一次。
容易忽略的成本
报价通常只涵盖开发。这些费用会持续产生:
- 托管本身,按月计费。
- 备份存储,会随着数据量增长。
- 出站数据传输,对于媒体内容较多的应用程序,费用可能出乎意料。
- 邮件发送,通常按发送量计价。
- 推送通知服务,如适用。
- 应用商店开发者账号,原生应用需要按年支付费用。
- 第三方 API 订阅 — 地图、短信、AI 服务。它们往往是最大的持续性支出,而且费用波动也最大。
- 监控和错误报告,通常提供免费套餐,初期一般足够使用。
询问开发人员,了解应用在第一年以及使用量达到十倍时的预计月度运营成本,是合理的要求;他们的回答也能让你了解架构经过了多么审慎的考虑。
备份,以及容易被跳过的环节
从未进行过恢复测试的备份只是一种假设。真正重要的是恢复过程,应在上线前测试一次,并在上线后定期测试。
需要明确的三个方面:
- 频率 — 你能承受丢失多少数据。每日备份意味着最多可能损失一天的数据。
- 保留期限 — 可以恢复到多久以前的状态。这一点很重要,因为有些问题要过几周才会被发现。
- 存放位置 — 存放在同一台服务器上的备份,不算真正的备份。
监控
有两项服务值得从第一天起就配置,而且两者都有免费套餐:
在线状态监控,在网站停止响应时通知相关人员。没有它,第一个发现服务中断的人可能就是客户。
错误报告,收集应用程序错误及足够的上下文信息,以便诊断问题。没有它,大家只能说“无法正常使用”,而重现问题所花的时间可能比修复问题还多。
账号应由谁持有
这是长期影响最大、却最容易在当下被忽视的问题。
客户应拥有托管、域名和第三方服务账号,并向开发人员授予访问权限,而不是反过来。
如果账号登记在开发人员名下,更换开发人员就会变成一场谈判,而非简单的交接;如果双方关系恶化,客户甚至可能失去对自己基础设施的访问权限。即使在常见情况下,这也会带来实际问题——账单、续费通知和账号恢复邮件都会发送到客户无法访问的地方。
一开始就正确设置这些账号无需花费任何成本,之后要更改却很麻烦。尤其是域名,应始终登记在客户名下。
开发开始前需要确定的事项
- 应用程序将托管在哪里,以及使用谁的账号。
- 上线时以及使用量达到十倍时的预计月度成本。
- 备份频率、保留期限和存放位置,以及恢复测试安排。
- 应用程序宕机时通知谁,以及如何通知。
- 哪些第三方服务会产生持续性费用,以及费用如何随使用量变化。
Manboo 相关服务
- Flutter 应用开发,适用于 iOS 和 Android MVP。
- 商业软件开发,适用于 CRM、预约、库存和工作流系统。
- 管理面板开发,适用于运营仪表板和后台管理。
- AI API 集成,适用于产品已准备好加入智能搜索、聊天或自动化功能的情况。
- 申请范围评审和项目估算,适用于准备规划首个版本的情况。
