안녕하세요, 플랫폼 엔지니어 여러분! Backstage를 커스텀하거나 새로운 백엔드 플러그인을 만들 때 반드시 마주치게 되는 라이브러리가 있습니다. 바로 @backstage/backend-common이죠. 이 라이브러리가 제공하는 강력한 도구들을 알면 개발 시간이 절반으로 줄어든답니다. ⏱️

1. @backstage/backend-common이란? 🔍
이 패키지는 Backstage 백엔드 생태계에서 "공통 유틸리티의 보물창고"와 같습니다. 백엔드 서비스를 구축할 때 반복적으로 필요한 기능들을 표준화된 방식으로 제공하여, 개발자가 비즈니스 로직에만 집중할 수 있게 도와줍니다.
2. 주요 제공 기능 (핵심 유틸리티) 🛠️
이 라이브러리가 제공하는 대표적인 유틸리티들은 다음과 같습니다.
- 데이터베이스 연결 (Database Helpers): Knex.js를 기반으로 데이터베이스 설정을 쉽게 관리하고 마이그레이션을 실행하는 도구를 제공합니다. 🗄️
- 로깅 (Logging): Winston 라이브러리를 기반으로 한 표준화된 로깅 인터페이스를 제공하여, 모든 플러그인이 동일한 포맷으로 로그를 남길 수 있게 합니다. 📝
- 에러 처리 (Error Handling): NotFoundError, ConflictError와 같은 표준 HTTP 에러 클래스를 제공하여 일관된 API 응답을 보장합니다. ⚠️
- 토큰 및 인증 (Token Management): 서비스 간 통신 시 필요한 토큰 생성 및 검증 헬퍼를 포함합니다. 🔑
3. 통합 헬퍼 (Integration Helpers) 🤝
Backstage의 가장 큰 장점은 확장성이죠. 이 라이브러리는 외부 시스템과의 통합을 위한 강력한 기능을 포함하고 있습니다.
- UrlReader: GitHub, GitLab, Bitbucket 등 다양한 소스 코드 호스팅 서비스에서 파일을 읽어올 수 있는 통합 인터페이스를 제공합니다. 🌐
- Config Loading: app-config.yaml 파일의 설정을 안전하게 읽어오고 유효성을 검사하는 기능을 담당합니다.
- Discovery: 다른 백엔드 서비스의 위치(URL)를 동적으로 찾아주는 디스커버리 메커니즘을 지원합니다.
4. 왜 이 라이브러리를 써야 할까요? 💡
단순히 편리해서가 아닙니다. @backstage/backend-common을 사용하는 이유는 일관성(Consistency) 때문입니다.
- 표준 준수: Backstage 코어 팀이 정의한 모범 사례(Best Practice)를 그대로 따를 수 있습니다.
- 유지보수 용이성: 모든 플러그인이 동일한 공통 유틸리티를 사용하면, 시스템 업데이트나 리팩토링 시 훨씬 수월합니다.
- 검증된 안정성: 수많은 기업에서 이미 사용 중인 안정적인 코드를 그대로 가져다 쓸 수 있습니다. ✅
5. 최신 트렌드: New Backend System 🆕
최근 Backstage는 "New Backend System"으로 진화하고 있습니다. 이에 따라 @backstage/backend-common에 있던 기능들이 더 세분화된 패키지(예: @backstage/backend-plugin-api, @backstage/backend-defaults)로 이동하는 추세입니다. 하지만 여전히 기존 플러그인이나 레거시 코드에서는 이 라이브러리가 중추적인 역할을 담당하고 있습니다.
6. 마치며 🏁
Backstage 백엔드 개발은 이 공통 라이브러리를 얼마나 잘 활용하느냐에 달려 있다고 해도 과언이 아닙니다. 새로운 플러그인을 만들 계획이라면, 가장 먼저 이 패키지 안에 내가 필요한 기능이 이미 구현되어 있지는 않은지 확인해 보세요!
'클라우드 > Backstage' 카테고리의 다른 글
| 파일이 수백 개라도 끄떡없다! TypeScript 프로젝트 전체를 가장 효율적으로 컴파일하는 비법 🛠️ (0) | 2025.12.25 |
|---|---|
| "어디에 뭐가 있지?" 고민 끝! Backstage Software Catalog가 개발자의 생산성을 높이는 4가지 방법 🛠️ (0) | 2025.12.25 |
| TypeScript 개발의 필수템! tsc --watch 모드 완벽 가이드 (0) | 2025.12.25 |
| 🏗️ 거버넌스와 자동화를 한 번에! Backstage 표준 스캐폴더(Template) 완벽 가이드 (1) | 2025.12.22 |
| 🛠️ Backstage 핵심 기능 총정리: 개발 생산성을 높이는 5가지 무기 (0) | 2025.12.21 |