시나리오 1 - 글로벌 스케일링 및 보안 액세스 설계

완료됨

다음 두 단원에서는 두 개의 비즈니스 시나리오를 검토합니다. 회사 설명, 프로젝트 목표 및 제약 조건은 이미 제시되어 있습니다. 이러한 단원은 자율 학습 방식으로 진행할 수도 있지만 가능한 경우 다른 사용자와 브레인스토밍하는 것이 유용할 수도 있습니다.

솔루션 개발 프로세스

이러한 시나리오뿐 아니라 실제 상황에서도 다음을 이해하는 것이 목표입니다.

  • 회사가 해결해야 하는 문제.
  • 솔루션에 따른 요구 사항 및 제약 조건.

이 목표는 종종 ‘문제 설명’의 형식이 됩니다. 문제 설명은 상황, 현재 조건, 솔루션에서 원하는 결과를 명확히 정의하는 여러 공식적인 단락으로 구성되어 있습니다. 여기서는 문제 해결 방법을 살펴보는 것보다는 해결하고자 하는 것이 무엇인지에 초점을 맞춥니다.

여러분(그리고 여러분의 팀 및 관련자)이 문제 설명에 동의한 후 찾을 수 있는 최대한 많은 프로젝트 요구 사항(‘목표’)을 찾아냅니다. 그런 다음, 솔루션이 가지고 있는 제약 조건도 표시합니다.

이때는 비현실적인 제약 조건이 존재할 수 있습니다. 이러한 제약 조건은 나중에 각 요구 사항과 제약 조건에 대한 비용/혜택 비율을 표시한 후 제거할 수 있습니다.

프로덕션 환경에서는 일반적으로 솔루션을 만드는 6단계가 있습니다. 문제 설명을 개발하는 것은 시작일 뿐입니다.

  1. 발견: 고객의 문제 설명 원본입니다.
  2. 구상: 프로젝트에 성공하는 경우 얻을 결과에 대한 “비현실적인” 설명입니다. “...을 할 수 있습니다” 형식의 문장으로 표현되는 경우가 많습니다.
  3. 아키텍처 설계 세션: 예비 솔루션의 기술 옵션 및 선택 항목에 대한 초기 레이아웃입니다.
  4. POC(개념 증명): 솔루션에 사용할 최적의 기술 및 프로세스가 선택되면 솔루션이 어떻게 구현될지에 대한 대표적인 소규모 예와 함께 POC가 설정됩니다. 병렬 예에서 현재 실행 중인 솔루션을 사용할 수 있는 경우 이 솔루션을 사용할 수 있습니다.
  5. 구현: 이전 단계에서 찾아낸 결과를 기반으로 완료된 솔루션의 단계별 출시를 구현합니다.
  6. 핸드오프: 향후 개선 사항 논의가 포함된 프로젝트에 대한 사후 분석입니다.

이 모듈을 통해 프로젝트 템플릿최신 아이콘을 활용할 수 있습니다. 이러한 자산은 프로덕션 워크로드에서도 사용할 수 있습니다.

이 모듈의 시나리오에서는 문제 설명(‘발견’)을 결정하는 데 약간의 시간을 할애합니다. 하지만 크게 중점을 두는 곳은 ‘아키텍처 설계 세션’입니다. 모듈을 완료한 후 솔루션을 더 개발하려면 모듈의 자산을 사용하여 개발할 수 있습니다.

시나리오 정보

고객은 전 세계 서비스 및 콘텐츠 배달 분야의 공급자입니다. 기본적으로 작동 데이터 마트인 대상에 대해 초당 수천 건의 쓰기를 처리할 수 있는 시스템을 빌드하는 일로 도움을 요청했습니다.

또한 고객은 데이터에 대한 실시간 분석을 수행하여 추세를 확인하고 변칙을 파악하는 기능이 필요합니다. 현재는 이 기능을 CLR(공용 언어 런타임) 애플리케이션에서 얻고 있습니다. 고객은 데이터 웨어하우스를 찾거나 SQL 노출 영역의 많은 부분을 활용하려고 하지 않지만, 사용자가 상주하는 위치를 스케일링할 수 있어야 합니다.

또한 고객은 하이브리드 환경에서 사용할 인증 방법을 결정하려고 합니다. 기본 솔루션 및 애플리케이션은 Azure에 상주하겠지만, 고객은 다음 요소도 수용해야 합니다.

  • 도메인 조인된 비 Azure 머신의 애플리케이션.
  • 비 Azure 머신에 있으며 드라이버 또는 연결 문자열을 변경할 수 없는 이전 애플리케이션.
  • 도메인 조인되지 않은 비 Azure 머신에서 SQL 관리 도구(SQL Server Management Studio, Azure Data Studio, PowerShell)로부터 보고서를 실행하는 여러 사용자.

가능하면 고객은 연결 문자열과 앱 구성 파일에서 하드 코딩 암호나 비밀을 제거하려고 합니다. 그리고 SQL 도구에서 암호 사용을 제거하거나 인증을 향상하는 방법을 찾고자 합니다.

시나리오 참고 자료

  • 현재 솔루션과 호환성이 가장 높고 바로 사용할 수 있는 Azure SQL 배포 옵션으로 시작합니다.
  • 고객이 읽기 워크로드를 쓰기 워크로드로부터 격리하는 한편, 동시에 발생하는 여러 쿼리를 사용하여 여러 지역에 걸쳐 스케일링하는 방법은 무엇입니까?
  • 고객이 다양한 배포 간에 데이터에 액세스할 수 있는 방법은 무엇입니까?
  • 이 시나리오에서 설명한 상호 작용 경로에 권장되는 인증 방법은 무엇인가요?

작업

  1. 제공된 시나리오 및 참고 자료를 검토한 후에는 최대한 많은 프로젝트 요구 사항을 찾아냅니다.

  2. 솔루션에서 사용할 수 있는 가능한 기술 및 프로세스를 나열합니다. 명확성이 요구되는 경우 더 많은 정보가 포함되도록 자유롭게 시나리오를 조정할 수 있으며 이 사례에 대한 가정을 수립할 수 있습니다.

    보안 문제 해결을 위해 Azure SQL 보안 모범 사례 플레이북을 활용하는 것이 좋습니다.

  3. 의사 결정 매트릭스 또는 일부 다른 의사 결정 프로세스를 사용하여 예비 솔루션을 구성할 기술 및 프로세스를 선택합니다.

  4. 프로젝트 목표 및 제약 조건과 권장되는 솔루션 설계가 제시된 메모를 작성합니다.

예비 솔루션이 정해진 후에는 다음 단계로 더 큰 규모의 팀에(또는 시나리오에 따라 고객이나 리더에게) 이 솔루션을 제출하는 경우가 많습니다. 프로젝트 목표 및 제약 조건과 솔루션이 해당 목표 및 제약 조건을 처리하는 방법을 공유하는 방식으로 솔루션을 어셈블하여 제출해야 합니다.

준비가 되면 다음 질문에 답하면서 자신의 솔루션이 샘플 솔루션과 비교할 때 어떤 수준인지 평가해 보세요. 정답은 여러 개일 수 있으므로 자신의 솔루션이 나열되지 않더라도 실행 가능할 수 있습니다.

지식 점검

1.

이 시나리오에 가장 적합한 사항을 제공할 수 있는 Azure SQL 배포 옵션은 무엇입니까?

2.

고객이 읽기 워크로드를 쓰기 워크로드로부터 격리하는 한편, 동시에 발생하는 여러 쿼리를 사용하여 여러 지역에 걸쳐 스케일링하는 방법은 무엇입니까?

3.

Azure VM의 애플리케이션에 권장되는 인증 방법은 무엇인가요?

4.

도메인 조인된 비 Azure 머신의 애플리케이션에 권장되는 인증 방법은 무엇인가요?

5.

도메인 조인되지 않은 비 Azure 머신에서 SQL 관리 도구(SSMS, PowerShell)에 권장되는 인증 방법은 무엇인가요?

6.

비 Azure 머신에서 드라이버/연결 문자열을 변경할 수 없는 이전 애플리케이션에 권장되는 인증 방법은 무엇입니까?