다음을 통해 공유


클라우드 규모 분석 프로비전

데이터 관리 랜딩 존 배포 프로세스

데이터 플랫폼 운영 팀은 데이터 관리 랜딩 존 배포를 맡고 있습니다. 데이터 관리 랜딩 존에는 데이터 플랫폼 운영 팀에서 유지 관리하는 자체 리포지토리가 있어야 합니다.

주의

데이터 랜딩 존을 배포하기 전에 데이터 관리 랜딩 존을 만들고 배포해야 합니다.

데이터 랜딩 존 배포 프로세스

팀은 데이터 플랫폼 운영 팀에서 제공하는 템플릿을 사용하면 자산마다 처음부터 새로 시작하지 않아도 됩니다. 포크 패턴을 사용하여 새 랜딩 존의 배포를 자동화하는 것이 좋습니다.

예를 들어 데이터 랜딩 존 운영 팀은 IT 관리 도구 또는 Power Apps를 사용하여 새 데이터 랜딩 존을 요청합니다. 요청이 승인되면 요청의 매개 변수를 사용하여 다음 워크플로를 시작합니다.

  1. 새 데이터 랜딩 존에 대한 새 구독을 배포합니다.
  2. 데이터 랜딩 존 템플릿의 기본 분기를 포크하여 새 리포지토리를 만듭니다.
  3. 새 리포지토리에서 서비스 연결을 만듭니다.
  4. 요청의 매개 변수를 기반으로 새 리포지토리의 매개 변수를 업데이트합니다.
  5. 업데이트된 매개 변수의 체크 인에 의해 트리거되는 서비스를 배포하는 배포 파이프라인을 만듭니다.
  6. 데이터 랜딩 존 운영 팀에 새 랜딩 존을 사용할 수 있음을 알립니다.

이제 데이터 랜딩 존 운영 팀은 Azure Resource Manager 템플릿을 변경하거나 추가할 수 있습니다.

이 워크플로는 Azure 플랫폼의 여러 서비스 세트를 사용하여 자동화할 수 있습니다. 매개 변수 파일의 매개 변수 이름 바꾸기와 같은 일부 단계는 CI/CD 파이프라인을 사용하여 처리합니다. 또 어떤 단계는 Logic Apps와 같은 다른 워크플로 오케스트레이션 도구를 사용하여 실행할 수 있습니다.

Diagram of forked DevOps model.

포크 패턴을 사용하면 팀이 포크에 사용한 원래 템플릿에서 템플릿을 업데이트할 수 있습니다. 또한 템플릿 리포지토리에서 향상된 기능 또는 새 기능이 구현된 경우 운영 팀은 이러한 기능을 포크로 끌어올 수 있습니다.

다음과 같은 리포지토리 모범 사례를 채택합니다.

  • 기본 분기를 보호합니다.
  • 변경, 업데이트 및 개선에 분기를 사용합니다.
  • 변경 내용을 기본 분기에 병합하기 전에 끌어오기 요청을 승인하는 코드 소유자를 정의합니다.
  • 자동화된 테스트를 통해 분기의 유효성을 검사합니다.
  • 팀의 작업 및 사람(예: 빌드 및 릴리스 파이프라인을 트리거할 수 있는 사람) 수를 제한합니다.

팀 간의 활동을 조정하여 원래 템플릿의 개선된 기능 또는 새 기능이 모든 데이터 랜딩 존 인스턴스에서 복제되도록 합니다. 운영 팀은 원래 템플릿 변경 내용을 포크로 끌어올 수 있습니다.

Diagram of a data landing zone automation process.

온보딩 프로세스는 데이터 랜딩 존 배포 프로세스와 별개입니다. 이러한 분리는 대부분의 조직이 클라우드 운영 모델의 일부로 표준 Azure 구독 배포 프로세스를 가지고 있다는 가정을 전제로 합니다. 온보딩 프로세스는 표준 회사 구성 요소(예: 타사 IT 서비스 관리 도구)를 배포합니다. 데이터 랜딩 존 관련 구성 요소는 다음에 배포합니다.

제안된 자동화 솔루션에서 복제/업데이트/커밋/푸시에 사용할 수 있는 Git API는 없습니다. 따라서 이 방법은 다음과 같은 PowerShell Runbook을 포함하는 Azure Automation 계정을 사용하는 것입니다.

  • 데이터 랜딩 존 설정
  • 기본 리포지토리를 데이터 플랫폼 Git 리포지토리에 포크
  • 데이터 랜딩 존에 대한 서브넷 구성 설정
  • Microsoft Entra ID 설정

Runbook은 Git 리포지토리 작업에 GitAutomation PowerShell 모듈의 Git 함수를 사용합니다. 사용자는 Azure Automation 계정 내에 이 모듈을 설치하여 Git 리포지토리에 작업을 만들고, 복제하고, 쿼리하고, 푸시하고, 끌어오고, 커밋할 수 있습니다. 다음 이미지는 Azure Automation 계정 내에 설치된 GitAutomation 모듈을 보여줍니다.

Diagram of `GitAutomation` module for working with Git repositories.

GitAutomation 모듈의 Copy-GitRepository 함수를 사용하여 URL로 지정된 URL에서 DestinationPath로 지정된 데이터 플랫폼 Git 경로로 기본 Git 리포지토리를 복제합니다.

데이터 랜딩 존 배포에 대한 이러한 접근 방식은 유연하면서도 작업이 조직의 요구 사항을 준수하도록 합니다. 수명 주기 관리는 원래 템플릿에서 새 기능 또는 최적화를 적용하여 사용됩니다.

데이터 애플리케이션 배포 프로세스

데이터 랜딩 존을 만든 후에는 데이터 애플리케이션 팀의 온보딩을 시작할 수 있습니다. 데이터 플랫폼 또는 데이터 랜딩 존 운영 팀은 배포 승인을 부여합니다.

배포는 DevOps 도구를 사용하여 직접 수행되거나 API로 노출된 파이프라인/워크플로를 통해 호출됩니다. 데이터 랜딩 존과 마찬가지로 배포는 원래 데이터 애플리케이션 리포지토리를 포크하는 것으로 시작합니다.

Diagram of the data application deployment automation.

  1. 사용자가 새 데이터 애플리케이션 서비스를 요청합니다.
  2. 워크플로 프로세스에서 데이터 플랫폼 또는 데이터 랜딩 존 운영 팀의 승인을 요청합니다.
  3. 워크플로에서 IT 서비스 관리 API를 호출하여 필요한 리소스 그룹을 만들고 Azure DevOps 서비스 연결을 만듭니다. 워크플로에서 팀을 Azure DevOps 프로젝트에 할당합니다.
  4. 워크플로에서 원래 데이터 애플리케이션 리포지토리를 포크하여 대상 Azure DevOps 프로젝트를 만듭니다.
  5. 워크플로에서 Azure Resource Manager 템플릿 매개 변수 파일 및 파이프라인을 만듭니다.
  6. 그런 다음, 워크플로에서 Azure 파이프라인을 시작하여 네트워킹 요구 사항을 만들고, 또 다른 Azure 파이프라인을 시작하여 데이터 애플리케이션 서비스를 배포합니다.
  7. 완료되면 워크플로가 사용자에게 알립니다.

DataOps를 처음 접하는 경우 Azure 아키텍처 센터의 최신 데이터 웨어하우스를 위한 DataOps 실습 랩을 검토하세요. 이 랩의 시나리오에서는 이 배포 솔루션을 사용할 수 있는 가상 도시 계획 사무실을 설명합니다. 이 배포 솔루션은 최신 데이터 웨어하우스 아키텍처 패턴을 따르는 엔드투엔드 데이터 파이프라인과 해당 DevOps 및 DataOps 프로세스를 제공하여 주차 이용을 평가하고 정보에 입각한 비즈니스 결정을 내릴 수 있습니다.

요약

위의 패턴은 정책의 제어, 민첩성, 셀프 서비스 및 수명 주기 관리를 제공합니다.

Diagram of the overall DataOps model.

프로젝트 시작 시 데이터 플랫폼에는 하나 이상의 Azure Boards가 있는 Azure DevOps 프로젝트가 하나 있습니다. 개별 DevOps 팀은 다음 사항에 집중합니다.

  • 데이터 관리 랜딩 존, 파이프라인 및 클라우드 환경에 서비스를 연결하기 위한 하나의 리포지토리
  • 데이터 랜딩 존, 데이터 랜딩 존 인스턴스를 배포하는 파이프라인 및 클라우드 환경에 서비스를 연결하기 위한 하나의 템플릿 리포지토리
  • 데이터 제품 서비스, 데이터 제품 인스턴스를 배포하는 파이프라인 및 클라우드 환경에 서비스를 연결하기 위한 하나의 템플릿 리포지토리. 이러한 연결은 데이터 랜딩 존 Azure DevOps 프로젝트에서 포크됩니다.

데이터 랜딩 존이 배포되면 클라우드 규모 분석에서 다음 사항을 규정합니다.

  • 각 데이터 랜딩 존에는 하나 이상의 Azure Boards가 있는 자체 Azure DevOps 프로젝트가 있습니다.
  • 각 데이터 애플리케이션과 관련하여 요청 승인 후에 해당 데이터 랜딩 존 Azure DevOps 프로젝트 포크가 만들어집니다.
  • 각 데이터 애플리케이션에는 다음이 포함됩니다.
    • 서비스 연결
    • 등록된 파이프라인
    • Azure 보드 및 리포지토리에 액세스할 수 있는 DevOps 팀
    • 포크된 리포지토리에 대한 다른 정책 세트

데이터 애플리케이션의 배포를 제어하려면 다음 방법을 따릅니다.

  • 데이터 랜딩 존 운영 팀은 기본 리포지토리 분기를 소유하고 보호합니다.
  • 기본 분기만 테스트 및 프로덕션 환경에 배포하는 데 사용됩니다.
  • 기능 분기는 개발 환경에 배포할 수 있습니다.
  • 기능 분기는 DataOps 팀이 소유합니다. 새 기능 또는 수정된 기능을 테스트하는 데 사용됩니다.
  • DataOps 팀은 승인 없이 기능 분기를 다른 기능 분기에 병합할 수 있습니다.
  • DataOps 팀은 기능 분기를 기본 분기에 병합하기 위한 끌어오기 요청을 만들고, 데이터 랜딩 존 운영 팀은 요청을 승인합니다.
  • 원래 템플릿의 새 기능 또는 향상된 기능은 포크된 리포지토리에 병합되어 업데이트된 상태로 유지됩니다.

다음 단계