Compartilhar via


Crie sistemas observáveis e de monitoramento em tempo real para a mídia

Azure Data Explorer
Azure Functions
Microsoft Fabric
Armazenamento do Blobs do Azure
Hubs de eventos do Azure

Essa arquitetura descreve uma solução que fornece monitoramento quase em tempo real e observabilidade de sistemas e dados de telemetria do dispositivo de usuário. Ele foca em um caso de uso para o setor de mídia.

Arquitetura

Diagrama que mostra uma arquitetura que fornece monitoramento quase em tempo real e observabilidade de sistemas e dados de telemetria do dispositivo de usuário.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

Os dispositivos e aplicativos cliente transmitem telemetria bruta para o Microsoft Fabric por meio de HTTP e conectores. Os fluxos de eventos ingerem os dados. Os recursos do Fabric Real-Time Intelligence transformam, normalizam e persistem dados de telemetria em uma casa de eventos, que é um banco de dados de série temporal escalonável. os painéis do Real-Time Intelligence fornecem insights e o Data Activator dispara ações automatizadas com base em padrões detectados.

O fluxo de dados a seguir corresponde ao diagrama anterior:

  1. Instrumentação: A instrumentação ocorre por meio de sondas ou agentes instalados em sistemas para monitorar dados. Esses agentes têm várias formas. Por exemplo, em uma plataforma de streaming de vídeo sob demanda, uma empresa pode usar o padrão aberto dash.js para coletar métricas de Qualidade de Experiência (QoE) dos clientes.

  2. Ingestão: Os clientes ingerem telemetria bruta diretamente por meio de chamadas HTTP para pontos de extremidade específicos do serviço. O Azure Functions manipula os dados de entrada. Como alternativa, você pode carregar a telemetria por meio de sistemas externos em soluções de armazenamento persistente, como o Armazenamento de Blobs do Azure ou data lakes. Os fluxos de eventos do Fabric fornecem uma experiência sem código para rotear esses dados para entidades nativas do Fabric, como um centro de eventos ou um Ativador de Dados.

  3. Transformação e persistência: O Fabric gerencia a transformação de dados usando políticas de atualização de tabela e exibições materializadas. Uma casa de eventos armazena os dados transformados e dá suporte à análise de alta taxa de transferência em grandes conjuntos de dados de série temporal. Essa abordagem complementa os mecanismos de ingestão existentes. Ele também fornece uma alternativa mais integrada e escalonável aos pipelines tradicionais que dependem do Azure Functions e do Data Explorer para transformação e análise.

  4. Monitorização: O hub Real-Time Intelligence no Fabric centraliza o acesso a eventos de streaming e dados de monitoramento. Você pode usá-lo para visualizar métricas, definir alertas e monitorar o desempenho em todo o locatário do Fabric. Essa arquitetura se concentra principalmente no monitoramento dos aplicativos, serviços e dispositivos cliente que têm players, conforme mostrado no lado esquerdo do diagrama. Esses componentes geram a telemetria e os sinais operacionais que outros componentes ingerem e analisam. Eles servem como os principais objetivos de observabilidade.

  5. Detecção de anomalias: Real-Time Intelligence inclui detecção de anomalias com tecnologia IA integrada por meio do Data Activator. Esse recurso pode identificar automaticamente padrões incomuns ou violações de limite em dados de streaming e disparar ações responsivas. Esses recursos usam modelos de machine learning para detectar anomalias em tempo real sem configuração manual. Os eventhouses também dão suporte a funções avançadas de detecção de anomalias que explicam a sazonalidade, tendências e linhas de base históricas. Essa funcionalidade permite insights mais precisos e com reconhecimento de contexto em grandes conjuntos de dados de série temporal.

Componentes

  • O Armazenamento de Blobs é um serviço de armazenamento de objetos escalonável para dados não estruturados. Nessa arquitetura, o Armazenamento de Blobs armazena telemetria bruta proveniente de aplicativos, serviços ou fornecedores externos. Trate esses dados como transitórios se nenhuma análise adicional for necessária. A telemetria roteia por meio de um fluxo de eventos do Fabric para uma casa de eventos. Você pode usar recursos nativos do Fabric para transformar e persistir os dados para análises de alto desempenho.

  • A Grade de Eventos do Azure é um serviço de roteamento de eventos gerenciado que permite arquiteturas controladas por eventos. Nessa arquitetura, a Grade de Eventos serve como um sistema de entrega de eventos confiável que escuta eventos publicados pelo Armazenamento de Blobs, como criação ou exclusão de blobs. Esses eventos ativam o processamento downstream através de funções do Azure, que se inscrevem em notificações do Event Grid. Essa integração permite fluxos de trabalho responsivos e controlados por eventos que dão suporte à ingestão de telemetria e ao roteamento dentro da arquitetura mais ampla baseada em Malha.

  • Os Hubs de Eventos do Azure são uma plataforma de streaming de Big Data e um serviço de ingestão de eventos que pode receber e processar milhões de eventos por segundo. Nessa arquitetura, os Hubs de Eventos servem como a porta de entrada, também conhecido como coletor de eventos, para o pipeline de eventos. Um ingestor de eventos é um componente ou serviço localizado entre os editores de eventos e os consumidores de eventos. Ele desassocia a produção de um fluxo de eventos do consumo dos eventos.

  • O Azure Functions é um serviço de computação sem servidor que você pode usar para executar código disparado por evento sem precisar provisionar ou gerenciar explicitamente a infraestrutura. Nessa arquitetura, o Azure Functions analisa e transforma dados ingeridos por meio de pontos de extremidade HTTP e blob. Os dados de telemetria são roteados para fluxos de eventos e centrais de eventos para transformação e análise escalonáveis.

  • Um fluxo de eventos do Fabric é um recurso no Fabric que permite ingestão, transformação e roteamento de eventos em tempo real. Nessa arquitetura, os fluxos de eventos do Fabric fornecem vários conectores de origem para buscar dados de eventos de várias fontes. Você pode usar essa abordagem para criar a lógica de processamento, transformação e roteamento de dados de eventos sem escrever código.

  • Um Fabric eventhouse é um banco de dados de análise otimizado para dados de séries temporais e cargas de trabalho de análise em tempo real. Nessa arquitetura, as casas de eventos são adaptadas a eventos de streaming baseados em tempo que contêm dados estruturados, semiestruturados e não estruturados. Você pode obter dados de várias fontes, em vários pipelines e vários formatos de dados. Esses dados são indexados e particionados com base no tempo de ingestão.

  • O Ativador de Dados é um recurso sem código no Fabric que executa ações automaticamente quando detecta padrões na alteração de dados. Nessa arquitetura, o Ativador de Dados serve como um mecanismo de detecção de eventos de baixa latência que dispara ações quando detecta padrões ou condições específicos em fontes de dados. Ele monitora essas fontes de dados com latência de subsegundo e inicia ações quando dados atendem a limites ou quando detecta padrões específicos. Essas ações incluem o envio de emails ou notificações do Teams, a inicialização de fluxos do Power Automate ou a integração com sistemas externos.

Alternativas

O Azure Data Factory fornece ferramentas para criar fluxos de trabalho ETL (Extract, Transform, Load) e para monitorar e reiniciar trabalhos a partir de uma interface gráfica do usuário (GUI). O Data Factory tem um atraso mínimo de cerca de 5 minutos desde o tempo de ingestão até a persistência. Se o sistema de monitoramento puder tolerar esse atraso, considere essa alternativa.

Detalhes do cenário

As organizações geralmente implantam tecnologias variadas e em grande escala para resolver problemas de negócios. Esses sistemas e dispositivos de usuário geram grandes conjuntos de dados de telemetria.

Essa arquitetura é baseada em um caso de uso para o setor de mídia. O streaming de mídia para reprodução ao vivo e de vídeo sob demanda exige identificação e resposta quase em tempo real aos problemas do aplicativo. Para dar suporte a esse cenário em tempo real, as organizações precisam coletar um conjunto massivo de telemetria, o que exige uma arquitetura escalonável. Depois de coletar dados, eles devem executar outros tipos de análise, como IA e detecção de anomalias, para identificar com eficiência problemas em um conjunto de dados tão grande.

Quando tecnologias em larga escala são implantadas, o sistema e os dispositivos de usuário que interagem com eles geram conjuntos maciços de dados de telemetria. Em cenários tradicionais, as organizações analisam esses dados por meio de um sistema de data warehouse para gerar insights que dão suporte a decisões de gerenciamento. Essa abordagem pode funcionar em alguns cenários, mas não é responsiva o suficiente para casos de uso de mídia de streaming. Para resolver esse problema, as organizações exigem insights em tempo real para os dados de telemetria gerados por servidores, redes e dispositivos de usuário. Os sistemas de monitoramento geralmente detectam falhas e erros, mas detectá-los quase em tempo real é difícil. Essa arquitetura se concentra na solução desse problema.

Em uma configuração de transmissão ao vivo ou vídeo sob demanda, sistemas e clientes diversos, como dispositivos móveis, desktops e TVs, geram dados de telemetria. A solução usa os dados brutos e associa o contexto a cada ponto de dados. Exemplos de contexto incluem dimensões como geografia, sistema operacional do usuário, ID de conteúdo e provedor de rede de distribuição de conteúdo. O sistema coleta, transforma e salva a telemetria bruta em uma casa de eventos do Fabric para análise. As ferramentas de IA podem interpretar os dados e automatizar os processos manuais de observação e alertas. O Ativador de Dados lê dados do hub Real-Time Intelligence para exibir painéis interativos e disparar alertas.

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework​, um conjunto de princípios orientadores que você pode usar para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Well-Architected Framework.

Confiabilidade

A confiabilidade ajuda a garantir que seu aplicativo possa cumprir os compromissos que você faz aos seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design parade confiabilidade.

Os aplicativos comercialmente críticos devem permanecer ativos mesmo durante eventos disruptivos, como a região do Azure ou interrupções de rede de distribuição de conteúdo. As estratégias a seguir, duas estratégias primárias e uma estratégia híbrida, dão suporte à criação de redundância em seu sistema:

  • Ativo/ativo: Código e funções duplicados são executados. Qualquer um dos sistemas pode assumir durante uma falha.

  • Ativo/em espera: Apenas um nó serve como o nó ativo ou primário. O outro nó permanecerá pronto para assumir o controle se o nó primário falhar.

  • Misturado: Alguns componentes ou serviços usam a configuração ativa-ativa, enquanto outros usam a configuração de espera ativa.

Nem todos os serviços do Azure têm redundância interna. Por exemplo, o Azure Functions executa um aplicativo de funções somente em uma região específica. Para obter mais informações sobre estratégias a serem implementadas, dependendo de como você dispara funções (HTTP versus publicação/assinatura), consulte Confiabilidade no Azure Functions.

Fabric dá suporte a zonas de disponibilidade com redundância de zona, em que os recursos são replicados automaticamente entre zonas, sem a necessidade de configurá-los. Para obter mais informações sobre a replicação entre regiões para dados armazenados no OneLake, consulte Confiabilidade no Fabric. Dependendo dos requisitos, você pode aceitar ou rejeitar esse recurso.

Otimização de custos

A Otimização de Custos concentra-se em maneiras de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Lista de verificação de revisão de design parade Otimização de Custos.

O custo dessa arquitetura depende do número de eventos de telemetria de entrada, do armazenamento de telemetria bruta no Armazenamento de Blobs e nas eventhouses do Fabric, e de um modelo de precificação dedicado ou de um modelo de precificação pago conforme o uso para a capacidade do Fabric.

Para estimar os custos totais, use a calculadora de preços do Azure.

Eficiência de desempenho

A Eficiência de Desempenho refere-se à capacidade da carga de trabalho de dimensionar para atender às demandas do usuário com eficiência. Para obter mais informações, consulte Lista de verificação de design parade Eficiência de Desempenho.

Dependendo da escala e da frequência da telemetria de entrada, o streaming no Fabric pode encontrar restrições de desempenho. Essas restrições normalmente resultam dos seguintes fatores:

  • Início a frio: Invocações sem servidor exigem tempo para agendar e configurar o ambiente antes que a função seja executada. Essa configuração leva até alguns segundos.

  • Frequência de solicitações: Por exemplo, se 1.000 solicitações HTTP chegarem, mas apenas um servidor de thread único estiver disponível, o sistema não poderá processar todas as solicitações simultaneamente. Para lidar com eles com eficiência, você precisa dimensionar horizontalmente implantando mais servidores.

  • Atraso na inicialização do eventstream: Quando novas fontes de dados são ativadas, os pipelines de fluxo de eventos do Fabric podem introduzir latência. Esse atraso se assemelha a uma inicialização a frio. Embora breve, pode afetar cenários sensíveis à latência.

  • Intermitências de dados de alta frequência: Se milhares de eventos de telemetria chegarem de uma só vez, uma única configuração eventstream poderá não processá-los simultaneamente. Para manter a capacidade de resposta em tempo real, você deve escalar verticalmente os pipelines de fluxo de eventos e otimizar as regras de roteamento em vários destinos.

Para atenuar esses problemas, utilize espaços de trabalho de capacidade dedicada nos SKUs do Fabric. Essa abordagem oferece os seguintes benefícios:

  • Garante um desempenho consistente removendo atrasos de inicialização

  • Dá suporte ao dimensionamento horizontal de pipelines de fluxo de eventos para lidar com cargas de trabalho de transformação e ingestão simultâneas

Para obter mais informações, consulte Fabric Real-Time Intelligence.

Colaboradores

A Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.

Principais autores:

Outros colaboradores:

Para ver perfis não públicos no LinkedIn, entre no LinkedIn.

Próximas etapas