backstage~Backstage的概述
Backstage是一个用于构建开发者门户的开放平台。在集中式软件目录的支持下,Backstage 可以恢复微服务和基础设施的秩序,并使您的产品团队能够快速交付高质量的代码,而不会影响自主权。
Backstage 统一了所有基础设施工具、服务和文档,以创建端到端的流线型开发环境。

开箱即用的 Backstage 包括:
- Backstage 软件目录 用于管理所有软件,例如微服务、类库、数据管道、网站和机器学习模型
- Backstage 软件模板 用于快速启动新项目,并根据组织的最佳实践实现工具标准化
- Backstage 技术文档 采用 "像编写代码一样编写文档 "的方法,轻松创建、维护、查找和使用技术文档
- 此外,开源插件 生态系统不断发展壮大,进一步扩展了 Backstage 的可定制性和功能性
Backstage 由 Spotify 创建,但现在由 云原生计算基金会 (CNCF) 作为孵化级项目托管。更多信息请参见公告。
以下是backstage中几个核心概念及其关系:
核心概念
API
在Backstage中,API代表一个可重用的接口定义,通常用于描述服务之间的契约(如REST API、gRPC服务)。API实体可以独立于组件存在,并被多个组件消费或实现。
Component
组件是Backstage管理的核心实体,代表一个独立的软件单元,例如微服务、前端应用、库、数据库或基础设施资源。每个组件都有对应的元数据(所有者、生命周期状态、文档等)。
Group
组代表组织内的团队或部门,用于权限管理、资源归属和协作。组件、系统等实体通常归属于特定的组,组内包含多个用户。
Location
它是单独的文件,在这个文件里用来指定catelog.yaml文件的位置,它不能和api,component写在一起
位置是指向Backstage实体定义文件(通常是YAML)的引用,例如Git仓库中的文件路径。Backstage通过扫描位置来动态注册和更新组件、API、系统等实体。
System
系统是一组相关组件的逻辑集合,代表一个完整的软件产品或业务能力。例如,一个电商平台可能由订单系统、支付系统、商品系统等组成,每个系统包含多个组件。
User
用户是使用Backstage的个体,可以是开发者、运维人员、产品经理等。用户通过Backstage访问资源、执行操作,并通常归属于一个或多个组。
概念关系
| 关系 | 说明 |
|---|---|
| 组件属于系统 | 一个系统包含多个组件,组件是系统的组成部分 |
| 组件暴露/消费API | 组件可以实现或依赖API,API作为组件间的契约 |
| 实体归属于组 | 组件、系统、API等实体都有owner字段指向所属的组 |
| 用户属于组 | 用户通过组成员身份获得对所属组资源的访问权限 |
| 位置注册实体 | 位置文件定义了组件、API、系统等实体的元数据,Backstage通过位置发现并注册它们 |
| 组管理用户和资源 | 组作为组织单元,既包含用户成员,也拥有相关的组件和系统 |
工作流程示例
- 开发者在Git仓库中创建组件YAML文件(位置)
- Backstage扫描该位置并注册组件实体
- 组件被关联到相应的系统和组
- 组内用户通过Backstage查看组件详情、文档、API等
- 组件生命周期(开发、测试、部署)通过Backstage插件管理
这些概念共同构成了Backstage的实体模型,实现了软件目录、技术文档、API管理和开发人员协作的统一平台。
浙公网安备 33010602011771号