Editar

Análise em tempo real de dados com o Barramento de Serviço do Azure e o Azure Data Explorer

Azure Service Bus
Azure Data Explorer
Azure App Service
Azure SQL Database
Azure Cosmos DB

Ideias de soluções

Este artigo é uma ideia de solução. Se você quiser que expandamos o conteúdo com mais informações, como possíveis casos de uso, serviços alternativos, considerações de implementação ou orientação de preços, informe-nos fornecendo feedback do GitHub.

Este artigo descreve como usar o Azure Data Explorer e o Azure Service Bus para aprimorar uma arquitetura de agente de mensagens existente com análises quase em tempo real. Destina-se a administradores de TI, arquitetos de nuvem e equipes de operações e monitoramento.

Arquitetura

Diagrama que mostra uma arquitetura para implementar análises quase em tempo real.

Transfira um ficheiro do Visio desta arquitetura.

O logotipo Grafana é uma marca comercial da Raintank, Inc., dba Grafana Labs. O uso desta marca não implica qualquer endosso.

O diagrama mostra dois caminhos de dados. O caminho principal, que é representado por linhas sólidas e caixas de 1 a 5, é a ingestão de dados de várias fontes em um barramento de serviço, onde são processados por um trabalho de análise de fluxo e armazenados em um banco de dados SQL. O segundo caminho, que é representado por linhas pontilhadas e caixas, mostra os dados que fluem do barramento de serviço para um cluster do Azure Data Explorer, onde podem ser consultados e analisados por meio da KQL (Kusto Query Language).

O Service Bus é usado para implementar um padrão de Nivelamento de Carga Baseado em Fila para um aplicativo transacional.

O Azure Data Explorer é usado para executar análises quase em tempo real e expor dados por meio de APIs ou consultas diretas para, por exemplo, painéis do Power BI, Azure Managed Grafana ou Azure Data Explorer.

Fluxo de dados

A fonte de dados na arquitetura é um aplicativo OLTP (Online Transaction Processing) existente. O Service Bus é usado para dimensionar o aplicativo de forma assíncrona.

  1. O aplicativo OLTP (a fonte de dados), hospedado no Serviço de Aplicativo do Azure, envia dados para o Service Bus.

  2. Os dados fluem do Service Bus em duas direções:

    1. No fluxo de aplicativo OLTP existente, ele aciona um aplicativo de função para armazenar dados no Banco de Dados SQL do Azure, no Azure Cosmos DB ou em um banco de dados operacional semelhante.

    2. No fluxo de análise quase em tempo real, ele aciona um fluxo de orquestração.

  3. O fluxo de orquestração envia dados para o Azure Data Explorer para análises quase em tempo real. O fluxo pode usar:

    • Um aplicativo de função que usa SDKs para enviar dados em microlotes ou que usa o suporte à ingestão de streaming gerenciado fornecido pelo Azure Data Explorer quando está configurado para ingestão de streaming.
    • Um serviço de sondagem, como um aplicativo hospedado no Serviço Kubernetes do Azure (AKS) ou uma VM do Azure, que envia dados para o Azure Data Explorer em microlotes. Esta opção não requer a configuração da ingestão de streaming do Azure Data Explorer.
  4. O Azure Data Explorer processa os dados, usando mapeamento de esquema e políticas de atualização, e os disponibiliza por meio de uma API, SDK ou conector para análises ou relatórios interativos. Opcionalmente, o Azure Data Explorer também pode ingerir ou referenciar dados de outras fontes de dados, como o Banco de Dados SQL ou o Armazenamento do Azure Data Lake.

  5. Aplicativos, serviços personalizados ou serviços de relatório, como painéis do Azure Data Explorer, Power BI e Azure Managed Grafana, podem consultar os dados no Azure Data Explorer quase em tempo real.

Componentes

  • O Serviço de Aplicativo permite que você crie e hospede aplicativos Web, back-ends móveis e APIs RESTful na linguagem de programação de sua escolha sem gerenciar a infraestrutura.
  • O Service Bus fornece mensagens confiáveis na nuvem como um serviço.
  • O Banco de Dados SQL é um banco de dados SQL totalmente gerenciado criado para a nuvem. Ele fornece atualizações automáticas, provisionamento, dimensionamento e backups.
  • O Azure Cosmos DB é um banco de dados multimodelo distribuído globalmente para aplicativos de qualquer escala.
  • O Azure Functions é uma plataforma de computação sem servidor orientada por eventos. Com o Functions, você pode implantar e operar em escala na nuvem e usar gatilhos e associações para integrar serviços.
  • O AKS é um serviço Kubernetes altamente disponível, altamente seguro e totalmente gerenciado para cargas de trabalho de aplicativos e microsserviços.
  • O Azure Data Explorer é um serviço de análise de dados rápido, totalmente gerenciado e altamente escalável para análise em tempo real de grandes volumes de dados que são transmitidos de aplicativos, sites, dispositivos IoT e muito mais.
  • O Armazenamento Data Lake, criado no Armazenamento de Blobs do Azure, fornece funcionalidade de data lake massivamente escalável.
  • O Power BI pode ajudá-lo a transformar seus dados em insights coerentes, visualmente imersivos e interativos.
  • O Azure Managed Grafana é um serviço totalmente gerenciado que permite implantar o Grafana sem gastar tempo com a configuração.

Detalhes do cenário

A análise em tempo real é o processo de analisar dados assim que são gerados para obter informações sobre o estado atual do sistema. As organizações estão adotando cada vez mais análises em tempo real para ganhar uma vantagem competitiva. A análise quase em tempo real é uma variante da análise em tempo real que fornece informações em segundos ou minutos após a geração de dados.

Esses processos permitem que as organizações obtenham insights mais rapidamente, tomem melhores decisões e respondam às mudanças nas condições de forma mais eficaz. A análise quase em tempo real pode ser aplicada a vários domínios, como comércio eletrônico, saúde, manufatura e finanças. Por exemplo, uma empresa de comércio eletrônico pode usar análises quase em tempo real para monitorar o comportamento do cliente, otimizar preços e personalizar recomendações.

Muitas organizações implementam análises quase em tempo real em soluções existentes. Essa ideia de solução demonstra como adicionar análises quase em tempo real a uma arquitetura existente baseada em um agente de mensagens e que faz parte de um aplicativo OLTP operacional.

OLTP significa Processamento de Transações Online. É um tipo de processamento de dados que gerencia aplicativos orientados a transações, normalmente para transações de entrada e recuperação de dados em um ambiente em tempo real. Os sistemas OLTP são projetados para processar transações pequenas e rápidas que são frequentemente de natureza financeira, como transações bancárias ou compras com cartão de crédito.

Potenciais casos de utilização

Aqui estão alguns casos de uso que ilustram os benefícios da análise quase em tempo real:

  • Os prestadores de cuidados de saúde podem acompanhar os resultados dos pacientes, detetar anomalias e melhorar a qualidade dos cuidados.
  • As empresas de fabricação podem otimizar a produção, reduzir o desperdício e evitar o tempo de inatividade.
  • As instituições financeiras podem monitorar transações, detetar fraudes, gerenciar riscos e garantir a conformidade com os regulamentos.
  • As empresas de comércio podem monitorar campanhas e obter insights para apoiar a promoção.
  • As empresas podem monitorar, otimizar, analisar e prever as cadeias de suprimentos.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

  • Shlomo Sagir - Brasil | Desenvolvedor de Conteúdo Sênior

Outros contribuidores:

Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.

Próximos passos