CI/CD(연속 통합 및 지속적인 업데이트)는 자동화 파이프라인을 사용하여 짧고 빈번한 주기로 소프트웨어를 개발하고 배달하는 프로세스를 말합니다. CI/CD는 소프트웨어 개발에 일반적이며 데이터 엔지니어링 및 데이터 과학에 점점 더 필요해지고 있습니다. 개발 팀은 코드 빌드, 테스트 및 배포를 자동화하여 수동 프로세스보다 더 안정적으로 릴리스를 제공할 수 있습니다.
일반적인 도구는 CI/CD 파이프라인을 개발하는 데 사용할 수 있지만 각 조직의 소프트웨어 개발 수명 주기의 고유한 측면 때문에 조직에서 조직으로의 구현 및 접근 방식이 약간 다를 수 있습니다. 이 페이지에서는 Databricks의 CI/CD에 대한 다음 방법 및 각 접근 방식에 대한 장단점을 제공합니다.
Azure Databricks의 기계 학습 프로젝트에 대한 CI/CD에 대한 개요는 Databricks가 기계 학습을 위해 CI/CD를 어떻게 지원하나요?를 참조하세요.
Databricks 자산 번들(권장)
Databricks 자산 번들은 Databricks의 CI/CD에 권장되는 접근 방식입니다. Databricks 자산 번들을 사용하여 작업 및 파이프라인과 같은 Databricks 리소스를 원본 파일로 설명하고 다른 자산과 함께 번들로 묶어 배포 가능한 프로젝트의 엔드투엔드 정의를 제공합니다. 이러한 파일 번들은 원본 제어가 가능하며 Github Actions와 같은 외부 CI/CD 자동화를 사용하여 배포를 트리거할 수 있습니다.
장점 | 단점 |
---|---|
|
|
프로덕션 Git 폴더
아직 Databricks 자산 번들을 채택할 준비가 되지 않았지만 코드를 소스 제어하려는 경우 프로덕션 Git 폴더를 설정할 수 있습니다. 그런 다음 GitHub Actions와 같은 외부 CI/CD 도구를 사용하여 병합 시 Git 폴더를 끌어오거나 외부 CI/CD 파이프라인에 액세스할 수 없는 경우 작업 영역의 Git 폴더로 끌어올 예약된 작업을 만듭니다.
장점 | 단점 |
---|---|
|
|
Git에서의 작업
작업에 CI/CD만 필요한 경우 작업이 있는 Git 을 사용하면 원격 Git 리포지토리를 원본으로 사용하도록 일부 작업 유형을 구성할 수 있습니다. 작업 실행이 시작되면 Databricks는 원격 리포지토리의 스냅샷 커밋을 수행하고 전체 작업이 동일한 버전의 코드에 대해 실행되도록 합니다.
장점 | 단점 |
---|---|
|
|
기타 CI/CD 권장 사항
선택한 CI/CD 접근 방식에 관계없이 CI/CD 인증에 워크로드 ID 페더레이션을 사용합니다. 워크로드 ID 페더레이션은 Databricks 비밀이 필요하지 않으므로 Databricks에 인증하는 가장 안전한 방법입니다. OAuth 토큰 페더레이션을 사용하여 Azure Databricks에 대한 액세스 인증을 참조하세요.
Databricks는 Databricks Terraform 공급자를 사용하여 작업 영역과 관련된 클라우드 인프라를 관리할 것을 권장합니다.
다른 CI/CD 권장 사항은 Databricks의 모범 사례 및 권장 CI/CD 워크플로를 참조하세요.
관련 링크
Azure Databricks 자산 및 데이터의 수명 주기를 관리하는 방법에 대한 자세한 내용은 CI/CD 및 데이터 파이프라인 도구에 대한 다음 설명서를 참조하세요.
지역 | 원하는 경우 다음 도구를 사용합니다. |
---|---|
Databricks 자산 패키지 | CI/CD 모범 사례 및 워크플로를 사용하여 Lakeflow 작업, Lakeflow 선언적 파이프라인 및 MLOps 스택을 프로그래밍 방식으로 정의, 배포 및 실행합니다. |
Databricks Terraform 공급자 | Terraform을 사용하여 Databricks 작업 영역 및 인프라를 프로비전하고 관리합니다. |
Git 및 Databricks Git 폴더를 사용하는 CI/CD 워크플로 | 소스 제어 및 CI/CD 워크플로에 GitHub 및 Databricks Git 폴더를 사용합니다. |
Azure 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 | CI/CD 워크플로에 Azure Databricks용으로 개발된 GitHub Action을 포함합니다. |
Azure Databricks에서 Jenkins를 사용하는 CI/CD | Jenkins를 사용하는 Azure Databricks용 CI/CD 파이프라인을 개발합니다. |
Apache Airflow로 Lakeflow 작업을 오케스트레이션하기 | Apache Airflow를 사용하는 데이터 파이프라인을 관리하고 예약합니다. |
CI/CD에 대한 서비스 주체 | CI/CD 시스템에서 사용자 대신 서비스 주체를 사용합니다. |