Partilhar via


Crie sistemas de monitoramento e observação em tempo real para mídia

Azure Data Explorer
Funções do Azure
Microsoft Fabric
Armazenamento de 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 de dispositivos do usuário. Ele se concentra em um caso de uso para a indústria 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 do usuário.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

Dispositivos cliente e aplicativos transmitem telemetria bruta para o Microsoft Fabric via 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éries cronológicas escalável. Os painéis do Real-Time Intelligence fornecem insights e o Data Activator aciona ações automatizadas com base nos padrões detetados.

O seguinte fluxo de dados corresponde ao diagrama anterior:

  1. Instrumentação: A instrumentação ocorre por meio de sondas ou agentes instalados em sistemas para monitorar dados. Estes agentes têm várias formas. Por exemplo, em uma plataforma de streaming de vídeo sob demanda, uma empresa pode usar dash.js de padrões abertos 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 lida com dados de entrada. Como alternativa, você pode carregar 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 de malha fornecem uma experiência sem código para rotear esses dados para entidades nativas da malha, como uma casa 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 suporta análises de alto rendimento em grandes conjuntos de dados de séries temporais. Esta abordagem complementa os mecanismos de ingestão existentes. Ele também fornece uma alternativa mais integrada e escalá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 de aplicativos, serviços e dispositivos clientes que têm jogadores, 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 alvos centrais da observabilidade.

  5. Deteção de anomalias: o Real-Time Intelligence inclui deteção de anomalias alimentada por IA integrada através do Ativador de Dados. Esse recurso pode identificar automaticamente padrões incomuns ou violações de limite em dados de streaming e acionar ações responsivas. Esses recursos usam modelos de aprendizado de máquina para detetar anomalias em tempo real sem configuração manual. As casas de eventos também suportam funções avançadas de deteção de anomalias que levam em conta a sazonalidade, tendências e linhas de base históricas. Esse recurso permite insights mais precisos e sensíveis ao contexto em grandes conjuntos de dados de séries temporais.

Componentes

  • O Blob Storage é um serviço de armazenamento de objetos escalável para dados não estruturados. Nessa arquitetura, o Armazenamento de Blob armazena telemetria bruta originada de aplicativos, serviços ou fornecedores externos. Tratar estes dados como transitórios se não for necessária uma análise adicional. A telemetria é encaminhada através de um fluxo de eventos Fabric para um armazém de eventos. Você pode usar capacidades nativas do Fabric para transformar e persistir os dados para análises de elevado desempenho.

  • A Grade de Eventos do Azure é um serviço de roteamento de eventos gerenciado que habilita arquiteturas controladas por eventos. Nessa arquitetura, a Grade de Eventos serve como um sistema confiável de entrega de eventos que escuta eventos que o Armazenamento de Blobs publica, como criação ou exclusão de blobs. Esses eventos acionam 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 orientados a eventos que oferecem suporte à ingestão e ao roteamento de telemetria 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, muitas vezes chamada de ingestor de eventos, para o pipeline de eventos. Um ingestor de eventos é um componente ou serviço localizado entre editores de eventos e consumidores de eventos. Dissocia 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 acionado por eventos sem precisar provisionar ou gerenciar explicitamente a infraestrutura. Nessa arquitetura, o Azure Functions analisa e transforma os dados ingeridos através de endpoints HTTP e de blob. Os dados de telemetria são encaminhados para fluxos de eventos e casas de eventos para transformação e análise escaláveis.

  • Um fluxo de eventos do Fabric é um recurso do Fabric que permite a ingestão, transformação e roteamento de eventos em tempo real. Nessa arquitetura, os fluxos de eventos de malha 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.

  • Uma casa de eventos Fabric é um banco de dados analítico otimizado para dados de séries cronológicas e cargas de trabalho de análise em tempo real. Nessa arquitetura, as casas de eventos são adaptadas para eventos de streaming baseados no 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 deteta padrões na alteração de dados. Nessa arquitetura, o Data Activator serve como um mecanismo de deteção de eventos de baixa latência que dispara ações quando deteta padrões ou condições específicas em fontes de dados. Ele monitora essas fontes de dados com latência de subsegundo e inicia ações quando os dados atingem os limites ou detetam padrões específicos. Essas ações incluem o envio de e-mails ou notificações do Teams, o lançamento de fluxos do Power Automate ou a integração com sistemas externos.

Alternativas

O Azure Data Factory fornece ferramentas para criar fluxos de trabalho de extração, transformação e carregamento (ETL) e para controlar e repetir trabalhos a partir de uma interface gráfica do utilizador (GUI). O Data Factory tem um atraso mínimo de cerca de 5 minutos desde o momento da ingestão até à persistência. Se o seu sistema de monitoramento pode tolerar esse atraso, considere esta alternativa.

Detalhes do cenário

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

Esta arquitetura é baseada em um caso de uso para a indústria de mídia. O streaming de mídia para reprodução ao vivo e de vídeo sob demanda requer identificação e resposta quase em tempo real a problemas de aplicativos. Para dar suporte a esse cenário em tempo real, as organizações precisam coletar um conjunto de telemetria massivo, que requer arquitetura escalável. Depois de coletar dados, eles devem realizar outros tipos de análise, como IA e deteção de anomalias, para identificar problemas de forma eficiente em um conjunto de dados tão grande.

Quando tecnologias de grande escala são implantadas, o sistema e os dispositivos do 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 às decisões de gerenciamento. Essa abordagem pode funcionar em alguns cenários, mas não é responsiva o suficiente para casos de uso de streaming de mídia. Para resolver esse problema, as organizações precisam de insights em tempo real para os dados de telemetria gerados por servidores, redes e dispositivos de usuário. Os sistemas de monitoramento geralmente detetam falhas e erros, mas detetá-los quase em tempo real é difícil. Essa arquitetura se concentra em resolver esse problema.

Em uma configuração de streaming 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. Os exemplos de contexto incluem dimensões como geografia, sistema operacional do usuário, ID de conteúdo e provedor de rede de entrega de conteúdo. O sistema coleta, transforma e salva 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 alerta. 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, que é um conjunto de princípios orientadores que você pode usar para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Well-Architected Framework.

Fiabilidade

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

Os aplicativos críticos para os negócios devem permanecer ativos mesmo durante eventos disruptivos, como interrupções na região do Azure ou na rede de entrega de conteúdo. As seguintes estratégias, duas estratégias principais e uma estratégia híbrida, suportam a criação de redundância no seu sistema:

  • Ativo/ativo: Código duplicado e funções executadas. Qualquer um dos sistemas pode assumir o controle durante uma falha.

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

  • Misto: Alguns componentes ou serviços usam a configuração ativo-ativo, enquanto outros usam a configuração ativo-espera.

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

O Fabric oferece suporte a zonas de disponibilidade com redundância de zona, onde os recursos são replicados automaticamente entre zonas, sem a necessidade de configurá-lo. Para obter mais informações sobre a replicação entre regiões para dados armazenados no OneLake, consulte Confiabilidade na malha. Pode optar por participar ou não desta funcionalidade com base nos seus requisitos.

Otimização de Custos

A Otimização de Custos concentra-se em formas 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 projeto para Otimização de custos.

O custo desta arquitetura depende do número de eventos de telemetria recebidos, do armazenamento de telemetria bruta no Blob Storage e nos eventhouses do Fabric, além de um modelo de preços dedicado ou um modelo de pagamento conforme o uso para a capacidade do Fabric.

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

Eficiência de desempenho

A Eficiência de Desempenho refere-se à capacidade da sua carga de trabalho de escalar para atender às demandas dos usuários de forma eficiente. Para obter mais informações, consulte Lista de verificação de revisão de design para 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:

  • Arranque a frio: As invocações sem servidor exigem tempo para agendar e configurar o ambiente antes que a função seja executada. Esta configuração demora até alguns segundos.

  • Frequência dos pedidos: 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 de forma eficiente, você precisa dimensionar horizontalmente implantando mais servidores.

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

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

Para atenuar esses problemas, use espaços de trabalho de capacidade dedicada em SKUs de malha. Essa abordagem oferece os seguintes benefícios:

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

  • Suporta a escalabilidade horizontal de pipelines de fluxo de eventos para gerir cargas de trabalho simultâneas de ingestão e transformação.

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

Contribuidores

A Microsoft mantém este artigo. Os seguintes colaboradores escreveram este artigo.

Principais autores:

Outros contribuidores:

Para ver perfis não públicos do LinkedIn, faça login no LinkedIn.

Próximos passos