产品基础 · 综合

自建、购买还是接入

一句话: 只自建让你与众不同的部分;其余的——买、接入,或者干脆放弃。

简单的规则

如果这个能力正是客户选择你的理由,就自己建。如果是所有人都需要的基础设施——支付、邮件发送、身份认证、搜索——现成的服务几乎总是更好。省下的时间投到真正属于你的东西上。

「我们自己做会更便宜」这个假设忽略了维护:安全、合规、边界情况和支持,在第一版跑起来之后还会持续很多年。

买之前要确认什么

出口。如果你想离开,怎么把数据取出来,以什么格式。没有出口的供应商是长期风险。

计价模型。成本是随着你的成功线性增长,还是正好在你要扩张的时候跳一档。

边界。这个服务不做什么。大部分痛苦来自「它90%的时间能做的」和「最后那十分之一恰好是你的场景」之间的落差。

接入本身就是工作

集成不是免费的:认证、失败处理、数据模型适配、监控。为它排时间,并把每个外部服务包在自己的一层里,这样换掉它只是改一个地方。

深入一层

也要问:供应商挂了会怎样。关键路径上的外部服务需要有明确的失败行为:一个队列、一次重试、一个降级模式,或者一条清晰的提示。因为第三方慢就崩掉的系统,是没被设计过,而不是供应商让人失望。