안녕하세요! 오늘은 Backstage를 도입하려는 분들이 가장 먼저 마주하게 되는 갈림길, 바로 "어떻게 프로젝트를 시작할 것인가?"에 대해 심도 있게 다뤄보겠습니다. 🚀
Backstage는 단순히 다운로드해서 설치하는 소프트웨어가 아니라, 여러분의 조직에 맞게 구축하는 프레임워크입니다. 이때 npx @backstage/create-app을 사용하는 방식과 메인 레포지토리를 Fork하는 방식 중 무엇을 선택하느냐가 향후 운영의 운명을 결정합니다. 💡

🏗️ Backstage 시작하기: 두 가지 길의 정체
1. @backstage/create-app (권장 방식) ✨
이 방식은 React의 create-react-app과 비슷합니다. 명령어를 실행하면 Backstage 프레임워크를 기반으로 한 새로운 독립적인 인스턴스를 생성해 줍니다.
2. Backstage 레포지토리 Fork (개발자 방식) 🍴
GitHub의 공식 Backstage 레포지토리를 자신의 계정으로 복제(Fork)하여 그 안에서 직접 수정하는 방식입니다.
🌟 무엇이 다른가요? 상세 비교 분석
1. 프로젝트의 목적과 구조 📂
- create-app: 여러분은 '사용자'가 됩니다. 생성된 코드는 최소한의 설정 파일과 커스터마이징 가능한 부분만 포함하고 있으며, 핵심 로직은 @backstage/로 시작하는 라이브러리 패키지 형태로 관리됩니다.
- Fork: 여러분은 Backstage의 '기여터(Contributor)'와 같은 환경에 놓입니다. 수천 개의 파일이 담긴 전체 소스 코드를 모두 가지게 되며, 프레임워크 자체를 수정하려는 목적이 강합니다.
2. 업데이트 및 유지보수 (가장 큰 차이!) 🔄
- create-app: backstage-cli versions:bump 명령어 한 번으로 최신 버전 업데이트가 가능합니다. 의존성 패키지 버전만 올리면 되므로 매우 깔끔합니다.
- Fork: 공식 레포지토리에 수천 개의 커밋이 올라올 때마다 여러분의 포크된 코드와 Merge Conflict(충돌)를 해결해야 합니다. 업데이트가 지옥이 될 수 있습니다. 🌋
3. 빌드 속도와 가벼움 ⚡
- create-app: 필요한 패키지만 가져오므로 빌드가 빠르고 프로젝트 폴더가 상대적으로 가볍습니다.
- Fork: 전체 모노레포를 빌드해야 하므로 초기 설정과 빌드 시간이 훨씬 오래 걸립니다.
🤔 어떤 상황에 무엇을 선택해야 할까요?
| 선택 기준 | @backstage/create-app 추천 | Fork 추천 |
|---|---|---|
| 일반적인 기업 도입 | ✅ 무조건 추천 | ❌ 비추천 |
| 플러그인 추가 및 설정 | ✅ 매우 쉬움 | ⚠️ 복잡함 |
| Backstage 코어 기여 | ❌ 불가 | ✅ 필수 |
| 자신만의 프레임워크 개발 | ❌ 부적합 | ✅ 적합 |
💡 왜 대부분 create-app을 써야 하나요?
대부분의 기업은 Backstage라는 '도구'를 사용하여 개발자 포털을 만드는 것이 목적이지, Backstage라는 '제품' 자체를 뜯어고치는 것이 목적이 아니기 때문입니다. create-app으로 시작해도 필요한 모든 커스터마이징(UI 변경, 플러그인 추가, API 연동 등)이 완벽하게 가능합니다. 🛠️
🛠️ create-app으로 시작하는 짧은 가이드
이 방식이 승리자라는 것을 알았으니, 어떻게 시작하는지 살짝 맛볼까요?
- 명령어 실행: 터미널에서 다음을 입력합니다.
- Bash
npx @backstage/create-app@latest- 이름 설정: 앱 이름을 정합니다 (예: my-portal).
- 데이터베이스 선택: SQLite(테스트용) 또는 PostgreSQL(운영용)을 선택합니다.
- 실행: 생성된 폴더로 이동해 yarn dev를 입력하면 끝! 🎊
🏁 결론: "도구를 사용하세요, 도구와 싸우지 마세요!"
Backstage를 Fork하는 것은 마치 자동차를 운전하고 싶은데 자동차 공장의 모든 설계도와 조립 라인을 통째로 복사해오는 것과 같습니다. 단순히 운전(개발자 포털 운영)이 목적이라면 @backstage/create-app이라는 열쇠를 받아 시동만 거는 것이 현명합니다. 🏎️
여러분의 에너지는 코드 충돌 해결이 아닌, 개발자 경험(DevEx)을 개선하는 플러그인 개발에 쏟으시길 바랍니다!
'클라우드 > Backstage' 카테고리의 다른 글
| Backstage 운영 꿀팁: 런타임에 설정 값을 즉시 변경하는 마법 (환경 변수 편) (0) | 2025.12.26 |
|---|---|
| 🏠 Backstage 프로젝트 구조 파헤치기: 브라우저용 웹 앱은 어디에 있을까? (0) | 2025.12.26 |
| Backstage 아키텍처 깊게 보기: Software Entity와 React Component의 상호작용 (0) | 2025.12.26 |
| Backstage 확장하기: 커스텀 애노테이션 정의와 예약어 충돌 방지 전략 (0) | 2025.12.26 |
| Backstage 엔티티의 정체성, kind 필드 완벽 이해하기 (Component부터 Resource까지) (0) | 2025.12.26 |