상태 모델링이란?

완료됨

환경이 예상대로 작동하는지 확인하려면 애플리케이션의 상태와 사용하는 Azure 리소스의 주요 메트릭을 모니터링하는 것이 중요합니다. 상태 모델링은 주요 비즈니스 요구 사항으로 원시 데이터 로그 및 메트릭을 보강하는 디자인 연습입니다. 목표는 애플리케이션 상태를 정량화하고 상태의 자동화된 평가를 추진하는 것입니다.

상태 모델링의 이점

워크로드의 전반적인 상태를 평가하려면 모든 메트릭에 대한 전체적인 이해가 필요합니다. 또한 안정성 문제를 신속하게 식별하고 해결해야 합니다.

상태 모델링은 철저한 계측 및 모니터링에 중점을 두지만, 컨텍스트 계층을 추가하여 애플리케이션 상태에 대한 중요한 인사이트를 제공합니다. 잘 디자인된 상태 모델은 원시 데이터 메트릭 대신 워크로드의 전반적인 상태를 명확하게 나타내야 합니다.

중요 업무용 애플리케이션의 복잡한 특성으로 인해 대량의 운영 데이터가 생성될 것으로 예상됩니다. 애플리케이션의 상태를 평가하고 식별된 문제를 해결하는 올바른 작업을 파악하는 것은 어려울 수 있습니다.

상태 모델은 설정된 표시기를 사용하여 상태를 나타내기 때문에 발생할 수 있는 모든 문제를 이해하고 신속하게 대응할 수 있습니다. 일반적으로 상태는 녹색, 노란색 및 빨간색과 같은 신호등 표시기를 사용하여 표시됩니다. 애플리케이션 상태 점수를 추적하여 서비스 저하의 근본 원인을 빠르게 찾을 수 있습니다.

시작하는 방법

상태 모델링 연습을 수행하려면 시스템 및 예상 성능을 깊이 이해해야 합니다. ‘계층화된 모델’은 애플리케이션의 전반적인 상태를 세분화된 수준으로 나타내는 데 권장됩니다. 계층은 애플리케이션 및 해당 종속성을 포함하는 계층적 워크로드 구조를 나타냅니다.

  • 최상위 계층에서 상태는 애플리케이션 내의 사용자 상호 작용 또는 흐름을 나타냅니다. 중요한 경로에 있는 흐름과 그렇지 않은 흐름에 대해 생각해 보세요.
  • 하위 계층에서는 주요 비기능적 요구 사항을 염두에 두고 개별 애플리케이션 구성 요소의 상태를 정의해야 합니다. 기능 구성 요소와 논리 구성 요소 간의 종속성을 매핑합니다. 또한 애플리케이션 구성 요소에서 사용하는 Azure 리소스 간의 종속성을 매핑합니다.
  • 기본 계층에서 상태는 애플리케이션에서 사용되는 Azure 리소스를 나타냅니다.

상태 모델링 프로세스는 모든 사용자 흐름을 정의하고, 종속성을 매핑하고, 흐름에 대한 상태를 정량화하는 것으로 시작하는 하향식 디자인 활동입니다.

이 접근 방식에 권장되는 단계는 다음과 같습니다.

  1. 각 구성 요소가 상태 점수를 나타내도록 각 구성 요소에 대한 상태를 정량화합니다. 상태 점수는 주요 비즈니스 요구 사항을 고려하는 다양한 성능 메트릭의 집계일 수 있습니다.
  2. 흐름의 상태를 나타내기 위해 개별 구성 요소의 상태 점수를 결합하여 각 흐름의 상태 상태를 정량화합니다. 중요도 측면에서 컨텍스트를 설정하기 위한 비기능적 요구 사항을 고려합니다.
  3. 비즈니스 중요도에 따라 모든 계층에 적절한 가중치를 적용하여 전반적인 상태에 대한 의미 있는 정의를 만듭니다. 예를 들어 최상위 계층에서는 재정적으로 중요한 흐름과 고객 관련 사용자 흐름이 다른 흐름보다 더 중요합니다.

이 이미지는 이전 방법의 예제 결과를 보여 줍니다. 상태 모델은 이러한 계층화된 상태 정의를 사용하여 모든 시스템 구성 요소에서 중요한 모니터링 메트릭을 알리고 운영 하위 시스템 구성의 유효성을 검사합니다.

Diagram that shows the architecture for a typical layered health model.

다음 연습에서는 고급 프로세스를 예제에 적용하고 계층화된 상태 모델을 빌드합니다.

계층화된 상태 모델에 대한 자세한 내용은 계층화된 애플리케이션 상태를 참조하세요. 또한 계층화된 상태 모델의 예제를 참조하세요.

지식 점검

1.

기존 대시보드 대신 상태 모델을 사용하는 주요 동기는 무엇인가요?

2.

상태 모델링은 다음 사항에 중점을 둡니다.

3.

애플리케이션 상태 모델이 계층화되었다면 어떤 의미인가요?