backstage 이해 - Software Catalog #17
seowjin1060
started this conversation in
Study
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Software Catalog란
https://backstage.spotify.com/learn/backstage-for-all/software-catalog/4-modeling/
하나의 서비스는 여러 도메인들로 정의될 수 있고, 이 도메인은 여러개의 시스템을 가지며,
시스템은 DB, Network , VM등의 리소스 혹은 의존성을 가진 다른 컴포넌트(소프트웨어)를 요구함.
Software catalog는 이러한 관점으로 접근하여 서비스의 구성들에 대한 모든 관계를 추적 / 제공하는 플러그인
Software Catalog 구성
위의 관계도에 따라 하나의 Software Catalog는 아래의 서비스구성들에 대한 관계를 명시함
도메인 : 비즈니스(서비스)의 일부로 아래 구성들을 1:N 관계로 엮은것
시스템 : 특정 기능을 수행하는 리소스와 컴포넌트, API들의 결합
리소스 : 컴포넌트를 실행시키기 위한 물리적, 혹은 가상화된 인프라
컴포넌트: 서비스에 요구되는 기능을 수행하는 독립적인 소프트웨어
API : 컴포넌트간 통신을 위한 API들 컴포넌트들을 구별하는 단위로도 생각 가능
k8s와 유사하게 Software Catalog는 이러한 구성간의 의존성들이 정의된 YAML 파일을 integration으로 정의된 repo에서 가져오게 됨
이를 통해 yaml에 정의된 컴포넌트와 리소스를 단계별로 로딩 / 체크하며. 각각의 단계에 대한 상태는 backstage core에서 추적을 지원하는등 정의된 관계 요소들에 대해 통합 관리를 제공

서비스를 개발하는데 필요한 모든것을 정의하는 인터페이스가 backstage의 역할인만큼
서비스 카탈로그를 정의한다는건 하나의 SW에 대한 필요한 모든 리소스와 연관 컴포넌트를 담은 Yaml 파일을 정의하는 과정이 됨
이 정의에 필요한 리소스, 혹은 컴포넌트를 제어하는 plugin을 Backstage가 미지원할 경우 개발이 필요해짐
Beta Was this translation helpful? Give feedback.
All reactions