Este cenário de exemplo é relevante para organizações que construam soluções que integram dados de muitos dispositivos IoT numa arquitetura abrangente de análise de dados para melhorar e automatizar a tomada de decisão. As aplicações potenciais incluem a construção, mineração, fabrico ou outras soluções industriais que envolvam grandes volumes de dados de muitas entradas de dados baseadas em IoT.
Arquitetura
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de dados
Os dados fluem através da solução da seguinte forma:
- O equipamento de construção recolhe dados de sensores e envia os dados dos resultados da construção em intervalos regulares para carregar serviços web equilibrados alojados num conjunto de máquinas virtuais Azure.
- Os serviços web personalizados ingerem os dados dos resultados da construção e armazenam-nos num cluster Apache Cassandra também em funcionamento em máquinas virtuais Azure.
- Outro conjunto de dados é recolhido por sensores IoT em vários equipamentos de construção e enviados para Hub IoT.
- Os dados brutos recolhidos são enviados diretamente de Hub IoT para o armazenamento de blob Azure e estão imediatamente disponíveis para visualização e análise.
- Os dados recolhidos através de Hub IoT são processados em tempo real por um trabalho do Azure Stream Analytics e armazenados numa base de dados SQL do Azure.
- A aplicação web Smart Construction Cloud está disponível para analistas e utilizadores finais para visualizar e analisar dados e imagens de sensores.
- Os trabalhos de lote são iniciados a pedido pelos utilizadores da aplicação web. O trabalho em lote funciona em Apache Spark em HDInsight e analisa novos dados armazenados no cluster Cassandra.
Componentes
- Hub IoT funciona como um centro de mensagens central para uma comunicação bidirecional segura com a identidade por dispositivo entre a plataforma de nuvem e o equipamento de construção e outros elementos do local. Hub IoT podem recolher rapidamente dados para cada dispositivo para ingestão no pipeline de análise de dados.
- O Azure Stream Analytics é um motor de processamento de eventos que pode analisar grandes volumes de streaming de dados a partir de dispositivos e outras fontes de dados. Também apoia a extração de informação de fluxos de dados para identificar padrões e relacionamentos. Neste cenário, o Stream Analytics ingere e analisa dados de dispositivos IoT e armazena os resultados na SQL do Azure Database.
- SQL do Azure Database contém os resultados de dados analisados a partir de dispositivos e contadores IoT, que podem ser vistos por analistas e utilizadores através de uma aplicação Web baseada em Azure.
- O armazenamento de blob armazena dados de imagem recolhidos a partir dos dispositivos do hub IoT. Os dados de imagem podem ser vistos através da aplicação web.
- O Gestor de Tráfego controla a distribuição do tráfego de utilizadores para pontos finais de serviço em diferentes regiões de Azure.
- Balanceador de Carga distribui submissões de dados de dispositivos de equipamento de construção através dos serviços web baseados em VM para fornecer alta disponibilidade.
- A Azure Máquinas Virtuais hospedar os serviços web que recebem e ingerem os dados dos resultados da construção na base de dados Apache Cassandra.
- Apache Cassandra é uma base de dados NoSQL distribuída usada para armazenar dados de construção para posterior processamento por Apache Spark.
- Aplicações Web acolhe a aplicação web de utilizador final, que pode ser usada para consultar e visualizar dados de origem e imagens. Os utilizadores também podem iniciar trabalhos de lote em Apache Spark através da aplicação.
- Apache Spark on HDInsight suporta o processamento na memória para aumentar o desempenho de aplicações analíticas de big data. Neste cenário, Spark é usado para executar algoritmos complexos sobre os dados armazenados em Apache Cassandra.
Alternativas
- Azure Cosmos DB é uma tecnologia alternativa de base de dados NoSQL. A Azure Cosmos DB fornece suporte multi-mestre à escala global com múltiplos níveis de consistência bem definidos para satisfazer vários requisitos do cliente. Também apoia o Azure Cosmos DB para Apache Cassandra.
- Azure Databricks é uma plataforma de análise baseada em Apache Spark otimizada para o Azure. Está integrado com o Azure para fornecer uma configuração de um clique, fluxos de trabalho simplificados e um espaço de trabalho colaborativo interativo.
- Data Lake Storage é uma alternativa ao armazenamento blob. Para este cenário, Data Lake Storage não estava disponível na região visada.
- Aplicações Web também poderia ser usado para hospedar os serviços web para ingerir dados de resultados de construção.
- Muitas opções tecnológicas estão disponíveis para ingestão de mensagens em tempo real, armazenamento de dados, processamento de fluxo, armazenamento de dados analíticos, e análise e reporte. Para uma visão geral destas opções, as suas capacidades e critérios-chave de seleção, consulte as arquiteturas big data: processamento em tempo real no Guia de Arquitetura de Dados do Azure.
Detalhes do cenário
Neste cenário, um fabricante de equipamentos de construção constrói veículos, contadores e drones que utilizam tecnologias IoT e GPS para emitir dados de telemetria. A empresa quer modernizar a sua arquitetura de dados para monitorizar melhor as condições de funcionamento e a saúde do equipamento. A substituição da solução legado da empresa utilizando infraestruturas no local seria intensiva e intensiva em tempo, e não seria capaz de escalar o suficiente para lidar com o volume de dados previsto.
A empresa quer construir uma solução de "construção inteligente" baseada na nuvem. Deve reunir um conjunto abrangente de dados para um estaleiro de construção e automatizar a operação e manutenção dos vários elementos do local. Os objetivos da empresa incluem:
- Integrando e analisando todos os equipamentos e dados do estaleiro de construção para minimizar o tempo de inatividade do equipamento e reduzir o roubo.
- Controlando remotamente e automaticamente os equipamentos de construção para mitigar os efeitos da escassez de mão-de-obra, exigindo, em última análise, menos trabalhadores e permitindo que os trabalhadores menos qualificados tenham sucesso.
- Minimizar os custos operacionais e os requisitos de mão-de-obra para a infraestrutura de apoio, ao mesmo tempo que aumenta a produtividade e a segurança.
- Dimensionamento fácil da infraestrutura para suportar aumentos nos dados de telemetria.
- Cumprir todos os requisitos legais relevantes, fornecendo recursos no país sem comprometer a disponibilidade do sistema.
- Utilização de software de código aberto para maximizar o investimento nas competências atuais dos trabalhadores.
A utilização de serviços geridos da Azure, como Hub IoT e HDInsight, permitirá ao cliente construir e implementar rapidamente uma solução abrangente com um menor custo de funcionamento. Se tiver necessidades adicionais de análise de dados, deverá rever a lista de serviços de análise de dados totalmente geridos em Azure.
Potenciais casos de utilização
Outros casos de utilização relevante incluem:
- Construção (instalações e imóveis), mineração (energia) ou cenários de fabrico de equipamentos
- Recolha em larga escala de dados do dispositivo para armazenamento e análise
- Ingestão e análise de grandes conjuntos de dados
Considerações
Estas considerações implementam os pilares do Quadro Azure Well-Architected, que é um conjunto de princípios orientadores que podem ser utilizados para melhorar a qualidade de uma carga de trabalho. Para mais informações, consulte o Microsoft Azure Well-Architected Framework.
A ampla disponibilidade das regiões de Azure é um fator importante para este cenário. Ter mais do que uma região de Azure num único país/região pode proporcionar recuperação de desastres, permitindo simultaneamente o cumprimento das obrigações contratuais e dos requisitos de aplicação da lei. A comunicação de alta velocidade do Azure entre regiões é também um fator importante neste cenário.
suporte do Azure para tecnologias de código aberto permitiu ao cliente tirar partido das suas competências de mão-de-obra existentes. O cliente também pode acelerar a adoção de novas tecnologias com custos mais baixos e cargas de trabalho operacionais comparativamente a uma solução no local.
Otimização de custos
A otimização de custos tem a ver com formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para mais informações, consulte a visão geral do pilar de otimização de custos.
As seguintes considerações conduzirão uma parte substancial dos custos desta solução.
- Os custos da máquina virtual Azure aumentarão linearmente à medida que forem a provisionadas instâncias adicionais. As máquinas virtuais que são negociadas só incorrerão em custos de armazenamento e não custos de cálculo. Estas máquinas de negociação podem então ser redistribuídas quando a procura é elevada.
- Hub IoT custos são impulsionados pelo número de unidades IoT a provisionadas, bem como pelo nível de serviço escolhido, que determina o número de mensagens por dia por unidade permitida.
- O Stream Analytics tem o preço do número de unidades de streaming necessárias para processar os dados no serviço.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuintes.
Autor principal:
- Alex Buck | Desenvolvedor sénior de conteúdo
Passos Seguintes
A orientação para as grandes arquiteturas de dados está disponível no Guia de Arquitetura de Dados do Azure.
Recursos relacionados
Arquiteturas IoT adicionais:
- Arquitetura de referência do Azure IoT
- IoT usando Azure Cosmos DB
- Retalho - Compre online e recolha na loja (BOPIS)
- Manutenção preditiva com o IoT Edge inteligente
- Proteger a sua aplicação SaaS de IoT com a plataforma de identidades da Microsoft
Guias de arquitetura IoT: