다음을 통해 공유


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 자산 번들 설정을 사용하여 배포 중에 특정 아티팩트가 자동으로 빌드됩니다. 아티팩트 참조
  4. 배포: Azure DevOps, Jenkins 또는 GitHub Actions와 같은 도구와 함께 Databricks 자산 번들을 사용하여 Azure Databricks 작업 영역에 변경 내용을 배포합니다. Databricks 자산 번들 배포 모드를 참조 하세요.
  5. 테스트: pytest와 같은 도구를 사용하여 코드 변경 내용의 유효성을 검사하는 자동화된 테스트를 개발하고 실행합니다.
  6. 실행: Databricks 자산 번들과 함께 Databricks CLI를 사용하여 Azure Databricks 작업 영역에서 실행을 자동화합니다. 번들 실행을 참조하세요.
  7. 모니터: Azure Monitor 또는 Datadog와 같은 도구를 사용하여 Azure Databricks에서 코드 및 워크플로의 성능을 모니터링합니다. 이렇게 하면 프로덕션 환경에서 발생하는 문제를 식별하고 해결할 수 있습니다.
  8. 반복: 데이터 엔지니어링 또는 데이터 과학 프로젝트를 개선하고 업데이트하기 위해 작고 자주 반복합니다. 작은 변경 내용은 큰 변경 내용보다 롤백하기 쉽습니다.

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

지역 원하는 경우 다음 도구를 사용합니다.
Databricks 자산 번들 CI/CD 모범 사례 및 워크플로를 사용하여 Azure Databricks 작업, 델타 라이브 테이블 파이프라인 및 MLOps 스택을 프로그래밍 방식으로 정의, 배포 및 실행합니다.
Git 및 Databricks Git 폴더를 사용하는 CI/CD 워크플로 소스 제어 및 CI/CD 워크플로에 GitHub 및 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 시스템에서 사용자 대신 서비스 주체를 사용합니다.