Streaming de dados com o AKS

Serviço de aplicativo do Azure
Gerenciamento de API do Azure
Registro de Contêiner do Azure
Cache do Azure para Redis
Azure Cosmos DB

Ideias de soluções

Este artigo descreve uma ideia de solução. Seu arquiteto de nuvem pode usar essa orientação para ajudar a visualizar os principais componentes para uma implementação típica dessa arquitetura. Use este artigo como ponto de partida para projetar uma solução bem arquitetada que se alinhe aos requisitos específicos de sua carga de trabalho.

Este artigo apresenta uma solução para usar o Serviço de Kubernetes do Azure (AKS) para processar e analisar rapidamente um grande volume de dados de streaming de dispositivos.

Apache®, Apache Kafka e Apache Spark são marcas registradas ou marcas comerciais do Apache Software Foundation nos Estados Unidos e/ou em outros países. O uso desta marca não implica aprovação por parte da Apache Software Foundation.

Arquitetura

Diagrama de arquitetura que mostra como os dados de streaming de dispositivos são ingeridos, processados e analisados.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

  1. Os sensores geram dados e os transmitem para a Azure API Management.
  2. Um cluster do AKS executa microsserviços implantados como contêineres atrás de uma malha de serviços. Os contêineres são criados usando um processo do DevOps e armazenados no Registro de Contêiner do Azure.
  3. Um serviço de ingestão armazena dados no Azure Cosmos DB.
  4. De maneira assíncrona, um serviço de análise recebe os dados e os envia para o Apache Kafka e o Azure HDInsight.
  5. Os cientistas de dados usam modelos de machine learning e a plataforma Splunk para analisar os dados.
  6. Um serviço de processamento processa os dados e armazena o resultado no Banco de Dados do Azure para PostgreSQL. O serviço também armazena em cache os dados no Cache do Azure para Redis.
  7. Um aplicativo Web executado no Serviço de Aplicativo do Azure cria visualizações dos resultados.

Componentes

A solução usa as seguintes tecnologias principais:

Detalhes do cenário

Essa solução é adequada para um cenário que envolve milhões de pontos de dados, onde as fontes de dados incluem dispositivos, sensores e veículos da Internet das Coisas (IoT). Em tal situação, o processamento do grande volume de dados é um desafio. Analisar rapidamente os dados é outra tarefa exigente, à medida que as organizações buscam obter informações sobre cenários complexos.

Microsserviços em contêineres no AKS formam uma parte fundamental da solução. Esses serviços independentes ingerem e processam o fluxo de dados em tempo real. Eles também escalam conforme necessário. A portabilidade dos contêineres possibilita que os serviços sejam executados em diferentes ambientes e processem dados de várias fontes. Para desenvolver e implantar os microsserviços, são usados DevOps e integração contínua/entrega contínua (CI/CD). Essas abordagens encurtam o ciclo de desenvolvimento.

Para armazenar os dados ingeridos, a solução usa o Azure Cosmos DB. Esse banco de dados dimensiona elasticamente a taxa de transferência e o armazenamento, o que o torna uma boa opção para grandes volumes de dados.

A solução também usa o Kafka. Esta plataforma de streaming de baixa latência lida com feeds de dados em tempo real em velocidades extremamente altas.

Outro componente importante da solução é o HDInsight, que é um serviço gerenciado de análise de nuvem de código aberto. O HDInsight simplifica a execução de estruturas de big data em grande volume e velocidade ao usar o Apache Spark no Azure. O Splunk auxilia no processo de análise de dados. Essa plataforma cria visualizações a partir de dados em tempo real e fornece inteligência de negócios.

Possíveis casos de uso

Esta solução beneficia as seguintes áreas:

  • Segurança veicular, especialmente no setor automotivo
  • Atendimento ao cliente no varejo e em outros setores
  • Soluções em nuvem para a área de saúde
  • Soluções de tecnologia financeira no setor financeiro

Próximas etapas

Documentação do produto:

Módulos de treinamento da Microsoft: