AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

Spotify 如何可视化系统架构图

  • 2022-08-07
  • 本文字数:1178 字

    阅读完需:约 4 分钟

Spotify如何可视化系统架构图

Spotify 的工程师最近分享了他们在公司内部是如何标准化架构图的。他们定义了一种叫作Spotify软件模型的标准系统模型,并采用C4模型来可视化它。这一组合创造了一种可在整个组织中使用的公共语言,有助于沟通、辅助决策,并为 Spotify 的软件开发提供支持。


Spotify 高级工程师 Renato Kalman 和工程师 Johan Wallin 解释了创建这个框架的动机:


架构图是软件设计的基本要素,也是软件开发中沟通和协作的基本工具。在 Spotify,我们拥有一个非常复杂的应用程序网络,数百个团队开发的数千个相互关联的软件系统组成了这个复杂的网络,所以我们需要一种简单的方法来可视化这些复杂的连接。从技术上说,我们可能可以用一个大型的图表来捕获所有的系统,但它会非常难以理解和查看。为了做出好的设计决策,并以可持续的方式开发我们的软件,我们需要一些可以在不同的抽象级别上观察架构的工具。


Spotify 的工程师将软件组件的元数据保存在一个软件目录中。为了支持标准的架构图,他们创建了 Spotify 系统模型,它包含了一组核心实体和抽象,Spotify 工程师可以使用这些实体和抽象来合成有关软件健康状况、所有权和依赖关系的数据。Kalman 和 Wallin 说:“我们相信,一门有关软件和资源的公共语言有助于促进沟通和协作,这对于我们这种规模的公司取得成功至关重要。”


C4 模型是一种轻量级图形符号技术,用于建模软件系统的架构,由 Simon Brown 创建。它将系统分解为容器和组件。在 Spotify,工程师们采用了 C4 模型符号及其最佳实践。不过,他们用 Spotify 系统模型取代了上下文、容器和组件的抽象层。



C4 模型,来源:https://c4model.com/


Spotify 使用Backstage存储软件目录元数据。Backstage 是一个开源平台,用于构建开发者门户网站。这个项目由 Spotify 推动,是 CNCF 的一个孵化器项目。他们利用 Backstage 的可扩展性创建了一个叫作 Architecture 的插件,这个插件可以根据存储在 Backstage 中的 Spotify 系统模型元数据生成 C4 图表。Kalman 和 Wallin 说:“在 Backstage 中存储系统模型元数据对于组件发现、理解软件组件之间的生命周期、所有权和关系,以及自动生成软件可视化图都非常有帮助。”


Spotify 系统模型由几个核心实体组成,包括表示软件组件之间边界的 API、表示单个软件块的组件,以及运行时操作组件所需的基础设施资源。


核心实体之间的关系,来源:https://engineering.atspotify.com/2022/07/software-visualization-challenge-accepted/


随着目录数量的增长,这些组件变得越来越难以理解、审查和相互关联。因此,他们引入了额外的抽象,有助于理解更广泛的软件生态系统。系统是协作执行某些功能的实体的集合,而领域是与部分业务相关的实体和系统的集合。



领域、系统与核心实体的关系,来源:https://engineering.atspotify.com/2022/07/software-visualization-challenge-accepted


原文链接

The Spotify System Model: Automated Architecture Visualization at Spotify


2022-08-07 08:006996

评论

发布
暂无评论
发现更多内容

ON1 Photo RAW MAX 2024 for Mac(RAW图像编辑器)中文激活版

Mac相关知识分享

获取闲鱼商品详情api

api开发

ON1 Effects 2024 for Mac(图像滤镜调色软件) v18.5.1.15726激活版

Mac相关知识分享

中小制造业工厂要不要上MES系统

万界星空科技

制造业 生产管理系统 mes 云mes 万界星空科技

远程控制软件怎么选?向日葵功能齐全还不限制免费使用

编程猫

论文图谱当如是:Awesome-Graphs用200篇图系统论文打个样

TuGraphAnalytics

【实战分享】从新手到专家,六大神器加速你的代码人生

敏捷调度TASKCTL

vscode jenkins Postman TASKCTL #docker

Naarak Studio DirEqual for Mac(文件夹比较工具) v5.8.5激活版

Mac相关知识分享

人工智能丨RAG 检索增强生成

测试人

软件测试

人工智能|RAG 检索增强生成

霍格沃兹测试开发学社

中国AI长卷(二):框架立基

脑极体

AI

即将揭晓:思迈特软件如何用AI Agent引领商业智能格局?

ToB行业头条

Guitar Pro for mac(吉他乐谱制作和编辑软件) v8.1.3-73版

Mac相关知识分享

fasterWhisper和MoneyPrinterPlus无缝集成

程序那些事

工具 AIGC

马斯克宣布“全球最大AI训练集群”投入使用!苹果、Mistral AI、英伟达、OpenAI加入小模型争霸赛!|AI日报

可信AI进展

人工智能

利用PDCA循环来进行持续改善

Anliven

团队管理 个人提升 迭代管理 持续优化 组织运营

为何共享集群的高可用能力被频频称赞,它的机制有何不同?

YashanDB

yashandb 崖山数据库 崖山DB

【论文解读】让我们逐步验证

合合技术团队

#科技 LLM模型

人工智能|RAG 检索增强生成

测吧(北京)科技有限公司

【IT小知识】什么是工单?什么是工单中心?

行云管家

堡垒机 工单 IT 运维 工单中心

重磅 - Github上免费大屏来啦,教你快速搭建

JEECG低代码

报表工具 大屏设计器 数据库可视化 仪表盘设计器

京东商品描述API:返回值的详细解读

技术冰糖葫芦

API Explorer API 编排 api 货币化 API 文档

IT外包服务对中小型企业的重要性

Ogcloud

IT外包 IT外包公司 IT外包服务 IT外包企业 IT外包服务商

程序员必备开发神器:领取云主机,零码创建专属AI Agent

华为云开发者联盟

人工智能 云主机 大模型 华为云开发者联盟 企业号2024年7月PK榜

企业选择IT外包服务的好处

Ogcloud

IT外包 IT外包公司 IT外包服务 IT外包企业 IT外包服务商

微店一键复制商品软件使用教程

api开发

汽车长翅膀:GPU 是如何加速深度学习模型的训练和推理过程的?

Baihai IDP

程序员 AI gpu LLM 企业号 7 月 PK 榜

ON1 NoNoise AI 2024 for Mac(AI图片降噪工具) v18.5.1.15726激活版

Mac相关知识分享

GreatSQL 构建高效 HTAP 服务架构指南(MGR)

GreatSQL

Sound Siphon for Mac(声音虹吸音频处理工具) v3.6.9激活版

Mac相关知识分享

ON1 Photo RAW 2024 for Mac(照片编辑器) v18.5.1.15726激活版

Mac相关知识分享

Spotify如何可视化系统架构图_架构_Eran Stiller_InfoQ精选文章