다음을 통해 공유


미디어에 대한 실시간 모니터링 및 관찰 가능한 시스템 빌드

Azure Data Explorer
Azure 기능
Azure AI Metrics Advisor
Azure Blob Storage
Azure Event Hubs

이 아키텍처는 시스템 및 최종 사용자 디바이스 원격 분석 데이터의 실시간 모니터링 및 가시성을 제공하는 솔루션을 설명합니다. 여기서는 미디어 산업의 사용 사례에 중점을 둡니다.

Grafana는 해당 회사의 상표입니다. 이 상표의 사용은 어떠한 보증도 의미하지 않습니다.

아키텍처

시스템 및 최종 사용자 디바이스 원격 분석 데이터의 실시간 모니터링 및 가시성을 제공하는 아키텍처를 보여 주는 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

데이터 흐름

다이어그램에 표시된 관찰 가능한 시스템에서 원시 원격 분석은 HTTP 및 커넥터를 통해 Azure Blob Storage로 스트림됩니다. 원시 원격 분석은 분석을 위해 Azure Data Explorer에서 처리, 변환, 정규화 및 저장됩니다. Grafana 및 Azure Metrics Advisor와 같은 시스템은 Data Explorer에서 데이터를 읽고 최종 사용자에게 인사이트를 제공합니다.

더 구체적으로 다이어그램의 시스템 요소는 다음과 같습니다.

  1. 계측 계측은 데이터를 모니터링하기 위해 시스템에 설치된 프로브 또는 에이전트를 통해 수행됩니다. 이러한 에이전트는 다양한 형태로 제공됩니다. 예를 들어 주문형 비디오 스트리밍 플랫폼에서 회사는 dash.js 개방형 표준을 사용하여 고객의 체감 품질 메트릭을 수집할 수 있습니다.
  2. 수집. 이 원시 원격 분석은 HTTP 호출을 통해 최종 클라이언트에서 직접 가져올 수 있습니다. 또는 타사 시스템을 통해 영구 스토리지 및 Blob Storage와 같은 데이터 레이크에 업로드할 수 있습니다. Blog Storage는 새 파일이 업로드될 때 Azure 함수를 호출하는 기능을 지원합니다. 이 트리거 메커니즘을 사용하여 원시 원격 분석을 구조적 데이터 웨어하우스로 이동할 수 있습니다.
  3. 변환 및 지속성. 데이터를 정규화하기 위한 변환 시스템이 필요할 수 있습니다. Azure Functions 앱은 필요에 따라 데이터를 변환한 다음, Data Explorer에 씁니다. Data Explorer는 큰 데이터 세트에 대한 고성능 및 처리량을 위해 설계되었으므로 빅 데이터 분석에 적합합니다.
  4. 모니터링 이벤트 처리 규칙의 일부입니다. Azure Managed Grafana는 Data Explorer와의 통합을 지원합니다. Grafana의 끌어서 놓기 기능을 사용하여 대시보드와 차트를 빠르게 빌드할 수 있습니다. Grafana는 대시보드 타일의 1분 미만 새로 고침을 제공하고 경고에도 사용할 수 있으므로 미디어 모니터링에 적합합니다.
  5. 변칙 검색. Grafana 대시보드는 NOC에서 수동 모니터링을 지원합니다. 그러나 큰 데이터 세트와 사용자 기반이 여러 지역에 분산되어 있고 다양한 디바이스를 사용하는 경우 하드 코딩된 임계값이 있는 차트 및 경고 규칙을 통해 문제를 수동으로 식별하는 것은 비효율적입니다. 이 문제는 AI를 사용하여 해결할 수 있습니다. Metrics Advisor와 같은 서비스는 기계 학습 알고리즘을 사용하여 시계열 데이터를 기반으로 하여 변칙을 자동으로 파악하고 검색합니다. 또한 Kusto 데이터 플랫폼에는 데이터의 계절성과 기준 추세를 설명하는 기본 제공 변칙 검색 기능이 있습니다.

구성 요소

  • Data Explorer는 대량의 데이터를 실시간으로 분석하는 관리형 데이터 분석 서비스입니다. Data Explorer는 데이터 검색의 빠른 속도와 처리량이 필요한 큰 데이터 세트를 처리하는 데 유용한 도구입니다. 이 아키텍처는 분석을 위해 Data Explorer를 사용하여 데이터 세트를 저장하고 쿼리합니다.
  • Blob Storage는 원시 원격 분석을 보관하는 데 사용됩니다. 이 원격 분석은 애플리케이션 및 서비스 또는 타사 공급업체에서 가져올 수 있습니다. 나중에 추가 분석을 수행할 필요가 없는 경우 데이터를 일시적으로 처리할 수 있습니다. Blob Storage의 데이터는 Data Explorer 클러스터에 수집됩니다.
  • Azure Event Grid는 이벤트 전송 시스템입니다. Blob Storage에서 게시한 이벤트를 수신 대기하는 데 사용됩니다. Azure Storage 이벤트를 사용하면 애플리케이션에서 Blob 만들기 및 삭제와 같은 이벤트에 대응할 수 있습니다. Azure 함수는 Event Grid에서 게시한 이벤트를 구독합니다.
  • Azure Event Hubs는 원본에서 초당 수백만 개의 이벤트를 수집하는 데 사용할 수 있는 실시간 데이터 수집 서비스입니다. 이벤트 허브는 이벤트 파이프라인에 대한 이벤트 수집기라고도 하는 프런트 도어를 나타냅니다. 이벤트 수집기는 이벤트 게시자와 이벤트 소비자 사이에 있는 구성 요소 또는 서비스입니다. 이벤트 소비에서 이벤트 스트림 생성을 분리합니다.
  • Azure Functions는 HTTP 및 Blob 엔드포인트를 통해 수집된 데이터를 구문 분석 및 변환하고 Data Explorer 클러스터에 쓰는 데 사용되는 서버리스 솔루션입니다.
  • Azure Managed Grafana는 Data Explorer에 쉽게 연결됩니다. 이 아키텍처에서는 원격 분석 데이터를 시각화하는 차트와 대시보드를 생성합니다. Azure Managed Grafana는 대시보드 및 뷰에 대한 역할 기반 액세스를 구현할 수 있도록 Microsoft Entra ID와 긴밀한 통합을 제공합니다.
  • Metrics Advisor Azure AI 서비스의 일부입니다. AI를 사용하여 시계열 데이터에서 데이터 모니터링 및 변칙 검색을 수행합니다. Metrics Advisor는 모델을 데이터에 적용하는 프로세스를 자동화하고 데이터 수집, 변칙 검색 및 진단을 위한 API 세트 및 웹 기반 작업 영역을 제공합니다. 기계 학습에 대한 지식이 없어도 사용할 수 있습니다.

대안

Azure Data FactoryAzure Synapse Analytics는 ETL 워크플로를 빌드하기 위한 도구 및 작업 영역과 그래픽 인터페이스에서 작업을 추적하고 다시 시도하는 기능을 제공합니다. Data Factory와 Azure Synapse에는 모두 수집 시간부터 지속성까지 약 5분 이상의 지연이 있습니다. 이 지연은 모니터링 시스템에서 허용할 수 있습니다. 이 경우 이러한 대안을 고려하는 것이 좋습니다.

시나리오 정보

조직에서 비즈니스 문제를 해결하기 위해 다양한 대규모 기술을 배포하는 경우가 많습니다. 이러한 시스템과 최종 사용자 디바이스는 큰 원격 분석 데이터 세트를 생성합니다.

이 아키텍처는 미디어 산업의 사용 사례를 기반으로 합니다. 라이브 및 주문형 비디오 재생을 위한 미디어 스트리밍에서는 애플리케이션 문제를 거의 실시간으로 식별하고 대응해야 합니다. 이 실시간 시나리오를 지원하기 위해 조직에서 확장성 있는 아키텍처가 필요한 큰 원격 분석 세트를 수집해야 합니다. 데이터가 수집된 후에는 AI 및 변칙 검색과 같은 다른 유형의 분석이 매우 큰 데이터 세트에서 문제를 효율적으로 식별하는 데 필요합니다.

대규모 기술이 배포되면 이러한 기술과 상호 작용하는 시스템 및 최종 사용자 디바이스에서 대규모 원격 분석 데이터 세트를 생성합니다. 기존 시나리오에서 이 데이터는 데이터 웨어하우스 시스템을 통해 분석되어 관리 결정을 지원하는 데 사용할 수 있는 인사이트를 생성합니다. 이 방법은 일부 시나리오에서 작동할 수 있지만 스트리밍 미디어 사용 사례에 대해 충분히 응답하지 않습니다. 이 문제를 해결하려면 모니터링 서버, 네트워크 및 이와 상호 작용하는 최종 사용자 디바이스에서 생성되는 원격 분석 데이터에 대한 실시간 인사이트가 필요합니다. 실패 및 오류를 catch하는 모니터링 시스템은 일반적이지만 거의 실시간으로 catch하는 것이 어렵습니다. 이 점이 이 아키텍처의 초점입니다.

라이브 스트리밍 또는 주문형 비디오 설정에서 원격 분석 데이터는 시스템 및 다른 유형의 클라이언트(모바일, 데스크톱 및 TV)에서 생성됩니다. 이 솔루션에는 원시 데이터를 가져와서 컨텍스트를 데이터 요소(예: 지역, 최종 사용자 운영 체제, 콘텐츠 ID 및 CDN 공급자와 같은 차원)와 연결하는 작업이 포함됩니다. 원시 원격 분석은 분석을 위해 Data Explorer에서 수집, 변환 및 저장됩니다. 그런 다음, AI를 사용하여 데이터를 이해하고 관찰 및 경고의 수동 프로세스를 자동화할 수 있습니다. Grafana 및 Metrics Advisor와 같은 시스템을 사용하여 Data Explorer에서 데이터를 읽어 대화형 대시보드를 표시하고 경고를 트리거할 수 있습니다.

고려 사항

이러한 고려 사항은 워크로드의 품질 개선에 사용할 수 있는 일련의 기본 지침인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

안정성

안정성은 애플리케이션이 고객에 대한 약속을 충족할 수 있도록 합니다. 자세한 내용은 안정성대한 디자인 검토 검사 목록을 참조하세요.

중요 비즈니스용 애플리케이션은 Azure 지역 또는 CDN 중단과 같은 중단 이벤트 중에도 계속 실행되어야 합니다. 중복성을 시스템에 구축하기 위한 두 가지 기본 전략과 하나의 하이브리드 전략이 있습니다.

  • 활성/활성. 중복 코드 및 함수가 실행됩니다. 두 시스템 중 하나에서 오류가 발생하는 동안 인계받을 수 있습니다.
  • 활성/대기. 하나의 노드만 활성/주 노드입니다. 다른 노드는 주 노드의 작동이 중단되는 경우 인계받을 준비가 되어 있습니다.
  • 혼합. 일부 구성 요소/서비스는 활성/활성 구성에 있고 일부는 활성/대기 구성에 있습니다.

모든 Azure 서비스에 기본 제공 중복성이 있는 것은 아닙니다. 예를 들어 Azure Functions는 특정 지역에서만 함수 앱을 실행합니다. Azure Functions 지리적 재해 복구는 함수가 트리거되는 방식(HTTP 및 게시/구독)에 따라 구현할 수 있는 다양한 전략을 설명합니다.

수집 및 변환 함수 앱은 활성/활성 모드에서 실행할 수 있습니다. Data Explorer는 활성/활성 및 활성/대기 구성 모두에서 실행할 수 있습니다.

Azure Managed Grafana는 가용성 영역 중복성을 지원합니다. 지역 간 중복성을 만들기 위한 한 가지 전략은 Grafana를 Data Explorer 클러스터가 배포되는 각 지역에 설정하는 것입니다.

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 개선하는 방법을 모색하는 것입니다. 자세한 내용은 비용 최적화대한 디자인 검토 검사 목록을 참조하세요.

이 아키텍처의 비용은 수신 원격 분석 이벤트 수, Blob Storage 및 Data Explorer의 원시 원격 분석 스토리지, Azure Managed Grafana의 시간당 비용 및 Metrics Advisor의 시계열 차트 수에 대한 정적 비용에 따라 달라집니다.

Azure 가격 책정 계산기를 사용하여 시간당 또는 월별 비용을 예측할 수 있습니다.

성능 효율성

성능 효율성은 워크로드의 크기를 조정하여 사용자가 효율적인 방식으로 요구 사항을 충족하는 기능입니다. 자세한 내용은 성능 효율성대한 디자인 검토 검사 목록을 참조하세요.

들어오는 요청의 규모와 빈도에 따라 다음과 같은 두 가지 주요 이유로 함수 앱이 병목 상태가 될 수 있습니다.

  • 콜드 부팅. 콜드 부팅은 서버리스 실행의 결과입니다. 함수가 처음 실행되기 전에 환경을 스핀업하는 데 필요한 예약 및 설정 시간을 나타냅니다. 필요한 최대 시간은 몇 초입니다.
  • 요청 빈도. 1,000개의 HTTP 요청이 있지만 단일 스레드 서버에서만 이를 처리한다고 가정합니다. 1,000개의 모든 HTTP 요청을 동시에 처리할 수는 없습니다. 이러한 요청을 적시에 처리하려면 더 많은 서버를 배포해야 합니다. 즉, 크기를 가로로 조정해야 합니다.

프리미엄 또는 전용 SKU를 사용하여 다음을 수행하는 것이 좋습니다.

  • 콜드 부팅을 제거합니다.
  • 서비스 가상 머신의 수를 스케일 업하거나 스케일 다운하여 동시 요청에 대한 요구 사항을 처리합니다.

자세한 내용은 Azure Data Explorer 클러스터에 적합한 SKU 선택을 참조하세요.

시나리오 배포

이 시나리오 배포에 대한 자세한 내용은 GitHub의 미디어에 대한 실시간 모니터링 및 가시성을 참조하세요. 이 코드 샘플에는 개발을 부트스트랩하는 데 필요한 IaC(Infrastructure-as-code)와 HTTP 및 Blob 엔드포인트에서 데이터를 수집하고 변환하는 Azure 함수가 포함되어 있습니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

주요 작성자:

기타 기여자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인하세요.

다음 단계