본문 바로가기
클라우드/Backstage

🎸 [Backstage 입문] 스포티파이가 만든 최고의 개발자 포털, 백스테이지 완벽 가이드

by gasbugs 2025. 12. 21.

안녕하세요! 클라우드 보안 및 플랫폼 엔지니어링 전문가 최일선입니다. 🚀

지난 포스팅에서 개발자 포털의 필요성에 대해 논의했다면, 오늘은 그 실체라고 할 수 있는 Backstage를 집중적으로 파헤쳐 보려 합니다. 단순히 "설치해서 쓰는 도구"가 아닌, 왜 "프레임워크"로 불리는지 그 철학부터 구조까지 함께 살펴보시죠!


📌 챕터 개요 및 학습 목표 🎯

Backstage는 스포티파이(Spotify)가 급격한 성장 과정에서 겪은 마이크로서비스 관리의 한계를 극복하기 위해 탄생했습니다. 이후 CNCF에 기부되어 현재는 강력한 커뮤니티를 보유한 오픈소스 프로젝트가 되었죠.

이번 장을 통해 우리는 다음을 배웁니다:

  • Backstage가 탄생하게 된 결정적인 이유 💡
  • Backstage의 핵심 가치와 여러분의 조직을 매칭하는 방법 🤝
  • Backstage를 '제품'이 아닌 '프레임워크'로 이해하기 🏗️
  • Backstage 인스턴스가 어떤 요소들로 구성되는지 파악하기 🧩

1. Backstage의 탄생: 스포티파이의 고민 🇸🇪

Backstage의 탄생 배경은 오늘날 많은 성숙한 IT 조직이 겪는 문제와 매우 닮아 있습니다.

📈 급성장의 부작용

스포티파이는 매주 새로운 엔지니어를 채용하고, 마이크로서비스의 수는 기하급수적으로 늘어났습니다. 플랫폼 팀은 곧 한계에 부딪혔습니다. "대체 어떤 서비스가 운영 중이고, 담당자가 누구인가?"라는 아주 기본적인 질문조차 답하기 어려워졌기 때문입니다.

🏗️ System-Z에서 오픈소스로

처음에 그들은 System-Z라는 사내 마이크로서비스 카탈로그를 만들었습니다.

  1. 초기: 저장소 링크, 담당 팀, PM 이름 정도의 메타데이터만 관리했습니다.
  2. 진화: 서비스 간의 의존성, API 문서, 소프트웨어 템플릿(Scaffolding) 기능을 통합했습니다.
  3. 결과: 문서가 코드와 함께 관리되면서 최신성이 유지되었고, 엔지니어들이 리소스를 직접 생성할 수 있는 셀프 서비스의 장이 되었습니다.

스포티파이는 이 혁신적인 도구를 혼자 쓰지 않고 CNCF에 기부했습니다. 이제 포춘 500대 기업을 포함한 수백 개의 조직이 Backstage를 통해 개발자 경험을 혁신하고 있습니다. 🌍


2. Backstage의 철학: 자율성과 소유권 ⚖️

Backstage는 단순히 도구를 모아놓은 페이지가 아닙니다. 그 안에는 명확한 DX(Developer Experience) 철학이 녹아 있습니다.

🔄 정보의 집합체 (Aggregator)

Backstage는 기존의 CI/CD 도구나 LDAP 디렉토리를 대체하려고 하지 않습니다. 대신 여기저기 흩어진 정보를 한데 모아 개발자가 길을 잃지 않게 돕는 '정보의 허브' 역할을 합니다.

🛡️ 자율성과 소유권 (Autonomy & Ownership)

  • 자율성: 중앙 팀이 모든 플러그인을 만들어 줄 수는 없습니다. 분석 팀은 분석 플러그인을, 보안 팀은 보안 플러그인을 직접 관리하도록 권장합니다.
  • 소유권: 모든 소프트웨어 컴포넌트는 단 하나의 팀이 소유해야 합니다. 그래야 정보가 최신으로 유지되고 책임 소재가 명확해집니다.

3. Backstage는 '프레임워크'입니다 🏗️

이 부분이 가장 중요합니다. Backstage는 설치 파일( .exe나 .dmg) 하나로 끝나는 '완제품'이 아닙니다.

Backstage는 React(프론트엔드)와 Node.js(백엔드) 기반의 라이브러리 집합체입니다. 즉, 여러분의 조직에 맞게 직접 '개발'하고 '조립'해 나가는 플랫폼입니다. 약 25개의 코어 패키지와 150개가 넘는 오픈소스 플러그인이 제공되므로, 필요한 것만 골라 담을 수 있습니다.


4. Backstage 인스턴스의 3계층 모델 🧩

여러분이 구축하게 될 Backstage는 크게 세 가지 계층으로 나뉩니다.

  1. 코어 (Core): Backstage 메인 팀이 관리하는 오픈소스 기반 코드입니다. 시스템의 뼈대 역할을 합니다.
  2. 앱 (App): 여러분이 실제로 배포하고 개발자들이 접속하게 될 인스턴스입니다. CLI를 통해 생성하며, 여러분의 입맛에 맞게 커스터마이징하는 영역입니다.
  3. 플러그인 (Plugins): 기능을 확장하는 단위입니다. 소프트웨어 카탈로그 자체도 플러그인 형태로 존재하며, 커뮤니티에서 제공하는 다양한 플러그인을 설치하거나 직접 만들 수도 있습니다.


Backstage는 클라우드 네이티브 시대에 개발자들의 인지 부하를 줄여주는 최고의 해결책입니다. 우리 조직의 복잡성을 줄이고 싶다면, 지금 바로 Backstage에 관심을 가져보세요! 🚀