🎸 [Backstage 入门] Spotify 打造的最佳开发者门户:Backstage 完整指南

大家好!我是崔日善,一位云安全和平台工程专家。🚀

如果说上一篇文章我们讨论了开发者门户的必要性,那么今天我们将深入探讨其具体实现:Backstage。它不仅仅是一个“安装即用的工具”,让我们一起从其哲学到结构,了解它为何被称为“框架”


📌 章节概述与学习目标 🎯

Backstage 的诞生是为了克服 Spotify 在快速发展过程中遇到的微服务管理限制。它后来被捐赠给 CNCF,现在是一个拥有强大社区的开源项目。

通过本章,我们将学习:

  • Backstage 诞生的决定性原因 💡
  • 如何将 Backstage 的核心价值与您的组织匹配 🤝
  • 将 Backstage 理解为“框架”而非“产品” 🏗️
  • 了解 Backstage 实例由哪些元素组成 🧩

1. Backstage 的诞生:Spotify 的困境 🇸🇪

Backstage 的诞生背景与当今许多成熟 IT 组织面临的问题非常相似。

📈 快速增长的副作用

Spotify 每周都会招聘新工程师,微服务的数量呈指数级增长。平台团队很快就遇到了瓶颈。因为即使是“哪个服务正在运行,负责人是谁?”这样最基本的问题也变得难以回答。

🏗️ 从 System-Z 到开源

最初,他们创建了一个名为 System-Z 的内部微服务目录。

  1. 初期:仅管理存储库链接、负责团队、PM 姓名等元数据。
  2. 演进:集成了服务间的依赖关系、API 文档和软件模板(Scaffolding)功能。
  3. 结果::文档与代码一起管理,保持了最新性,并成为工程师可以直接创建资源的自助服务平台。

Spotify 没有独占这个创新工具,而是将其捐赠给了 CNCF。现在,包括财富 500 强企业在内的数百个组织正在通过 Backstage 彻底改变他们的开发者体验。🌍


2. Backstage 的哲学:自主性与所有权 ⚖️

Backstage 不仅仅是一个工具集合页面。它融入了清晰的 DX (Developer Experience) 哲学。

🔄 信息聚合器 (Aggregator)

Backstage 并不旨在取代现有的 CI/CD 工具或 LDAP 目录。相反,它充当一个“信息枢纽”,将分散的信息汇集起来,帮助开发者避免迷失。

🛡️ 自主性与所有权 (Autonomy & Ownership)

  • 自主性:中央团队无法创建所有插件。我们鼓励分析团队管理分析插件,安全团队管理安全插件。
  • 所有权::每个软件组件都应由一个团队拥有。这样可以确保信息保持最新,并明确责任归属。

3. Backstage 是一个“框架” 🏗️

这部分最为重要。Backstage 并非一个通过单个安装文件(.exe 或 .dmg)就能完成的“成品”。

Backstage 是一个基于 React(前端)和 Node.js(后端)的库集合。换句话说,它是一个您可以根据组织需求自行“开发”和“组装”的平台。它提供了大约 25 个核心包和 150 多个开源插件,因此您可以按需选择。


4. Backstage 实例的三层模型 🧩

您将构建的 Backstage 大致分为三个层次。

  1. 核心 (Core):由 Backstage 主团队管理的开源代码。它充当系统的骨架。
  2. 应用 (App):这是您实际部署并供开发者访问的实例。通过 CLI 创建,是您根据喜好进行定制的区域。
  3. 插件 (Plugins):这些是扩展功能的单元。软件目录本身也以插件形式存在,您可以安装社区提供的各种插件,也可以自行创建。


Backstage 是云原生时代减轻开发者认知负担的最佳解决方案。如果您想降低组织的复杂性,现在就关注 Backstage 吧!🚀


Comments

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注