Backstage vs Archyl:两种架构文档方案的对比

如果你正在评估架构文档工具,你可能已经看过Backstage。它是开源的,由Spotify支持,拥有覆盖从CI/CD到成本管理等方方面面的插件生态系统。其中一个插件处理C4图表。

Archyl采取了相反的方式。它不是开发者门户。它不管理CI管道或服务目录。它只做一件事:使用C4模型进行架构文档——并且深入到底。

这不是一篇"哪个工具更好"的文章。它们服务于不同目的。但如果你真正需要的是架构文档,那么差异就很重要了。让我来逐一分析。

核心理念

Backstage是一个开发者门户框架。它的工作是将开发团队使用的所有工具、服务和文档统一到一个内部平台中。架构文档只是众多可用插件之一——它是更大生态系统中的一个功能。

Archyl是一个专门构建的架构文档平台。整个产品只为使用C4模型来建模、可视化、分析和演进软件架构而存在。每个功能都回馈到这个单一目的。

这种范围上的差异塑造了其他一切。

C4模型支持

Backstage

Backstage的实体模型包括Component、API、Resource、System、Domain、Group和User。这大致映射到C4的第1层和第2层——系统和容器。但这种映射是近似的,不是精确的。

Backstage的C4插件(backstage-plugin-c4-model)从现有目录实体渲染图表。它支持系统上下文和容器视图。**没有对C4第3层(组件)或第4层(代码)的原生支持。**如果你的架构建模需求深入到容器层以下,就会遇到瓶颈。

目录本身是YAML驱动的。每个实体在catalog-info.yaml文件中定义,通常与代码一起提交。这意味着架构在配置文件中定义,而不是在可视化工具中。

Archyl

Archyl原生实现了所有四个C4层级:

  • 第1层——系统上下文:系统、外部系统和人员
  • 第2层——容器:应用、服务、数据库、消息队列、缓存等
  • 第3层——组件:控制器、服务、仓储、处理器、中间件、模型
  • 第4层——代码:类、接口、函数、方法、枚举、常量

每个层级都有专用的节点类型、视觉样式和元数据。你可以从系统钻取到容器,从容器到组件,从组件到代码元素——全部在同一个交互式图表中。任何层级的元素之间的关系都是带有类型化连接的一等公民(uses、depends_on、calls、reads_from、writes_to等)。

**区别:**Backstage给你一个附加了C4视图的目录。Archyl给你一个完整的C4建模环境,可以在任何详细级别表示你的整个架构。

可视化

Backstage

C4插件从目录数据生成静态或半交互式图表。可视化取决于具体的插件实现——有的用PlantUML,有的用Structurizr,有的在浏览器中渲染。但体验基本上是只读的。你查看从YAML定义生成的图表。你不与它们交互。

没有画布操作,没有拖放定位,没有图表上的实时协作。要更改架构表示,你需要编辑YAML文件并等待目录刷新。

Archyl

Archyl提供基于React Flow构建的完全交互式画布。你可以:

  • 拖拽定位图表上的任何元素
  • 直接在画布上绘制关系
  • 通过钻入系统、容器和组件来跨C4层级导航
  • 查看队友的实时光标
  • 使用自动布局自动排列元素,或手动定位
  • 应用覆盖层来视觉分组相关元素
  • 在图表上切换明暗主题

画布是主要工作区,不是生成的产物。你在图表上做的每个更改都会即时反映。

AI驱动的发现

Backstage

Backstage没有内置的AI驱动架构发现。要填充目录,你需要为每个服务手动创建catalog-info.yaml文件,或使用从外部源(Kubernetes、GitHub等)导入的实体提供者。一些社区插件添加了AI功能,但没有原生的代码架构分析。

Archyl

Archyl包含内置AI发现,连接到你的Git仓库(GitHub、GitLab、Bitbucket、Azure DevOps、Gitea或本地仓库),读取代码库并自动生成完整的C4模型。

影响分析

Backstage

Backstage没有影响分析功能。如果你想了解弃用一个服务会破坏什么,你需要手动通过目录追踪依赖关系。没有自动化的上下游分析,没有风险评分,没有假设模拟。

Archyl

Archyl的影响雷达直接在图表上提供全面的影响分析。右键点击任何元素即可立即看到上下游依赖、风险评分、关键路径、跨项目依赖、受影响的流程以及假设模拟。

实时运营数据

Backstage的插件生态系统是其核心优势。有几乎涵盖一切的插件——CI/CD状态、监控仪表板、成本跟踪等。但这些插件在门户内各自独立的页面中,没有连接到架构视图。

Archyl的Marketplace提供将实时数据作为小部件直接显示在架构工作区的集成:CI/CD(GitHub Actions、GitLab、ArgoCD)、可观测性(Datadog、Prometheus、Sentry)、代码质量(SonarQube)和事件管理(PagerDuty)。

对比概览

能力 Backstage Archyl
API契约 目录中的API实体 完整的OpenAPI/gRPC/GraphQL契约链接到C4元素
事件通道 无原生支持 Kafka、NATS、SQS等通道链接到元素
用户流程 无原生支持 与架构元素关联的逐步流程图
架构洞察 无原生支持 AI生成的带严重性评分的建议
发布管理 无原生支持 跨环境和系统跟踪部署
全局架构 无跨项目视图 连接多个项目系统的全局视图
MCP服务器 无原生支持 Claude、Cursor等AI工具可读写架构模型
导出/导入 基于YAML的目录 JSON导出/导入实现完整项目可移植性
本地部署 自托管(必需) 云或自托管(Docker、Kubernetes、Helm)

如何选择

选择Backstage如果你需要一个统一的开发者门户,将文档、CI/CD、服务目录、成本管理和其他关注点整合到单个内部平台。架构文档是其中一部分,高级别的C4视图就够了。

选择Archyl如果架构文档是首要关注点——但你不想为此牺牲运营可见性。Archyl深入C4模型(全部4层)、交互式图表、AI驱动发现、影响分析和变更治理,同时其Marketplace集成将实时CI/CD状态、监控、代码质量和事件数据直接带到你的架构上。

两者也可以共存。Archyl处理详细的架构建模、分析和运营可见性。Backstage处理更广泛的开发者体验。

总结

Backstage是一个由插件组装的平台框架。它强大、灵活,解决了开发者体验碎片化的问题。但其架构文档能力仅限于目录驱动的C4插件能提供的——通常是第1和第2层、静态视图,没有AI,没有影响分析,没有图表上的实时协作。

Archyl是一个深入架构的专注工具。它涵盖完整的C4模型、AI发现、影响分析、变更治理、实时协作——并连接到你的CI/CD、可观测性、代码质量和事件工具,使架构扎根于运营现实。

你的架构值得超越一个目录条目。


C4模型新手?从我们的C4模型介绍开始。已经在建模?尝试AI驱动的架构发现从代码引导你的第一个项目,或探索影响雷达在做出变更前理解影响。