다음을 통해 공유


Azure Databricks의 CI/CD란?

이 문서에서는 Databricks의 CI/CD를 소개합니다. CI/CD(연속 통합 및 지속적인 업데이트)는 자동화 파이프라인을 사용하여 짧고 빈번한 주기로 소프트웨어를 개발하고 배달하는 프로세스를 말합니다. CI/CD는 소프트웨어 개발에 일반적이며 데이터 엔지니어링 및 데이터 과학에 점점 더 필요해지고 있습니다. 개발 팀은 코드 빌드, 테스트 및 배포를 자동화하여 데이터 엔지니어링 및 데이터 과학 팀에 여전히 공통적인 수동 프로세스보다 더 안정적으로 릴리스를 제공할 수 있습니다.

Azure Databricks는 Azure Databricks 플랫폼에 대한 복잡한 데이터, 분석 및 ML 프로젝트를 개발 및 배포할 수 있도록 CI/CD용 Databricks 자산 번들을 사용하는 것이 좋습니다. 번들을 사용하면 여러 사용자 지정 구성을 쉽게 관리하고 프로젝트의 빌드, 테스트 및 배포를 Azure Databricks 개발, 스테이징 및 프로덕션 작업 영역에 자동화할 수 있습니다.

Azure Databricks의 기계 학습 프로젝트에 대한 CI/CD에 대한 개요는 Databricks가 기계 학습을 위해 CI/CD를 어떻게 지원하나요?를 참조하세요.

Azure Databricks의 CI/CD 파이프라인에는 무엇이 있나요?

Databricks 자산 번들을 사용하여 일반적으로 다음을 포함하는 Azure Databricks CI/CD 구현을 정의하고 프로그래밍 방식으로 관리할 수 있습니다.

  • Notebooks: Azure Databricks Notebook은 종종 데이터 엔지니어링 및 데이터 과학 워크플로의 핵심 부분입니다. Notebook에 버전 제어를 사용하고 CI/CD 파이프라인의 일부로 유효성을 검사하고 테스트할 수도 있습니다. Notebook에 대해 자동화된 테스트를 실행하여 Notebook이 예상대로 작동하는지 확인할 수 있습니다.
  • 라이브러리: 배포된 코드를 실행하는 데 필요한 라이브러리 종속성을 관리합니다. 라이브러리에서 버전 제어를 사용하고 자동화된 테스트 및 유효성 검사에 포함합니다.
  • 워크플로: Databricks 작업은 Notebook 또는 Spark 작업을 사용하여 자동화된 작업을 예약하고 실행할 수 있는 작업으로 구성됩니다.
  • 데이터 파이프라인: 데이터 파이프라인을 선언하기 위해 Databricks의 프레임워크인 Delta Live Tables를 사용하여 CI/CD 자동화에 데이터 파이프라인을 포함할 수도 있습니다.
  • 인프라: 인프라 구성에는 대상 환경의 클러스터, 작업 영역 및 스토리지에 대한 정의 및 프로비저닝 정보가 포함됩니다. 인프라 변경 내용은 CI/CD 파이프라인의 일부로 유효성을 검사하고 테스트하여 일관되고 오류가 없는지 확인할 수 있습니다.

Azure Databricks의 CI/CD에 대한 단계

Azure Databricks CI/CD 파이프라인에 대한 일반적인 흐름에는 다음 단계가 포함됩니다.

  1. 저장소: Azure Databricks 코드 및 Notebook을 Git과 같은 버전 제어 시스템에 저장합니다. 이를 통해 시간에 따른 변경 내용을 추적하고 다른 팀 구성원과 공동 작업할 수 있습니다. Git 및 Databricks Git 폴더(리포지토리)와 번들 Git 설정을 사용하여 CI/CD 기술을 참조하세요.
  2. 코드: 작업 영역의 Azure Databricks Notebook에서 또는 외부 IDE를 사용하여 로컬로 코드 및 단위 테스트를 개발합니다. Azure Databricks는 Azure Databricks 작업 영역에 변경 내용을 쉽게 개발하고 배포할 수 있는 Visual Studio Code 확장을 제공합니다.
  3. 빌드: Databricks 자산 번들 설정을 사용하여 배포 중에 특정 아티팩트가 자동으로 빌드됩니다. 아티팩트 참조 또한 Pylint는 Databricks Labs pylint 플러그 인을 사용하여 확장되어 코딩 표준을 적용하고 Databricks Notebook 및 애플리케이션 코드에서 버그를 검색할 수 있습니다.
  4. 배포: Azure DevOps, Jenkins 또는 GitHub Actions와 같은 도구와 함께 Databricks 자산 번들을 사용하여 Azure Databricks 작업 영역에 변경 내용을 배포합니다. Databricks 자산 번들 배포 모드를 참조 하세요.
  5. 테스트: pytest와 같은 도구를 사용하여 코드 변경 내용의 유효성을 검사하는 자동화된 테스트를 개발하고 실행합니다. 작업 영역 API 와의 통합을 테스트하기 위해 Databricks Labs pytest 플러그 인 을 사용하면 테스트가 완료된 후 작업 영역 개체를 만들고 정리할 수 있습니다.
  6. 실행: Databricks 자산 번들과 함께 Databricks CLI를 사용하여 Azure Databricks 작업 영역에서 실행을 자동화합니다. 작업 또는 파이프라인 실행을 참조하세요.
  7. 모니터: Azure Monitor 또는 Datadog와 같은 도구를 사용하여 Azure Databricks에서 코드 및 워크플로의 성능을 모니터링합니다. 이렇게 하면 프로덕션 환경에서 발생하는 문제를 식별하고 해결할 수 있습니다.
  8. 반복: 데이터 엔지니어링 또는 데이터 과학 프로젝트를 개선하고 업데이트하기 위해 작고 자주 반복합니다. 작은 변경 내용은 큰 변경 내용보다 롤백하기 쉽습니다.

Azure Databricks 자산 및 데이터의 수명 주기를 관리하는 방법에 대한 자세한 내용은 CI/CD 및 데이터 파이프라인 도구에 대한 다음 설명서를 참조하세요.

영역 원하는 경우 다음 도구를 사용합니다.
Databricks 자산 번들 CI/CD 모범 사례 및 워크플로를 사용하여 Azure Databricks 작업, 델타 라이브 테이블 파이프라인 및 MLOps 스택을 프로그래밍 방식으로 정의, 배포 및 실행합니다.
Databricks Terraform 공급자 Terraform을 사용하여 Databricks 인프라 및 리소스를 프로비전하고 관리합니다.
Git 및 Databricks Git 폴더를 사용하는 CI/CD 워크플로 소스 제어 및 CI/CD 워크플로에 GitHub 및 Databricks Git 폴더를 사용합니다.
Databricks에서 Azure DevOps로 인증 Azure DevOps를 사용하여 인증합니다.
Microsoft Entra 서비스 주체를 사용하여 Azure Databricks Git 폴더에 대한 액세스 인증 MS Entra 서비스 주체를 사용하여 Databricks Git 폴더에 대한 액세스를 인증합니다.
Azure DevOps를 사용하여 Azure Databricks에서 연속 통합 및 업데이트 Azure DevOps를 사용하는 Azure Databricks용 CI/CD 파이프라인을 개발합니다.
GitHub Actions를 사용하여 연속 통합 및 지속적인 업데이트 Azure Databricks용으로 개발된 GitHub Actions를 사용하는 GitHub CI/CD 워크플로를 개발합니다.
Azure Databricks에서 Jenkins를 사용하는 CI/CD Jenkins를 사용하는 Azure Databricks용 CI/CD 파이프라인을 개발합니다.
Apache Airflow로 Azure Databricks 작업 조정 Apache Airflow를 사용하는 데이터 파이프라인을 관리하고 예약합니다.
CI/CD에 대한 서비스 주체 CI/CD 시스템에서 사용자 대신 서비스 주체를 사용합니다.