1. Backstage란?
Backstage는 개발팀을 위한 내부 개발 플랫폼(Internal Developer Platform, IDP) 을
쉽게 구축할 수 있도록 도와주는 오픈소스 도구입니다.
✅ 한마디로? "개발자들이 개발 관련 정보를 한 곳에서 관리하고, 쉽게 찾고, 빠르게 배포할 수 있도록 돕는 대시보드!"
🎯 왜 Backstage가 필요할까?
개발팀이 성장하면서 다음과 같은 문제들이 발생할 수 있습니다.
- "우리 서비스 배포는 어떻게 하지?"
- "API 문서는 어디 있지?"
- "새로운 프로젝트를 만들려면 어떻게 해야 하지?"
- "배포 로그 어디서 볼 수 있지?"
이러한 혼란을 해결하고 개발 생산성을 높이는 것이 Backstage의 목표입니다.
2. Backstage의 주요 기능
1️⃣ 서비스 카탈로그 (Service Catalog)
✅ 우리 회사의 모든 서비스(백엔드, 프론트엔드, 데이터베이스 등)를 한눈에 정리할 수 있습니다.
📌 예시:
- "order-service라는 마이크로서비스가 있는데, 이게 어떤 역할을 하는지 알고 싶어!"
- Backstage에서 해당 서비스의 담당 개발자, GitHub 저장소, API 문서, 배포 상태, 모니터링 링크까지 한눈에 확인 가능!
2️⃣ 소프트웨어 템플릿 (Software Templates)
✅ 새로운 프로젝트를 자동으로 생성해 줍니다.
📌 예시:
- "새로운 백엔드 서비스(Spring Boot) 만들고 싶어!"
- Backstage에서 버튼 하나만 누르면 자동으로 GitHub 저장소 + CI/CD 설정 + 기본 코드 생성 완료!
3️⃣ API 문서 관리 (API Docs)
✅ Swagger, OpenAPI 등을 지원하여 모든 API 문서를 한 곳에서 관리할 수 있습니다.
📌 예시:
- "order-service의 API 어디 있지?" → 검색하면 바로 문서가 나옴!
4️⃣ CI/CD 모니터링 (Plugins 지원)
✅ GitHub Actions, Jenkins, GitLab CI/CD 등과 연동하여 빌드 및 배포 현황을 실시간으로 확인할 수 있습니다.
📌 예시:
- "배포가 잘 됐나? 빌드가 깨졌나?"
- Backstage에서 배포 상태를 확인하고, 실패한 경우 로그까지 바로 확인 가능!
3. Backstage 사용 예시 (Before & After)
💡 Before (Backstage 없이 프로젝트 생성 시)
- "GitHub 저장소 만들어야지..."
- "Gradle, Spring Boot, DB 설정해야지..."
- "CI/CD 설정해야지... (Jenkins 설정 필요하네...)"
- "서버 배포하려면 문서 어디 있었더라?"
📌 1~2시간 걸림 😵
🚀 After (Backstage 도입 후)
- "새 백엔드 서비스 만들기" 버튼 클릭
- 몇 가지 정보 입력 → 자동으로 GitHub + CI/CD + 기본 코드 생성
📌 5분이면 끝! 🎉
4. Backstage 설치 방법
Backstage는 Node.js와 PostgreSQL을 필요로 하며, Docker를 활용하여 쉽게 설치할 수 있습니다.
📌 필수 요구사항
- Node.js 16 이상
- Yarn 패키지 매니저
- PostgreSQL 데이터베이스
📌 Backstage 설치하기
# Backstage CLI 설치
npx @backstage/create-app@latest
# Backstage 프로젝트 디렉토리 이동
cd my-backstage-app
# 서버 실행
yarn dev
✅ 기본 실행 후 http://localhost:3000에서 Backstage UI를 확인할 수 있습니다.
📌 자세한 설치 방법은 공식 문서 참고
🔗 GitHub Backstage 프로젝트
5. Backstage는 언제 유용할까?
✅ 마이크로서비스 아키텍처를 사용하는 기업
✅ 여러 팀이 협업해야 하는 환경
✅ CI/CD, API 문서, 배포 현황을 한눈에 보고 싶을 때
✅ 개발자 온보딩을 빠르게 하고 싶을 때
6. Backstage의 확장성 (Plugins 지원)
Backstage는 플러그인을 통해 기능을 확장할 수 있습니다.
🔹 GitHub, GitLab, Bitbucket 연동
🔹 Kubernetes 배포 모니터링
🔹 Jenkins, GitHub Actions, CircleCI 연동
🔹 Prometheus, Grafana 모니터링 대시보드
📌 다양한 플러그인을 활용하면 개발 환경을 더욱 편리하게 구성할 수 있습니다.
7. 결론
Backstage는 개발팀이 협업하고, 프로젝트를 관리하고, 배포를 모니터링하는 모든 과정을
한 곳에서 해결할 수 있도록 도와주는 내부 개발 플랫폼(IDP) 입니다.
✅ "Backstage를 도입하면 개발 생산성이 2배 증가할 수 있습니다!" 🚀
🔗 Backstage GitHub 저장소: https://github.com/backstage/backstage