初创公司在极度不确定的情况下运营。你不知道该产品是否会成功,但你需要推出它才能知道。 在这种情况下,后端“最佳实践”并不是最健壮或可扩展的,而是最敏捷的。
构建初创公司的后端是选择智能捷径(有意识的技术债务)的艺术,既可以提高速度,又不会让未来变得不可行。
1. 整体优先
忘记[微服务0。严肃的。 管理 10 个不同的服务、10 个部署、网络和分布式日志的开销将降低您的工作效率。
- 实践:使单个后端(单体)组织良好。它更容易测试、部署和理解。如果有一天你成为 Uber,你就会分解为[微服务1]。
2. 选择“无聊”的技术
不要使用上周在 Hacker News 上发布的 [2] 新数据库。利用团队所知道的和社区所拥有的。
- 语言:Node.js、Python、Ruby、PHP。
- 数据库:PostgreSQL 或 MySQL。 如果你在 Postgres 中遇到问题,StackOverflow 上的人在 2012 年就已经遇到了这个问题,答案就在那里。
3. 基础设施即服务 (PaaS)
无需浪费时间在 AWS EC2 上配置 Linux 服务器、防火墙和负载均衡器。 使用 Heroku、Render 或 Vercel 等平台。 它们的成本稍高一些,但你连接 GitHub 并且部署会神奇地发生。您工程师的时间比您的云账单差额还要昂贵。
4. 标准 Rest API
不要发明 API 时尚。遵循 REST 模式。 正确使用 HTTP 动词(GET、POST、PUT、DELETE)。 使用状态代码(200、404、500)。 这使得那些使用 API 的人(应用程序开发人员)以及之后维护 API 的人的生活变得更轻松。
5. 自动记录
没有人会停下来编写 PDF 文档。 使用 Swagger (OpenAPI) 等工具来读取您的代码并自动生成 API 文档页面。这避免了“嘿,登录端点又是什么?”每 5 分钟在 Slack 上一次。
结论
对于初创公司来说,代码不是资产;而是资产。这是一种成本。资产就是用户手中运行的产品。您的后端必须简单、实用且易于更改。技术完美是快速创新的敌人。
另请阅读
- [应用后端:架构、技术和最佳实践3
- [应用程序后端 - 扩展的良好实践4
- [GraphQL 应用程序:实施指南5
- [应用中的微服务:移动分布式架构6
- [现代 GraphQL API:模式设计、性能和有效模式7
- [应用程序中的缓存:良好实践和基础知识8
