용량 계획에 대한 권장 사항

이 Azure Well-Architected Framework 성능 효율성 검사 목록 권장 사항에 적용됩니다.

PE:02 용량 계획을 수행합니다. 사용 패턴의 변경이 예측되기 전에 용량 계획을 수행해야 합니다. 예측된 변경에는 계절적 변화, 제품 업데이트, 마케팅 캠페인, 특별 이벤트 또는 규정 변경이 포함됩니다.

이 가이드에서는 용량 계획에 대한 권장 사항을 설명합니다. 용량 계획은 워크로드 성능 목표를 충족하는 데 필요한 리소스를 결정하는 프로세스를 나타냅니다. 여기에는 워크로드의 성능 요구 사항을 지원하는 데 필요한 CPU, 메모리, 스토리지 및 네트워크 대역폭과 같은 컴퓨팅 리소스의 양을 예측하는 작업이 포함됩니다. 용량 계획은 과소 프로비전을 방지하고 성능 저하 또는 병목 현상이 발생하지 않고 워크로드에 예상된 워크로드 요구를 처리할 수 있는 충분한 리소스가 있는지 확인합니다. 또한 과잉 프로비전 및 불필요한 비용을 방지하는 데 도움이 됩니다. 용량 계획이 부족하면 성능 문제, 리소스 병목 상태, 비용 증가, 비효율적인 할당, 확장성 문제 및 예측할 수 없는 워크로드 성능이 발생할 수 있습니다.

정의

용어 정의
용량 계획 워크로드가 성능 목표를 충족하는 데 필요한 리소스를 예측하는 프로세스입니다.
기능적인 요구 사항 워크로드가 의도한 목적을 충족해야 하는 기능과 기능입니다.
기술 요구 사항 기능 요구 사항을 충족하는 데 필요한 코드 및 인프라입니다.
추세 분석 향후 수요를 예측하기 위한 기록 데이터 분석입니다.

주요 디자인 전략

용량 계획은 예상된 워크로드 요구 및 패턴을 기반으로 의사 결정을 내리는 미래 예측 프로세스입니다. 목표는 연속 부하 시나리오와 최대 부하 시나리오 모두에서 워크로드 성능을 최적화하는 것입니다. 계절적 변화 또는 제품 릴리스와 같은 사용량의 변화를 이해하면 리소스를 전략적으로 할당하여 수요가 많은 기간 동안 시스템 부담을 방지할 수 있습니다. 이 사전 대응 전략은 중단을 줄이고 성능 효율성을 강화합니다. 과거 사용량 추세 및 성장 데이터를 분석하여 단기 및 장기 요구 사항을 예측할 수 있습니다. 잠재적인 병목 상태 및 크기 조정 문제를 정확히 파악하여 일관되고 효율적인 워크로드 성능을 보장할 수 있습니다.

용량 데이터 수집

워크로드 사용률 데이터를 수집하려면 워크로드에서 리소스를 사용하는 방법에 대한 정보를 수집하고 분석해야 합니다. 기존 워크로드의 기록 패턴 및 새 워크로드에 대한 예측 측정값에 대한 데이터를 수집해야 합니다. 이 프로세스는 비즈니스 목표를 기술 요구 사항으로 변환하는 데 도움이 되며 용량 예측에 필수적입니다. 다음 권장 사항을 고려할 수 있습니다.

기존 워크로드 이해

용량 계획에 대한 기존 워크로드를 이해하려면 워크로드가 리소스를 활용하는 방법과 관련된 기록 데이터를 분석해야 합니다. 리소스 사용률, 성능 데이터 및 워크로드 패턴과 같은 메트릭을 포함합니다. 이러한 이해는 효율적인 리소스 할당을 보장하고, 비즈니스 목표를 기술 요구 사항으로 변환하며, 잠재적인 병목 상태를 식별하는 데 도움이 됩니다.

  • 데이터 이해: 사용 가능한 기록 데이터를 검토하고 용량 계획의 구조, 형식 및 관련성을 이해합니다. 검토에는 리소스 사용률 메트릭, 워크로드 패턴, 성능 메트릭 및 기타 관련 데이터 요소가 포함될 수 있습니다. 비즈니스 프로세스 및 애플리케이션의 중요도를 이해합니다. 최대 사용 시간, 사용자 로드, 트랜잭션 속도 및 기타 관련 메트릭을 식별합니다.

  • 데이터 정리 및 전처리: 불일치, 오류 또는 이상값을 제거하여 분석을 위해 데이터를 준비합니다. 데이터 준비에는 데이터 대체, 누락 값 처리 또는 정규화와 같은 데이터 정리 기술이 포함될 수 있습니다.

  • 주요 메트릭 식별: 용량 계획과 관련된 메트릭을 식별합니다. 메트릭에는 CPU 사용률, 메모리 사용량, 네트워크 처리량 및 응답 시간이 포함될 수 있습니다.

  • 병목 상태 식별: 처리량 및 응답 시간을 측정하여 워크로드가 증가함에 따라 병목 상태가 될 수 있는 시스템의 특정 구성 요소를 식별합니다. 초당 요청 및 데이터베이스 CPU 사용량은 용량의 좋은 지표가 될 수 있습니다.

  • 데이터 시각화: 차트 또는 플롯과 같은 시각화를 만들어 기록 데이터에 대한 더 나은 인사이트를 얻습니다. 시각화를 사용하면 데이터에서 패턴, 추세 및 변칙을 식별하여 워크로드 동작을 보다 명확하게 이해할 수 있습니다.

새 워크로드 이해

용량 계획에 대한 새로운 워크로드를 이해하려면 기록 데이터 없이 향후 작업의 리소스 요구 사항을 예측하는 것을 의미합니다. 기록 데이터 없이 새 워크로드의 향후 요구 사항을 예측하는 것이 더 어려울 수 있습니다. 이 프로세스를 통해 리소스를 효율적으로 할당하고 워크로드가 도입될 때 워크로드 목표에 맞게 할당을 정렬할 수 있습니다. 다음 권장 사항을 고려할 수 있습니다.

  • 시장 조사: 유사한 제품 또는 서비스에 대한 수요를 이해하기 위해 시장 조사를 수행하면 새로운 워크로드에 대한 잠재적 수요에 대한 귀중한 인사이트를 제공할 수 있습니다. 이 연구에는 시장 동향 분석, 설문 조사 수행 또는 경쟁 업체 제품 연구가 포함될 수 있습니다.

  • 전문가 판단: 실무 전문가 또는 업계 경험이 있는 전문가의 입력은 새로운 워크로드에 대한 수요를 예측하는 데 도움이 될 수 있습니다. 그들의 전문 지식과 통찰력은 예측에 중요한 입력을 제공 할 수 있습니다.

  • 파일럿 프로젝트 또는 프로토타입: 소규모 파일럿 프로젝트 또는 프로토타입은 실시간 데이터 및 피드백을 수집하는 데 도움이 될 수 있습니다. 그런 다음 이 데이터를 사용하여 용량 계획 프로세스를 알리고 예상 수요를 조정할 수 있습니다.

  • 외부 데이터 원본: 업계 보고서, 시장 조사 또는 고객 설문 조사와 같은 외부 데이터 원본은 새 워크로드에 대한 수요를 예측하기 위한 추가 정보를 제공할 수 있습니다. 이러한 원본은 고객 선호도, 시장 동향 및 잠재적 수요 동인에 대한 귀중한 인사이트를 제공할 수 있습니다.

수요 예측

수요 예측에는 워크로드 데이터를 사용하여 서비스 또는 제품에 대한 향후 요구 사항을 예측하는 작업이 포함됩니다. 효율적인 리소스 할당을 보장하고, 성장 패턴을 예상하며, 잠재적인 수요 급증에 대비하기 위해 용량 계획에 필수적입니다. 향후 수요를 예측할 때 데이터를 사용하여 향후 요구 사항을 파악합니다. 통계 분석, 추세 분석 또는 예측 모델링 기술을 향후 수요를 예측해야 하는 데이터에 적용합니다. 이러한 메서드는 기록 또는 예상 패턴을 고려하여 향후에 프로젝션하여 예상 워크로드 수요를 예측합니다. 수요를 예측하려면 다음 전략을 고려합니다.

다양한 시나리오 고려

용량 계획을 수행할 때 발생할 수 있는 다양한 시나리오를 계획해야 합니다. 이 계획에는 예측 가능한 성장 패턴과 예기치 않은 수요 급증이 모두 포함되어야 합니다. 사용 패턴은 증가하거나 축소할 수 있습니다. 유기적(더 많거나 적은 사용자) 또는 조직(이벤트 또는 보안 인시던트)일 수 있습니다. 사용량이 변경되기 전에 주요 시간에 용량 계획을 수행해야 합니다.

  • 디자인(예측)
  • 정기적인 급증(오전 8:00 로그인 러시)
  • 시작(예측 유효성 검사)
  • 비즈니스 모델 변경
  • 인수 또는 합병
  • 마케팅 푸시
  • 계절적 변화
  • 기능 시작
  • 정기적 으로

예측 기술 사용

서비스 또는 제품에 대한 향후 수요를 예측하려면 통계 분석, 추세 분석 및 예측 모델링과 같은 기술을 사용해야 합니다. 이러한 기술을 사용하는 방법에 대한 개요는 다음과 같습니다.

  • 통계 분석: 통계 메서드를 사용하면 기록 데이터 내에서 패턴과 관계를 파악할 수 있습니다. 이러한 패턴을 사용하여 향후 수요를 예측할 수 있습니다. 시계열 분석, 회귀 분석 및 이동 평균과 같은 기술을 사용하여 데이터의 추세, 계절성 및 기타 패턴을 식별할 수 있습니다.

  • 추세 분석: 추세 분석에는 기록 데이터를 검사하여 일관된 패턴을 식별하고 이러한 패턴을 미래로 추정하는 작업이 포함됩니다. 예를 들어 워크로드 수요가 지난 1년 동안 10% 증가한 경우 이러한 추세의 지속을 예측할 수 있습니다. 일정 기간 동안 기록 수요 데이터를 분석할 때 증가 또는 감소 추세를 식별할 수 있습니다. 이러한 추세를 향후 수요를 예측하기 위한 기준으로 사용합니다. 추세 분석은 트래픽(비동기)의 급속한 변화를 야기하는 일회성 이벤트의 영향을 식별할 수도 있습니다. 예를 들어 기능 릴리스는 지속적으로 수요를 5% 증가시킬 수 있습니다. 연간 4개의 주요 릴리스가 있는 경우 매번 5% 증가를 계획해야 합니다.

  • 예측 모델링: 예측 모델링은 기록 데이터 및 기타 관련 변수를 사용하여 향후 수요에 대한 예측을 만드는 수학적 모델을 빌드하는 프로세스입니다. 기계 학습 알고리즘, 신경망 또는 의사 결정 트리와 같은 기술을 사용할 수 있습니다. 이러한 모델은 여러 요인과 변수를 고려하여 보다 정확한 예측을 제공할 수 있습니다.

워크로드 목표에 맞게 예측 조정

예측을 워크로드 목표에 맞게 조정하려면 예측 용량 모델을 조정하여 지정된 워크로드의 특정 목표와 요구를 충족하는지 확인해야 합니다. 이렇게 정렬하면 리소스가 적절하게 프로비전되어 사용 부족과 잠재적인 워크로드 오버로드를 모두 방지할 수 있습니다. 예를 들어 100만 명의 사용자가 초당 1MB 파일을 업로드하는 API를 지원하는 것을 목표로 하지만 현재 데이터에 느린 쓰기 속도가 표시되는 경우 시스템을 조정해야 합니다. 워크로드의 요구 사항을 파악하려면 이해 관계자와 논의해야 합니다. 계획이 서비스 공급자의 약속(SLA)과 일치하는지 확인합니다. 이렇게 정렬하면 용량이 예상 수요를 충족하고 변경이 필요할 수 있는 시스템 영역을 정확히 파악할 수 있습니다.

리소스 요구 사항 확인

용량 계획에 대한 리소스 요구 사항을 결정하려면 예상 수요를 충족하는 데 필요한 리소스를 평가해야 합니다. 예를 들어 애플리케이션이 프로모션 캠페인 중에 사용자가 50% 증가할 것으로 예상하는 경우 더 많은 클라우드 인스턴스를 할당하거나 증가된 부하를 처리하도록 자동 크기 조정 매개 변수를 조정해야 할 수 있습니다.

워크로드에는 많은 리소스가 있을 수 있으므로 리소스 요구 사항을 확인하기 위해 관찰할 메트릭이 하나도 없습니다. 의미 있는 결과를 얻으려면 리소스 수준에서 용량을 측정해야 합니다. 기록 데이터, 시장 추세 및 비즈니스 예측을 기반으로 리소스에 대한 예상 수요를 예측합니다. 트랜잭션 수, 동시 사용자 또는 기타 관련 메트릭을 고려합니다.

예상 수요에 따라 해당 수요를 충족하는 데 필요한 리소스를 계산합니다. 서버 용량, 네트워크 대역폭, 스토리지 용량 및 담당자와 같은 요소를 고려합니다.

  • 서버 용량: 예상 동시 사용자 또는 트랜잭션 수에 따라 필요한 서버 용량을 결정합니다. 서버가 예상 워크로드를 처리할 수 있도록 CPU, 메모리 및 디스크 공간 요구 사항과 같은 요소를 고려합니다.

  • 네트워크 대역폭: 예상되는 트래픽 수준을 지원하는 데 필요한 네트워크 대역폭을 평가합니다. 서버와 클라이언트 간의 원활하고 효율적인 통신을 보장하려면 인바운드 및 아웃바운드 데이터 전송 속도를 모두 포함해야 합니다.

  • 스토리지 용량: 예상 수요 중에 워크로드가 생성하거나 처리하는 데이터의 양을 예측합니다. 데이터베이스 크기, 파일 스토리지 요구 사항 및 애플리케이션과 관련된 기타 데이터 스토리지 요구 사항과 같은 요소를 고려합니다.

  • 직원: 인프라를 관리 및 유지 관리하고, 고객 지원을 처리하고, 시스템 유지 관리를 수행하고, 원활한 운영을 보장하는 데 필요한 인적 자원을 평가합니다. 워크로드 배포, 기술 집합 및 필요한 전문 지식과 같은 요소를 고려합니다.

리소스 제한 사항 이해

워크로드의 리소스에는 성능 제한이 있습니다. 성능 제한은 각 서비스 내의 서비스 및 SKU에 적용됩니다. 워크로드의 리소스 제한 사항을 이해하고 이러한 제한을 디자인 결정에 고려해야 합니다. 예를 들어 리소스 제한으로 SKU를 변경하거나 리소스를 완전히 변경해야 하는지 여부를 알아야 합니다.

또한 도달 가능한 제한을 식별해야 합니다. 워크로드의 최대 임계값 또는 경계를 정확히 찾아내는 것을 의미합니다. 이러한 제한은 일반적으로 인프라(컴퓨팅, 메모리, 스토리지, 네트워크), 애플리케이션(동시 데이터베이스 연결, 응답 시간, 가용성), 서비스(초당 요청 수) 및 크기 조정에 적용됩니다. 용량 계획이 도달 가능한 제한을 식별하는 경우 제한으로 인해 성능 문제가 발생하기 전에 워크로드를 수정해야 합니다. 성능 기준, 지속적인 모니터링 및 테스트는 제한 및 솔루션의 유효성을 검사하는 데 필수적입니다.

절충: 잘못 판단된 용량 계획으로 인해 리소스가 과도하게 프로비전되거나 프로비저닝이 부족해질 수 있습니다. 과도하게 프로비저닝하면 비용이 높아질 수 있습니다. 프로비저닝이 부족하면 성능이 저하할 수 있습니다. 적절한 균형을 찾으십시오.

Azure 촉진

용량 데이터 수집 및 수요 예측: Azure Monitor 를 사용하면 애플리케이션 및 인프라에서 원격 분석 데이터를 수집하고 분석할 수 있습니다. 가상 머신, 컨테이너 및 스토리지 계정을 비롯한 다양한 Azure 리소스의 모니터링을 지원합니다. 주요 도구에는 Application Insights 및Log Analytics가 포함됩니다. 데이터 수집을 구성하고 모니터링하려는 메트릭 및 로그를 정의하면 분석을 위해 중요한 워크로드 데이터를 수집할 수 있습니다. 네트워크 모니터링을 위해 Azure Monitor를 Azure Network Watcher, Azure Monitor 네트워크 인사이트 및 Azure ExpressRoute 모니터링과 결합합니다.

Azure Monitor를 사용하면 기록 데이터를 분석하고 예측 기술을 적용하여 향후 워크로드 추세 및 용량 요구 사항을 예측할 수 있습니다. 용량 계획에 도움이 될 수 있는 예측을 생성할 수 있습니다. 이러한 예측은 예측된 수요 패턴을 사용하여 서버 용량, 네트워크 대역폭, 스토리지 용량 및 기타 리소스 요구 사항을 예측하는 데 도움이 됩니다.

리소스 요구 사항 결정: 다양한 구성을 제공하기 때문에 Azure 도구 및 서비스는 기술 요구 사항을 정의하는 데 도움이 될 수 있습니다. 워크로드 요구 사항을 사용 가능한 Azure 리소스에 맞게 조정하여 기능 요구 사항에 맞게 적절한 구성 요소 및 설정을 선택할 수 있습니다.

리소스 제한 사항 이해: Azure는 다양한 Azure 서비스 및 SKU의 성능 제한 사항을 이해하는 데 도움이 되는 설명서 및 리소스를 제공합니다. 이러한 제한 사항을 고려하면 정보에 입각한 디자인 결정을 내리고 성능 및 비용 효율성을 위해 워크로드 아키텍처를 최적화하는 데 도움이 될 수 있습니다.

Azure는 워크로드 수요에 따라 리소스를 자동으로 조정할 수 있는 자동 크기 조정과 같은 확장성 옵션을 제공합니다. 더 큰 가상 머신 크기를 사용하여 리소스의 용량을 늘려 수직으로 확장하거나 리소스의 새 인스턴스를 추가하여 수평으로 확장할 수 있습니다. 자동 크기 조정 기능이 있는 Azure 서비스는 워크로드가 최고조에 달하는 동안 용량을 보장하고 부하가 감소하면 정상으로 돌아갈 수 있도록 자동으로 스케일 아웃할 수 있습니다. 구성 및 서비스에는 알고 있어야 하는 크기 조정 제한이 있습니다. 설명서를 읽거나 테스트를 실행할 수 있습니다. Azure는 워크로드에 대한 관련 데이터를 수집하는 데 도움이 되는 부하 및 다양한 사용 패턴을 시뮬레이션할 수 있는 Azure Load Testing과 같은 도구를 제공합니다.

성능 효율성 검사 목록

전체 권장 사항 집합을 참조하세요.