다음을 통해 공유


클라우드 확장 분석의 구현

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

데이터 플랫폼 운영 팀은 데이터 관리 랜딩 존을 배포하는 역할을 담당합니다. 데이터 관리 랜딩 존에는 데이터 플랫폼 운영 팀에서 유지 관리하는 자체 리포지토리가 있어야 합니다.

주의

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

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

Teams는 데이터 플랫폼 운영 팀에서 제공하는 템플릿을 사용하여 각 자산에 대해 처음부터 시작하지 않도록 할 수 있습니다. 새 랜딩 존의 배포를 자동화하기 위해 분기 패턴을 사용하는 것이 좋습니다.

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

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

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

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

포크된 DevOps 모델의 다이어그램

포크 패턴을 사용하면 팀이 분기하는 데 사용된 원래 템플릿에서 템플릿을 업데이트할 수 있습니다. 또한 템플릿 리포지토리에서 개선하거나 새로운 기능이 구현될 경우, 운영 팀은 이를 그들의 포크에 병합할 수 있습니다.

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

  • 주요 지사를 확보하세요.
  • 변경, 업데이트 및 개선을 위해 브랜치를 사용합니다.
  • 변경 내용을 주 분기에 병합하기 전에 끌어오기 요청을 승인하는 코드 소유자를 정의합니다.
  • 자동화된 테스트를 통해 브랜치의 유효성을 확인합니다.
  • 빌드 및 릴리스 파이프라인을 트리거할 수 있는 사용자와 같은 팀의 작업 및 사용자 수를 제한합니다.

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

데이터 랜딩 존 자동화 프로세스의 다이어그램

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

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

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

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

git 리포지토리 작업을 위한 'GitAutomation' 모듈의 다이어그램

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

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

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

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

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

데이터 애플리케이션 배포 자동화의 다이어그램입니다.

  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 프로세스와 함께 제공하여 주차 사용을 평가하고 정보에 입각한 비즈니스 결정을 내립니다.

요약

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

전체 DataOps 모델의 다이어그램입니다.

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

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

데이터 랜딩 존이 배포된 후 클라우드 규모 분석은 다음을 규정합니다.

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

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

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

다음 단계