다음을 통해 공유


Synapse 구현 성공 방법론: 솔루션 개발 환경 디자인 평가

참고 항목

이 문서는 디자인에 따른 Azure Synapse 구현 성공 문서 시리즈의 일부를 구성합니다. 시리즈에 대한 개요는 Azure Synapse 구현 성공 디자인을 참조하세요.

솔루션 개발 및 솔루션이 수행되는 환경이 프로젝트의 성공의 핵심입니다. 선택한 프로젝트 방법(예: Waterfall, Agile 또는 Scrum)에 관계없이 개발, 테스트 및 프로덕션을 지원하도록 여러 환경을 설정해야 합니다. 또한 환경 간에 변경 내용을 승격시키기 위한 명확한 프로세스를 정의해야 합니다.

프로덕션 및 사전 프로덕션 사용을 위해 최신 데이터 웨어하우스 환경을 설정하는 것은 복잡할 수 있습니다. 주요 디자인 결정 중 하나는 자동화입니다. 그렇게 하면 오류 위험을 최소화하면서 생산성을 높이는 데 도움이 됩니다. 또한 사용자 환경은 데이터 과학 또는 실시간과 같은 새로운 워크로드 추가를 포함하여 향후 애자일 개발을 지원해야 합니다. 디자인 검토 중에 현재 프로젝트뿐만 아니라 솔루션의 지속적인 지원 및 개발을 위해 솔루션을 지원하는 솔루션 개발 환경 디자인을 생성합니다.

솔루션 개발 환경 디자인

환경 디자인에는 프로덕션 솔루션을 호스트하는 프로덕션 환경과 하나 이상의 비프로덕션 환경이 포함되어야 합니다. 대부분의 환경에는 개발용 1개와 테스트, QA(품질 보증) 및 UAT(사용자 승인 테스트)용 1개로 이루어진 2개의 비프로덕션 환경이 있습니다. 일반적으로 환경은 별도의 Azure 구독에서 호스트됩니다. 프로덕션 구독 및 비프로덕션 구독을 만드는 것이 좋습니다. 이러한 구분은 프로덕션과 비프로덕션 간의 명확한 보안 경계와 분리를 제공합니다.

이상적으로는 세 가지 환경을 설정해야 합니다.

  • 개발: 데이터 및 분석 솔루션이 빌드되는 환경입니다. 개발자를 위한 샌드박스를 제공할지 여부를 결정합니다. 샌드박스를 사용하면 개발자가 단독으로 변경을 수행하고 테스트할 수 있으며, 공유 개발 환경에서는 전체 개발 팀의 통합된 변경 내용을 호스트할 수 있습니다.
  • 테스트/QA/UAT: 프로덕션에 릴리스되기 전에 배포를 테스트하기 위한 프로덕션 유사 환경입니다.
  • 프로덕션: 최종 프로덕션 환경입니다.

Synapse 작업 영역

솔루션의 각 Synapse 작업 영역에 대해 환경에는 개발 및 테스트/QA/UAT를 위한 프로덕션 작업 영역과 하나 이상의 비프로덕션 작업 영역이 포함되어야 합니다. 환경 전체의 모든 풀 및 아티팩트에서 동일한 이름을 사용합니다. 일관된 이름을 지정하면 작업 영역을 다른 환경으로 쉽게 승격시킬 수 있습니다.

작업 영역을 다른 작업 영역으로 승격시키는 작업은 두 부분으로 구성된 프로세스입니다.

  1. ARM 템플릿(Azure Resource Manager 템플릿)을 사용하여 작업 영역 리소스를 만들거나 업데이트합니다.
  2. Azure DevOps 또는 GitHub에서 Azure Synapse CI/CD(연속 통합 및 배포) 도구를 사용하여 SQL 스크립트 및 노트북, Spark 작업 정의, 파이프라인, 데이터 세트, 데이터 흐름과 같은 아티팩트를 마이그레이션합니다.

Azure DevOps 또는 GitHub

Azure DevOps 또는 GitHub와의 통합이 제대로 설정되었는지 확인합니다. 개발, 테스트/QA/UAT 및 프로덕션 환경에서 변경 내용을 릴리스하는 반복 가능한 프로세스를 디자인합니다. 

Important

중요한 구성 데이터는 항상 Azure Key Vault에 안전하게 저장하는 것이 좋습니다. Azure Key Vault를 사용하여 데이터베이스 연결 문자열과 같은 중요한 구성 데이터에 대한 중앙 보안 위치를 유지 관리합니다. 이렇게 하면 적절한 서비스가 각 환경 내에서 구성 데이터에 액세스할 수 있습니다.

다음 단계

디자인에 따른 Azure Synapse 성공 시리즈의 다음 문서에서 Azure Synapse 솔루션을 구현할 숙련된 리소스 팀을 평가하는 방법을 알아봅니다.