Backstage
개발자 포털을 구축하기 위한 오픈소스 플랫폼
개발자 포털을 구축하기 위한 오픈소스 플랫폼
Backstage는 2020년 Spotify에서 오픈소스로 공개한 개발자 포털(Internal Developer Portal, IDP) 구축 플랫폼입니다. CNCF 인큐베이팅 프로젝트로, 마이크로서비스 아키텍처에서 개발자 경험을 개선하는 핵심 도구로 자리잡았습니다.
플랫폼 엔지니어링의 핵심 컴포넌트로, 소프트웨어 카탈로그를 통해 조직 내 모든 서비스, API, 라이브러리, 인프라 리소스를 중앙에서 관리합니다. 개발자가 필요한 정보를 한 곳에서 찾을 수 있어 인지 부하를 줄여줍니다.
Software Templates 기능으로 새 프로젝트를 표준화된 방식으로 빠르게 생성할 수 있습니다. TechDocs로 문서를 코드와 함께 관리하고, 다양한 플러그인으로 CI/CD, 모니터링, 비용 관리 등을 통합합니다.
실무에서는 각 서비스 저장소에 catalog-info.yaml을 추가하여 Backstage에 자동 등록합니다. 플러그인 생태계가 활발하여 Kubernetes, ArgoCD, PagerDuty, Datadog 등 다양한 도구와 연동됩니다.
# catalog-info.yaml - 서비스 등록 파일
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: payment-service
description: 결제 처리 마이크로서비스
annotations:
github.com/project-slug: myorg/payment-service
backstage.io/techdocs-ref: dir:.
argocd/app-name: payment-service-prod
tags:
- python
- grpc
spec:
type: service
lifecycle: production
owner: team-payments
system: e-commerce-platform
dependsOn:
- component:user-service
- resource:postgres-db
providesApis:
- payment-api
시니어: "마이크로서비스가 200개 넘어가니까 어떤 팀이 뭘 담당하는지 파악이 안 돼요. Backstage 도입해서 서비스 카탈로그부터 정리하죠."
주니어: "각 팀이 직접 catalog-info.yaml 관리해야 하나요?"
시니어: "네, 코드와 함께 버전 관리되도록요. 그리고 Software Templates으로 신규 서비스 생성을 표준화할 예정입니다."
면접관: "Platform Engineering에서 Internal Developer Portal의 역할은 무엇인가요?"
지원자: "IDP는 개발자 셀프서비스를 가능하게 합니다. Backstage 같은 도구로 인프라 프로비저닝, 서비스 생성, 문서 접근을 한 곳에서 제공하면 개발자 생산성이 높아지고 플랫폼팀 티켓 부담도 줄어듭니다."
리뷰어: "catalog-info.yaml에 owner가 team-backend로 되어있는데, 실제 담당팀은 team-payments 아닌가요?"
개발자: "맞습니다. 팀 재편 후 업데이트를 놓쳤네요. 수정하고 dependsOn도 추가하겠습니다."