Arquitetura de referência de IoT do Azure

Armazenamento de Blobs
Funções
Hub IoT
Serviço de Provisionamento de Dispositivos IoT
Aplicativos Lógicos
Stream Analytics

Este artigo aborda uma arquitetura recomendada para aplicativos IoT usando componentes de PaaS do Azure (plataforma como serviço). O diagrama a seguir reflete diferentes componentes do Azure que podem ser usados para arquitetar uma solução de IoT. O diagrama mostra e o artigo realça a maioria dos serviços comumente usados, mas nenhuma solução requer todos eles. Se você estiver apenas começando a trabalhar com o Azure IoT ou estiver procurando criar sua primeira solução de prova de conceito, comece aqui:

Diagrama da arquitetura

Essa arquitetura de referência usa componentes do PaaS do Azure (plataforma como serviço). A Microsoft recomenda começar a usar Azure IoT Central, que é uma plataforma de solução IoT aPaaS (plataforma como serviço de aplicativo). Ele foi projetado para simplificar e acelerar o assembly e as operações da solução IoT com o pré-ambramento, o dimensionamento e o gerenciamento de muitos dos mesmos serviços de PaaS descritos nesta arquitetura de referência. O resultado é uma área pronta para uso e pronta para uso da experiência do usuário e da superfície de API completa com os recursos necessários para conectar, gerenciar e operar frotas de dispositivos em escala. Saiba mais sobre como comparar o IoT Central (aPaaS) com uma abordagem de solução de PaaS com base nas suas necessidades de solução.

As soluções de IoT do Azure envolvem coisas (normalmente dispositivos ) que geram dados, insights que você forma sobre os dados e ações que você toma com base nos insights. Considere um motor que envia dados de temperatura. Esses dados são usados para avaliar se o motor está executando conforme o esperado. O insight sobre seu desempenho é usado para priorizar um agendamento de manutenção para o motor.

Dispositivos

O Azure IoT dá suporte a uma grande variedade de dispositivos, desde microcontroladores que executam Azure RTOS e Azure Sphere até placas de desenvolvedor, como o MX Chip e o Raspberry Pi. O Azure IoT também dá suporte a gateways de servidor inteligente capazes de executar código personalizado. Os dispositivos podem executar algum processamento local por meio de um serviço como o Azure IoT Edge ou apenas se conectar diretamente ao Azure para que possam enviar e receber dados da solução de IoT.

Quando os dispositivos estão conectados à nuvem, há vários serviços que ajudam na ingestão de dados. Hub IoT do Azure é um serviço de gateway de nuvem que pode se conectar e gerenciar dispositivos com segurança. O DPS (Serviço de Provisionamento de Dispositivos) do Hub IoT permite o provisionamento just-in-time de toque zero que ajuda a registrar um grande número de dispositivos de maneira segura e escalonável. Gêmeos Digitais do Azure habilita modelos virtuais de sistemas do mundo real.

Insights

Depois que os dispositivos foram conectados na nuvem, seus dados podem ser processados e explorados para obter insights personalizados sobre seu ambiente. Em um alto nível, há três maneiras de processar o caminho quente de — dados, o caminho quente e o caminho frio. A diferença entre eles tem a ver com os requisitos de latência e acesso a dados.

  • O caminho quente analisa dados quase em tempo real conforme eles chegam. No caminho quente, a telemetria deve ser processada com latência muito baixa. O caminho quente geralmente é implementado usando um mecanismo de processamento de fluxo. Considere o uso de serviços como Azure Stream Analytics ou HDInsight. A saída pode disparar um alerta ou ser gravada em um formato estruturado que pode ser consultado com ferramentas analíticas.
  • O caminho quente analisa dados que podem acomodar atrasos mais longos para processamento mais detalhado. Considere Azure Data Explorer o Azure Time Series Insights para armazenar e analisar grandes volumes de dados.
  • O caminho frio executa processamento em lotes em intervalos mais longos (por hora ou diariamente). O caminho frio normalmente opera em grandes volumes de dados que podem ser armazenados no Azure Data Lake e os resultados não precisam ser tão o quanto os caminhos quentes ou quentes. Considere usar Azure Machine Learning ou Azure Databricks para analisar dados frios.

Ações

Você pode usar os insights coletados sobre seus dados para gerenciar e controlar seu ambiente. As ações de integração de negócios podem incluir o armazenamento de mensagens informativas, a aplicação de alarmes, o envio de mensagens de email ou SMS ou a integração com aplicativos de negócios, como CRM e ERP. Os seguintes serviços estão disponíveis para gerenciamento e integração de negócios:

  • Power BI se conecta a, modela e visualiza seus dados. Power BI permite que você colabore em dados e use inteligência artificial para tomar decisões controladas por dados.
  • O Azure Mapas permite que você crie aplicativos Web e móveis com conhecimento de localização usando serviços geoespaciais (pesquisa, mapas, roteamento, acompanhamento e tráfego), APIs e SDKs.
  • Azure Cognitive Search fornece um serviço de pesquisa sobre tipos variados de conteúdo. Isso inclui recursos de indexação, enriquecimento de IA e consulta.
  • O Azure API Management fornece um único local para gerenciar todas as suas APIs.
  • Os Aplicativos Web do Azure permitem que você implante aplicativos Web dimensionáveis com sua organização.
  • Os Aplicativos Móveis permitem que você crie aplicativos nativos e de plataforma cruzada para iOs, Android, Windows ou Mac.
  • O Dynamics 365 combina CRM (gerenciamento de relacionamento com o cliente) e ERP (planejamento de recursos corporativos) na nuvem.
  • Microsoft Flow é uma oferta de SaaS para automatizar fluxos de trabalho em aplicativos e outros serviços SaaS.
  • Aplicativos Lógicos do Azure é uma oferta de PaaS baseada em nuvem usada para criar e automatizar fluxos de trabalho que integram seus aplicativos, dados, serviços e sistemas.

Também há vários serviços fornecidos pelo Azure para ajudá-lo a monitorar toda a solução de IoT e mantê-la segura. Os serviços de diagnóstico incluem Azure Monitor. Serviços de segurança, como Azure Active Directory e Azure Defender para IoT ajudam a controlar, exibir e gerenciar suas configurações de segurança, detecção e resposta de ameaças.

Gêmeos Digitais

Os clientes estão explorando os Gêmeos Digitais como um mecanismo para controlar e monitorar ambientes conectados. Um gêmeo digital é um modelo virtual de um ambiente do mundo real que é controlado com dados de sistemas de negócios e dispositivos IoT. Ele é usado para habilitar insights e ações para uma empresa ou organização. Os desenvolvedores e arquitetos estão procurando gêmeos digitais como a solução que permite ambientes inteligentes e conectados, como o seguinte:

  • Manutenção preditiva no setor de fabricação
  • Visibilidade da cadeia de fornecedores
  • Prateleiras inteligentes para inventário em tempo real
  • Casas conectadas e edifícios inteligentes

Implantação em escala

Crie sua solução para implantar em escala global. Para obter uma escalabilidade ideal, crie seu aplicativo IoT como serviços discretos que podem ser dimensionáveis de forma independente. Esta seção contém considerações de escalabilidade para vários serviços do Azure.

Funções. Ao ler a partir do ponto de extremidade dos Hubs de Eventos, há um máximo de instâncias de função por partição do hub de eventos. A taxa máxima de processamento é determinada pela rapidez com que uma instância de função pode processar os eventos de uma única partição. A função deve processar mensagens em lotes.

Hub IoT. Para o Hub IoT, considere os seguintes fatores de dimensionamento:

  • A cota diária máxima de mensagens no Hub IoT.
  • A cota de dispositivos conectados em uma instância do Hub IoT.
  • Taxa de transferência de ingestão — a rapidez com que o Hub IoT pode receber as mensagens.
  • Taxa de transferência de processamento — a rapidez com que as mensagens de entrada são processadas.

Cada Hub IoT é provisionado com um determinado número de unidades em um tipo de preço e escala específicos. A camada e o número de unidades determinam a cota diária máxima de mensagens que os dispositivos podem enviar para o hub. Para obter mais informações, consulte Cotas do Hub IoT e a throttling. Você pode escalar verticalmente um hub sem interromper as operações existentes.

Stream Analytics. Os trabalhos do Stream Analytics são melhor dimensionados se forem paralelos em todos os pontos no pipeline do Stream Analytics, desde a entrada para a consulta até a saída. Um trabalho totalmente paralelo permite que o Stream Analytics divida o trabalho em vários nós de computação. Para obter mais informações, confira Aproveitar a paralelização de consultas no Azure Stream Analytics.

O Hub IoT particiona automaticamente mensagens de dispositivo com base na ID do dispositivo. Todas as mensagens de um determinado dispositivo sempre chegarão na mesma partição, mas uma única partição terá mensagens de vários dispositivos. Portanto, a unidade da paralelização é a ID da partição.

Segurança

Esta seção contém considerações para a criação de soluções seguras.

Confiança Zero de segurança

Confiança Zero é um modelo de segurança que supõe que as violações ocorrerão e trata todas as tentativas de acesso como se ela se origina de uma rede aberta. Confiança Zero supõe que você implementou os conceitos básicos, como proteger identidades e limitar o acesso. Isso inclui verificar explicitamente os usuários, ter visibilidade em seus dispositivos e tomar decisões de acesso dinâmico usando a detecção de risco em tempo real. Depois que os conceitos básicos são atendidos, você pode mudar seu foco para os seguintes requisitos Confiança Zero para soluções de IoT:

  • Use uma identidade forte para autenticar dispositivos.
  • Use o acesso com privilégios mínimos para reduzir o raio de raio de raio.
  • Monitore a saúde do dispositivo para acessar ou sinalizar dispositivos para correção.
  • Execute atualizações para manter os dispositivos íveis.
  • Monitore para detectar e responder a ameaças emergentes.

Leia o Confiança Zero Segurança Cibernética para o Internet das Coisas para obter detalhes completos.

Comunicação confiável e segura

Todas as informações recebidas e enviadas para um dispositivo devem ser confiáveis. A menos que um dispositivo tenha suporte para os recursos de criptografia a seguir, ele deve ser restrito a redes locais e toda a comunicação entre redes deve passar por um gateway de campo:

  • Criptografia de dados e assinaturas digitais com um algoritmo de criptografia de chave simétrica provavelmente seguro, analisado publicamente e amplamente implementado.
  • Suporte para o TLS 1.2 para TCP ou outros caminhos de comunicação baseada em fluxo ou DTLS 1.2 para caminhos de comunicação baseada em datagrama. Suporte de manipulação de certificado X.509 é opcional e pode ser substituído pelo modo de chave pré-compartilhada mais eficiente de computação e eficiente de transmissão para o TLS, que pode ser implementado com suporte para os algoritmos AES e SHA-2.
  • Repositório de chaves atualizável e chaves por dispositivo. Cada dispositivo deve ter um material de chave exclusivo ou tokens que o identifiquem para o sistema. Os dispositivos devem armazenar a chave com segurança (por exemplo, usando um repositório de chaves seguro). O dispositivo deve ser capaz de atualizar as chaves ou tokens periodicamente, ou de modo reativo em situações de emergência, como uma violação de sistema.
  • O software de aplicativo e o firmware no dispositivo devem permitir atualizações para habilitar o reparo de vulnerabilidades de segurança descobertas.

Muitos dispositivos são muito restritos para dar suporte a esses requisitos. Nesse caso, um gateway de campo deve ser usado. Os dispositivos se conectam com segurança ao gateway de campo por meio de uma rede local e o gateway permite a comunicação segura com a nuvem.

Integridade física à prova de adulteração

É altamente recomendável que o design do dispositivo incorpore recursos que protejam contra tentativas de manipulação física, para ajudar a garantir a integridade de segurança e a confiabilidade do sistema geral.

Por exemplo:

  • Escolha microcontroladores/microprocessadores ou hardware auxiliar que fornece armazenamento seguro e uso de material de chave de criptografia, como integração TPM (trusted platform module).
  • Proteja o carregador de inicialização e o carregamento de software seguro ancorado no TPM.
  • Use sensores para detectar tentativas de intrusão e tentativas de manipular o ambiente do dispositivo com alertas e potencial "autodestruição digital" do dispositivo.

Para outras considerações de segurança, confira Arquitetura de segurança da Internet das Coisas (IoT).

Confiabilidade e desempenho

Uma importante área de consideração para soluções de Internet das Coisas (IoT) resilientes é a continuidade dos negócios e a recuperação de desastres. Projetar para ALTA Disponibilidade (HA) e DR (Recuperação de Desastre) pode ajudá-lo a definir e atingir as metas de tempo de atividade necessárias para sua solução.

Diferentes serviços do Azure oferecem opções diferentes de redundância e failover para ajudá-lo a atingir as metas de tempo de atividade que melhor se adequam aos seus objetivos de negócios. Incorporar qualquer uma dessas alternativas de HA / DR à sua solução de IoT requer uma avaliação cuidadosa dos trade-offs entre:

  • Nível de resiliência que você precisa
  • Complexidade de implementação e manutenção
  • Impacto sobre o custo de venda de bens (COGS)

O artigo Diretrizes Técnicas de Continuidade dos Negócios do Azuredescreve uma estrutura geral para ajudá-lo a pensar sobre a continuidade dos negócios e   a recuperação de desastres. O documento Recuperação de desastre e alta disponibilidade para aplicativos do Azurefornece diretrizes de design de arquitetura sobre estratégias para que os aplicativos do Azure alcancem alta disponibilidade (HA) e DR (recuperação de   desastre).

Você também pode encontrar informações de desempenho específicas do serviço na documentação de cada serviço de IoT do Azure.

Considerações de custo

Em geral, use a calculadora de preços do Azure para estimar os custos. Outras considerações são descritas na seção Custo no Microsoft Azure Well-Architected Framework.

Próximas etapas

Para obter mais informações sobre as partes individuais de uma arquitetura de solução, consulte os seguintes tópicos: