솔루션 아이디어
이 문서는 솔루션 아이디어 설명입니다. 클라우드 설계자는 이 지침을 사용하여 이 아키텍처의 일반적인 구현을 위한 주요 구성 요소를 시각화할 수 있습니다. 이 문서를 시작점으로 사용하여 워크로드의 특정 요구 사항에 맞는 잘 설계된 솔루션을 디자인할 수 있습니다.
이 문서에서는 Azure Data Explorer 및 Azure Service Bus를 사용하여 거의 실시간 분석을 통해 기존 메시지 브로커 아키텍처를 향상시키는 방법을 설명합니다. IT 관리자, 클라우드 설계자, 운영 및 모니터링 팀을 위한 것입니다.
아키텍처
이 아키텍처의 Visio 파일을 다운로드합니다.
Grafana 로고는 Raintank, Inc., dba Grafana Labs의 상표입니다. 이 상표의 사용은 어떠한 보증도 의미하지 않습니다.
다이어그램에는 두 개의 데이터 경로가 표시됩니다. 1~5개의 실선 및 상자로 표시되는 기본 경로는 다양한 원본에서 서비스 버스로 데이터를 수집하여 스트림 분석 작업에 의해 처리되고 SQL 데이터베이스에 저장되는 경로입니다. 점선 및 상자로 표시되는 두 번째 경로는 서비스 버스에서 Azure Data Explorer 클러스터로 흐르는 데이터를 보여 줍니다. 여기서는 KQL(Kusto 쿼리 언어)을 통해 쿼리하고 분석할 수 있습니다.
Service Bus는 트랜잭션 애플리케이션에 대한 큐 기반 부하 평준화 패턴을 구현하는 데 사용됩니다.
Azure Data Explorer는 거의 실시간으로 분석을 실행하고 API 또는 직접 쿼리(예: Power BI, Azure Managed Grafana 또는 Azure Data Explorer 대시보드)를 통해 데이터를 노출하는 데 사용됩니다.
데이터 흐름
아키텍처의 데이터 원본은 기존 OLTP(온라인 트랜잭션 처리) 애플리케이션입니다. Service Bus는 애플리케이션을 비동기적으로 스케일 아웃하는 데 사용됩니다.
Azure 앱 Service에서 호스트되는 OLTP 애플리케이션(데이터 원본)은 Service Bus로 데이터를 보냅니다.
Service Bus에서 두 가지 방향으로 데이터 흐름:
기존 OLTP 애플리케이션 흐름에서 함수 앱을 트리거하여 Azure SQL Database, Azure Cosmos DB 또는 유사한 운영 데이터베이스에 데이터를 저장합니다.
거의 실시간 분석 흐름에서 오케스트레이션 흐름을 트리거합니다.
오케스트레이션 흐름은 거의 실시간 분석을 위해 Azure Data Explorer로 데이터를 보냅니다. 흐름은 다음 중 하나를 사용할 수 있습니다.
- SDK를 사용하여 마이크로 일괄 처리로 데이터를 보내거나 스트리밍 수집을 위해 구성된 경우 Azure Data Explorer 에서 제공하는 관리되는 스트리밍 수집 지원을 사용하는 함수 앱입니다.
- AKS(Azure Kubernetes Service) 또는 Azure VM에서 호스트되는 애플리케이션과 같은 폴링 서비스는 데이터를 Azure Data Explorer에 마이크로 일괄 처리로 보냅니다. 이 옵션은 Azure Data Explorer 스트리밍 수집을 구성할 필요가 없습니다.
Azure Data Explorer는 스키마 매핑 및 업데이트 정책을 사용하여 데이터를 처리하고 대화형 분석 또는 보고를 위해 API, SDK 또는 커넥터를 통해 사용할 수 있도록 합니다. 필요에 따라 Azure Data Explorer는 SQL Database 또는 Azure Data Lake Storage와 같은 다른 데이터 원본에서 데이터를 수집하거나 참조할 수도 있습니다.
애플리케이션, 사용자 지정 서비스 또는 Azure Data Explorer 대시보드, Power BI 및 Azure Managed Grafana와 같은 보고 서비스는 Azure Data Explorer의 데이터를 거의 실시간으로 쿼리할 수 있습니다.
구성 요소
- App Service를 사용하면 인프라를 관리할 필요 없이 선택한 프로그래밍 언어로 웹앱, 모바일 백 엔드 및 RESTful API를 빌드하고 호스트할 수 있습니다.
- Service Bus 는 신뢰할 수 있는 클라우드 메시징을 서비스로 제공합니다.
- SQL Database 는 클라우드용으로 빌드된 완전 관리형 SQL 데이터베이스입니다. 자동 업데이트, 프로비전, 크기 조정 및 백업을 제공합니다.
- Azure Cosmos DB 는 모든 규모의 애플리케이션에 대해 전역적으로 분산된 다중 모델 데이터베이스입니다.
- Azure Functions는 이벤트 기반 서버리스 컴퓨팅 플랫폼입니다. Functions를 사용하면 클라우드에서 대규모로 배포 및 운영하고 트리거와 바인딩을 사용하여 서비스를 통합할 수 있습니다.
- AKS 는 애플리케이션 및 마이크로 서비스 워크로드에 대해 고가용성, 매우 안전한 완전 관리형 Kubernetes 서비스입니다.
- Azure Data Explorer 는 애플리케이션, 웹 사이트, IoT 디바이스 등에서 스트리밍되는 대량의 데이터를 실시간으로 분석하기 위한 빠르고 완전히 관리되며 확장성이 뛰어난 데이터 분석 서비스입니다.
- Azure Blob Storage를 기반으로 하는 Data Lake Storage는 확장성이 뛰어난 데이터 레이크 기능을 제공합니다.
- Power BI는 데이터를 일관되고, 시각적으로 몰입되는 대화형 인사이트로 전환하는 데 도움이 될 수 있습니다.
- Azure Managed Grafana 는 구성에 시간을 소비하지 않고 Grafana를 배포할 수 있는 완전 관리형 서비스입니다.
시나리오 정보
실시간 분석은 생성되는 즉시 데이터를 분석하여 시스템의 현재 상태에 대한 인사이트를 얻는 프로세스입니다. 조직은 점점 더 실시간 분석을 채택하여 경쟁 우위를 확보하고 있습니다. 근 실시간 분석은 데이터 생성 후 몇 초 또는 몇 분 내에 인사이트를 제공하는 실시간 분석의 변형입니다.
이러한 프로세스를 통해 조직은 인사이트를 더 빠르게 얻고, 더 나은 결정을 내리고, 변화하는 조건에 보다 효과적으로 대응할 수 있습니다. 거의 실시간 분석은 전자 상거래, 의료, 제조 및 금융과 같은 다양한 도메인에 적용할 수 있습니다. 예를 들어 전자 상거래 회사는 거의 실시간으로 분석을 사용하여 고객 행동을 모니터링하고, 가격을 최적화하고, 권장 사항을 개인 설정할 수 있습니다.
많은 조직에서 기존 솔루션에서 거의 실시간으로 분석을 구현합니다. 이 솔루션 아이디어는 메시지 브로커를 기반으로 하고 운영 OLTP 애플리케이션의 일부인 기존 아키텍처에 거의 실시간 분석을 추가하는 방법을 보여 줍니다.
OLTP는 온라인 트랜잭션 처리를 의미합니다. 일반적으로 실시간 환경에서 데이터 입력 및 검색 트랜잭션을 위해 트랜잭션 지향 애플리케이션을 관리하는 데이터 처리 유형입니다. OLTP 시스템은 은행 거래 또는 신용 카드 구매와 같이 본질적으로 금융이 자주 발생하는 작고 빠른 거래를 처리하도록 설계되었습니다.
잠재적인 사용 사례
근 실시간 분석의 이점을 보여 주는 몇 가지 사용 사례는 다음과 같습니다.
- 의료 제공자는 환자 결과를 추적하고, 변칙을 감지하고, 치료의 품질을 향상시킬 수 있습니다.
- 제조 회사는 생산을 최적화하고, 폐기물을 줄이고, 가동 중지 시간을 방지할 수 있습니다.
- 금융 기관은 거래를 모니터링하고, 사기를 감지하고, 위험을 관리하고, 규정 준수를 보장할 수 있습니다.
- 상거래 회사는 캠페인을 모니터링하고 홍보를 지원하기 위한 인사이트를 얻을 수 있습니다.
- 회사는 공급망을 모니터링, 최적화, 분석 및 예측할 수 있습니다.
참가자
Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.
보안 주체 작성자:
- Shlomo Sagir | 선임 콘텐츠 개발자
기타 기여자:
- Mick Alberts | 테크니컬 라이터
비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인하세요.