빅데이터/Databricks

Databricks Assert Bundle이란 무엇인가?

네야_IT 2025. 10. 15. 05:28
반응형

📦 Databricks Asset Bundles란?

Databricks Asset Bundles는 데이터 및 AI 프로젝트를 패키지 단위로 관리할 수 있도록 해주는 도구입니다. 즉, 소스 코드 + Databricks 리소스 정의 + 환경 설정을 하나로 묶어, 버전 관리·테스트·배포까지 체계적으로 할 수 있게 합니다.

 

🔑 주요 특징

  • 프로젝트 전체를 파일 기반으로 정의 (Git에서 관리 가능)
  • Databricks 리소스(잡, 파이프라인, 대시보드, 모델 서빙, MLflow 등)를 소스 파일로 선언적 정의
  • 개발 → 테스트 → 배포 전 과정을 일관성 있게 자동화 가능
  • 협업, 코드 리뷰, CI/CD 적용에 유리

📂 번들에 포함되는 것

  1. 클라우드 인프라 및 워크스페이스 설정 (개발/스테이징/운영 환경 정의)
  2. 소스 파일 (노트북, Python 코드 등 비즈니스 로직)
  3. Databricks 리소스 정의 (Lakeflow Jobs, Declarative Pipelines, Dashboards, 모델 서빙 엔드포인트, MLflow 실험/모델 등)
  4. 테스트 코드 (유닛 테스트 + 통합 테스트)

🚀 장점

  • 협업 강화: 여러 개발자가 같은 구조에서 작업 가능
  • 재현성 보장: 동일한 번들을 여러 환경(dev/staging/prod)에 배포
  • 자동화: GitHub Actions, GitLab CI/CD, Azure DevOps 등과 연동
  • 버전 관리: 코드와 리소스 정의를 함께 Git으로 관리

📊 번들 활용 예시 (CI/CD 파이프라인)

  1. 개발자가 코드 + 번들 정의를 Git에 커밋
  2. CI 파이프라인에서 테스트 실행
  3. 성공 시 개발 환경에 배포
  4. 리뷰 및 승인 후 운영 환경으로 배포

📌 Bundles를 사용해야 하는 경우

Databricks Asset Bundles는 Infrastructure-as-Code(IaC) 접근 방식을 적용하는 도구입니다. 즉, 복잡한 프로젝트, 여러 명의 기여자, 자동화 및 CI/CD 필요성이 있는 경우 특히 적합합니다. YAML 템플릿과 설정 파일로 관리되기 때문에, 코드와 인프라를 함께 버전 관리할 수 있습니다.

 

✅ Bundles가 유용한 주요 시나리오

  1. 팀 기반 데이터/AI 프로젝트 개발
    • 여러 개발자가 동시에 참여하는 프로젝트에서 소스 파일과 리소스를 체계적으로 관리 가능
    • 협업 효율성과 개발 프로세스 일관성을 보장
  2. ML 문제를 빠르게 반복/개선하고 싶은 경우
    • 학습/추론 잡, ML 파이프라인 등을 체계적으로 관리
    • 개발 초기부터 운영 환경 수준의 베스트 프랙티스를 적용
  3. 조직 차원의 표준화
    • 기본 권한, 서비스 프린시펄, CI/CD 설정 등이 포함된 맞춤형 번들 템플릿 제작 가능
    • 새로운 프로젝트를 조직 표준에 맞춰 빠르게 시작할 수 있음
  4. 규제 및 컴플라이언스가 중요한 환경
    • 코드와 인프라 변경 사항을 모두 버전 관리
    • 거버넌스 강화 및 규제 준수 증빙에 유리

⚙️ Bundles 동작 방식

  1. YAML 파일로 메타데이터 정의
    • 프로젝트에 포함될 아티팩트(코드, 노트북, 라이브러리)
    • Databricks 리소스 (Jobs, Pipelines, Dashboards, ML 모델 등)
    • 환경별 설정값 (Dev / Staging / Prod)
      → 이 모든 것을 YAML로 정의합니다.
  2. Databricks CLI 활용
    • 작성된 YAML 파일을 검증(validate)
    • 배포(deploy): 정의된 리소스를 Databricks에 생성/업데이트
    • 실행(run): 배포된 Job, 파이프라인 등을 실행
  3. 실행 환경
    • IDE(VS Code 등), 터미널, 혹은 Databricks 환경 내에서 바로 실행 가능
  4. 번들 생성 방법
    • 수동 작성: YAML을 직접 정의하여 맞춤 구성
    • 템플릿 기반: Databricks CLI가 제공하는 기본 템플릿 사용
    • 커스텀 템플릿: 팀 표준(best practice)을 반영하여 자체 템플릿 제작 (권한, 공통 설정 등 일관성 유지 가능)

📊 간단한 워크플로우

  1. bundle.yml 작성 → 프로젝트 정의
  2. databricks bundle validate → YAML 유효성 검증
  3. databricks bundle deploy → Databricks 환경에 리소스 배포
  4. 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

 

반응형