Arquitetura
Escalabilidade
Backend
Microsserviços
Cloud

可扩展的软件架构 - 小型团队的最佳实践

小团队(2 到 5 名开发人员)有一个超能力:快速沟通。每个人都知道其他人在做什么。

可扩展的软件架构 - 小型团队的最佳实践

小团队(2 到 5 名开发人员)有一个超能力:快速沟通。每个人都知道其他人在做什么。 这些团队的软件架构必须增强这种敏捷性,而不是造成官僚主义。

如果你的团队很小,复制谷歌的架构无异于自杀。您需要一种架构,让您能够用很少的人来交付价值。

无服务器(小团队最好的朋友)

无服务器([AWS Lambda1、Google Cloud Functions)是小型团队的权威架构。

  • 零维护:无需更新服务器,无需修补操作系统。
  • 每次使用成本:如果凌晨没有人使用,您将支付零费用。
  • 无限规模:如果有 100 万人访问,云就会增加 100 万个功能。

您的团队 100% 专注于编写函数(“保存请求”),0% 专注于保持服务器运行。

极端自动化 (CI/CD)

由于人员较少,您无法在部署之前让手动“QA”(测试人员)单击所有内容。

  • 部署管道:分支0中的每个提交都必须在通过测试后自动进入生产环境。
  • 自动化测试:编写集成测试(测试 API 工作),而不是过多关注微观单元测试。测试对用户来说重要的事情。

“Viva”文档(不言自明的代码)

小团队讨厌用 Word 编写文档(Word 会在 1 周内过时)。

  • OpenAPI (Swagger):使用从代码生成 API 文档的工具。
  • 类型提示:使用 TypeScript(如果是 JS)或 Python 类型。这作为“该函数期望接收的内容”的文档。

避免“这里发明综合症”

不要编写自己的[身份验证3]系统。不要编写自己的 CSS 框架。

  • 使用 Auth0Firebase Auth
  • 使用 Tailwind 或​​ Bootstrap
  • 使用标准库。

最具可扩展性的代码是您不必编写(并且不需要维护)的代码。

结论

小团队的架构是关于杠杆。使用云杠杆、开源杠杆和自动化杠杆,仅需 5 名工程师即可完成 50 名工程师的工作。将附带复杂性(基础设施)降至最低。

另请阅读

  • [可扩展的软件架构 - 扩展的最佳实践4
  • [可扩展的软件架构 - 初创公司的最佳实践5
  • [可扩展的软件架构:如何构建可增长的系统6
  • [应用程序中的微服务:移动分布式架构7
  • [单体 vs 微服务:选择哪种架构8
  • 【应用架构-企业最佳实践9