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通过位置发现并注册它们
组管理用户和资源 组作为组织单元,既包含用户成员,也拥有相关的组件和系统

工作流程示例

  1. 开发者在Git仓库中创建组件YAML文件(位置)
  2. Backstage扫描该位置并注册组件实体
  3. 组件被关联到相应的系统和组
  4. 组内用户通过Backstage查看组件详情、文档、API等
  5. 组件生命周期(开发、测试、部署)通过Backstage插件管理

这些概念共同构成了Backstage的实体模型,实现了软件目录、技术文档、API管理和开发人员协作的统一平台。

posted @ 2026-03-13 16:29  张占岭  阅读(2)  评论(0)    收藏  举报