Partilhar via


Streaming de dados com AKS

Serviço de Aplicações do Azure
API Management do Azure
Registo de Contentores do Azure
Redis Gerido pelo Azure
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 com os requisitos específicos da sua carga de trabalho.

Este artigo apresenta uma solução para usar o Serviço 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 registadas ou marcas comerciais da Apache Software Foundation nos Estados Unidos e/ou noutros países. Nenhum endosso da Apache Software Foundation está implícito no uso dessas marcas. Splunk é uma marca registada da Cisco.

Arquitetura

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

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

  1. Os sensores geram dados e transmitem-nos para a Gestão de API do Azure.
  2. Um cluster AKS executa microsserviços que são implantados como contêineres atrás de uma malha de serviço. Os contêineres são criados usando um processo de DevOps. As imagens de contêiner são armazenadas no Registro de Contêiner do Azure.
  3. Um serviço de ingestão no AKS armazena dados no Azure Cosmos DB.
  4. De forma assíncrona, um serviço de análise no AKS recebe os dados e os transmite para o Apache Kafka no Azure HDInsight.
  5. Os cientistas de dados usam modelos de aprendizado de máquina no Azure HDInsights e na plataforma Splunk para analisar os dados.
  6. Um serviço de processamento no AKS processa os dados e armazena os resultados 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

  • O AKS é um serviço gerenciado de orquestração de contêineres do Kubernetes. Nessa arquitetura, ele hospeda microsserviços em contêineres que ingerem, processam e roteiam dados de streaming de sensores para várias camadas de armazenamento e análise.

  • O Apache Kafka é uma plataforma de streaming de eventos distribuída projetada para feeds de dados de alta taxa de transferência e baixa latência. Nessa arquitetura, ele recebe dados em tempo real de microsserviços AKS e os transmite para o Azure HDInsight para análises em larga escala.

  • O Gerenciamento de API é uma porta de entrada para publicar, proteger e analisar APIs. Nessa arquitetura, ele recebe dados recebidos de sensores e os encaminha para o cluster AKS para processamento.

  • O Serviço de Aplicativo é uma plataforma totalmente gerenciada para criar e hospedar aplicativos Web. Nessa arquitetura, ele executa um aplicativo Web que visualiza os resultados processados do banco de dados PostgreSQL.

  • O Cache Redis do Azure é um armazenamento de dados na memória que dá suporte ao acesso rápido a dados. Nessa arquitetura, ele armazena temporariamente dados processados de microsserviços AKS para acelerar o acesso e reduzir a latência.

  • O Azure Cosmos DB é um serviço de banco de dados NoSQL distribuído globalmente. Nessa arquitetura, ele armazena dados ingeridos de microsserviços AKS.

  • O Banco de Dados do Azure para PostgreSQL é um serviço de banco de dados relacional gerenciado baseado no PostgreSQL. Nessa arquitetura, ele armazena resultados processados de microsserviços AKS para relatórios e visualização downstream.

  • O Azure HDInsight é um serviço baseado em nuvem para análise de big data usando estruturas de código aberto. Nessa arquitetura, ele executa trabalhos do Apache Spark para analisar dados transmitidos do Kafka e suporta cargas de trabalho de aprendizado de máquina.

  • O Azure Pipelines é um serviço de integração contínua e entrega contínua (CI/CD) no Azure DevOps. Nessa arquitetura, ele cria e implanta microsserviços em contêineres no AKS para permitir fluxos de trabalho de entrega automatizados e repetíveis.

  • O Registro de Contêiner é um serviço de Registro de contêiner do Docker gerenciado. Nessa arquitetura, ele armazena imagens de contêiner contendo os microsserviços.

  • O Splunk é uma plataforma de análise e visualização de dados para dados gerados por máquina. Nessa arquitetura, ele analisa dados em tempo real do Azure HDInsight e cria painéis visuais para business intelligence.

Detalhes do cenário

Esta 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 de 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 procuram obter informações sobre cenários complexos.

Microsserviços em contêineres no AKS formam uma parte fundamental da solução. Esses serviços autônomos ingerem e processam o fluxo de dados em tempo real. Eles também são dimensionados 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). Estas 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 Apache Kafka. Esta plataforma de streaming de baixa latência lida com feeds de dados em tempo real a velocidades extremamente altas.

Outro componente importante da solução é o Azure HDInsight, que é um serviço de nuvem gerenciado que permite processar com eficiência grandes quantidades de dados usando as estruturas de código aberto mais populares. O Azure HDInsight simplifica a execução de estruturas de big data em grande volume e velocidade ao usar o Apache Spark no Azure. O Splunk ajuda no processo de análise de dados. O Splunk cria visualizações a partir de dados em tempo real e fornece business intelligence.

Potenciais casos de utilização

Esta solução beneficia as seguintes áreas:

  • Segurança dos veículos, especialmente na indústria automóvel
  • Atendimento ao cliente no varejo e outras indústrias
  • Soluções na nuvem para cuidados de saúde
  • Soluções de tecnologia financeira no setor financeiro

Próximos passos

Documentação do produto:

Módulos de formação da Microsoft: