반응형
📦 Databricks Asset Bundles란?
Databricks Asset Bundles는 데이터 및 AI 프로젝트를 패키지 단위로 관리할 수 있도록 해주는 도구입니다. 즉, 소스 코드 + Databricks 리소스 정의 + 환경 설정을 하나로 묶어, 버전 관리·테스트·배포까지 체계적으로 할 수 있게 합니다.
🔑 주요 특징
- 프로젝트 전체를 파일 기반으로 정의 (Git에서 관리 가능)
- Databricks 리소스(잡, 파이프라인, 대시보드, 모델 서빙, MLflow 등)를 소스 파일로 선언적 정의
- 개발 → 테스트 → 배포 전 과정을 일관성 있게 자동화 가능
- 협업, 코드 리뷰, CI/CD 적용에 유리
📂 번들에 포함되는 것
- 클라우드 인프라 및 워크스페이스 설정 (개발/스테이징/운영 환경 정의)
- 소스 파일 (노트북, Python 코드 등 비즈니스 로직)
- Databricks 리소스 정의 (Lakeflow Jobs, Declarative Pipelines, Dashboards, 모델 서빙 엔드포인트, MLflow 실험/모델 등)
- 테스트 코드 (유닛 테스트 + 통합 테스트)
🚀 장점
- 협업 강화: 여러 개발자가 같은 구조에서 작업 가능
- 재현성 보장: 동일한 번들을 여러 환경(dev/staging/prod)에 배포
- 자동화: GitHub Actions, GitLab CI/CD, Azure DevOps 등과 연동
- 버전 관리: 코드와 리소스 정의를 함께 Git으로 관리
📊 번들 활용 예시 (CI/CD 파이프라인)
- 개발자가 코드 + 번들 정의를 Git에 커밋
- CI 파이프라인에서 테스트 실행
- 성공 시 개발 환경에 배포
- 리뷰 및 승인 후 운영 환경으로 배포
📌 Bundles를 사용해야 하는 경우
Databricks Asset Bundles는 Infrastructure-as-Code(IaC) 접근 방식을 적용하는 도구입니다. 즉, 복잡한 프로젝트, 여러 명의 기여자, 자동화 및 CI/CD 필요성이 있는 경우 특히 적합합니다. YAML 템플릿과 설정 파일로 관리되기 때문에, 코드와 인프라를 함께 버전 관리할 수 있습니다.
✅ Bundles가 유용한 주요 시나리오
- 팀 기반 데이터/AI 프로젝트 개발
- 여러 개발자가 동시에 참여하는 프로젝트에서 소스 파일과 리소스를 체계적으로 관리 가능
- 협업 효율성과 개발 프로세스 일관성을 보장
- ML 문제를 빠르게 반복/개선하고 싶은 경우
- 학습/추론 잡, ML 파이프라인 등을 체계적으로 관리
- 개발 초기부터 운영 환경 수준의 베스트 프랙티스를 적용
- 조직 차원의 표준화
- 기본 권한, 서비스 프린시펄, CI/CD 설정 등이 포함된 맞춤형 번들 템플릿 제작 가능
- 새로운 프로젝트를 조직 표준에 맞춰 빠르게 시작할 수 있음
- 규제 및 컴플라이언스가 중요한 환경
- 코드와 인프라 변경 사항을 모두 버전 관리
- 거버넌스 강화 및 규제 준수 증빙에 유리
⚙️ Bundles 동작 방식
- YAML 파일로 메타데이터 정의
- 프로젝트에 포함될 아티팩트(코드, 노트북, 라이브러리)
- Databricks 리소스 (Jobs, Pipelines, Dashboards, ML 모델 등)
- 환경별 설정값 (Dev / Staging / Prod)
→ 이 모든 것을 YAML로 정의합니다.
- Databricks CLI 활용
- 작성된 YAML 파일을 검증(validate)
- 배포(deploy): 정의된 리소스를 Databricks에 생성/업데이트
- 실행(run): 배포된 Job, 파이프라인 등을 실행
- 실행 환경
- IDE(VS Code 등), 터미널, 혹은 Databricks 환경 내에서 바로 실행 가능
- 번들 생성 방법
- 수동 작성: YAML을 직접 정의하여 맞춤 구성
- 템플릿 기반: Databricks CLI가 제공하는 기본 템플릿 사용
- 커스텀 템플릿: 팀 표준(best practice)을 반영하여 자체 템플릿 제작 (권한, 공통 설정 등 일관성 유지 가능)
📊 간단한 워크플로우
- bundle.yml 작성 → 프로젝트 정의
- databricks bundle validate → YAML 유효성 검증
- databricks bundle deploy → Databricks 환경에 리소스 배포
- databricks bundle run → 정의된 잡/파이프라인 실행
출처: https://docs.databricks.com/aws/en/dev-tools/bundles/
What are Databricks Asset Bundles? | Databricks on AWS
Learn about Databricks Asset Bundles, which enable programmatic management of resources such as Lakeflow Jobs, Lakeflow Declarative Pipelines, and MLOps stacks.
docs.databricks.com
반응형
'빅데이터 > Databricks' 카테고리의 다른 글
| Databricks CLI (0) | 2025.11.19 |
|---|---|
| Databricks CDC와 CDF 완전 정리 (1) | 2025.11.16 |
| Databricks Lakehouse Federation이란 무엇인가? (0) | 2025.10.22 |
| Databricks Photon 엔진이란? (0) | 2025.10.13 |
| Databricks Liquid Clustering: 성능 최적화와 운영 가이드 (0) | 2025.10.08 |