Arquitetura do Azure IoT Central
O IoT Central é um ambiente pronto que permite avaliar rapidamente seu cenário de IoT. Ele é uma solução de IoT de aPaaS (plataforma de aplicativo como serviço) e sua interface principal é uma interface de usuário da Web. Também há uma API REST que permite interagir com seu aplicativo de maneira programática.
Este artigo fornece uma visão geral dos principais elementos de uma arquitetura da solução do IoT Central.
Os principais recursos em um aplicativo do IoT Central:
Gerenciar dispositivos
O IoT Central permite gerenciar a frota de dispositivos de IoT que estão enviando dados para sua solução. Por exemplo, você pode:
- Controlar quais dispositivos podem se conectar ao seu aplicativo e como eles são autenticados.
- Usar modelos de dispositivo para definir os tipos de dispositivos que podem se conectar ao seu aplicativo.
- Gerenciar dispositivos definindo propriedades ou chamando comandos nos dispositivos conectados. Por exemplo, definir uma propriedade de temperatura de destino para um termostato ou chamar um comando para disparar um dispositivo para atualizar seu firmware. Você pode definir propriedades e chamar comandos em:
- Dispositivos individuais por meio de uma interface do usuário da Web personalizável.
- Vários dispositivos com trabalhos agendados ou sob demanda.
- Manter os metadados do dispositivo, como o endereço do cliente ou a data do último serviço.
Exibir e analisar dados
Em um aplicativo do IoT Central, você pode exibir e analisar dados de dispositivos individuais ou dados agregados de vários dispositivos:
- O mapeamento permite transformar a telemetria complexa do dispositivo em dados estruturados dentro do IoT Central.
- Usar modelos de dispositivos para definir exibições personalizadas para dispositivos individuais de tipos específicos. Por exemplo, você pode plotar a temperatura ao longo do tempo para um termostato individual ou mostrar a localização ao vivo de um caminhão de entrega.
- Use a análise interna para exibir dados agregados de vários dispositivos. Por exemplo, você pode ver a ocupação total de várias lojas de varejo ou identificar as lojas com as taxas de ocupação mais altas ou mais baixas.
- Crie painéis personalizados para ajudar a gerenciar seus dispositivos. Por exemplo, você pode adicionar mapas, blocos e gráficos para mostrar a telemetria do dispositivo.
Proteger sua solução
No IoT Central, você pode configurar e gerenciar a segurança nas seguintes áreas:
- Acesso do usuário ao seu aplicativo.
- Acesso do dispositivo ao seu aplicativo.
- Acesso programático ao seu aplicativo.
- Autenticação do seu aplicativo em outros serviços.
- Os logs de auditoria acompanham a atividade no seu aplicativo.
Para saber mais, consulte o Guia de segurança do IoT Central.
Dispositivos
Os dispositivos coletam dados de sensores para enviar como um fluxo de telemetria para um aplicativo do IoT Central. Por exemplo, uma unidade de refrigeração envia um fluxo de valores de temperatura ou um caminhão de entrega transmite sua localização.
Um dispositivo pode usar propriedades para relatar seu estado, por exemplo, se uma válvula está aberta ou fechada. Um aplicativo do IoT Central também pode usar propriedades para definir o estado do dispositivo, por exemplo, definir uma temperatura de destino para um termostato.
O IoT Central também pode controlar dispositivos chamando comandos nele. Por exemplo, instruir um dispositivo a baixar e instalar uma atualização de firmware.
A telemetria, as propriedades e os comandos que um dispositivo implementa são conhecidos em conjunto como as funcionalidades do dispositivo. Você define esses recursos em um modelo que o dispositivo e o aplicativo IoT Central compartilham. No IoT Central, esse modelo faz parte do modelo de dispositivo que define um tipo de dispositivo específico. Para saber mais, confira Associar um dispositivo a um modelo de dispositivo.
A implementação do dispositivo deve seguir as convenções de IoT Plug and Play para garantir que ele possa se comunicar com o IoT Central. Para saber mais, confira os SDKs e exemplos de diversas linguagens.
Os dispositivos se conectam com o IoT Central usando um dos protocolos com suporte: MQTT, AMQP ou HTTP.
Gateways
Dispositivos de gateway locais são úteis em vários cenários, como:
- Os dispositivos não podem se conectar diretamente ao IoT Central porque não podem se conectar à Internet. Por exemplo, você pode ter uma coleção de sensores de ocupação habilitados para Bluetooth que precisam ser conectados por meio de um dispositivo de gateway.
- A quantidade de dados gerados por seus dispositivos é alta. Para reduzir custos, combine ou agregue os dados em um gateway local antes de enviá-los ao aplicativo do IoT Central.
- Sua solução exige respostas rápidas a anomalias nos dados. Você pode executar regras em um dispositivo de gateway para identificar anomalias e executar uma ação localmente sem a necessidade de enviar dados para o aplicativo do IoT Central.
Os dispositivos de gateway normalmente exigem mais potência de processamento do que um dispositivo autônomo. Uma opção para implementar um dispositivo de gateway é usar Azure IoT Edge e aplicar um dos padrões de gateway IoT Edge padrão. Você também pode executar seu próprio código de gateway personalizado em um dispositivo adequado.
Exportar dados
Embora o IoT Central tenha recursos de análise internos, você pode exportar dados para outros serviços e aplicativos.
As transformações em uma definição de exportação de dados do IoT Central permitem manipular o formato e a estrutura dos dados do dispositivo antes de exportá-los para um destino.
Os motivos para exportar dados incluem:
Armazenamento e análise
Para armazenamento de longo prazo e controle sobre as políticas de arquivamento e retenção, você pode exportar continuamente os dados para outros destinos de armazenamento. A utilização de um serviço de armazenamento separado fora do IoT Central permite-lhe utilizar outras ferramentas de análise para obter insights dos dados da sua solução.
Automação empresarial
As regras no IoT Central permitem que você dispare ações externas, como enviar um email ou disparar um evento, em resposta às condições no IoT Central. Por exemplo, você pode notificar um engenheiro de que a temperatura ambiente de um dispositivo atingiu um limite.
Computação adicional
Talvez seja necessário transformar ou fazer cálculos em seus dados antes que eles possam ser usados no IoT Central ou em outro serviço. Por exemplo, você pode adicionar informações meteorológicas locais aos dados de localização relatados por um caminhão de entrega.
Estender com a API REST
Crie integrações que permitem que outros aplicativos e serviços gerenciem seu aplicativo. Por exemplo, gerencie programaticamente os dispositivos em seu aplicativo ou sincronize informações do usuário com um sistema externo.
Escalabilidade
Os aplicativos do IoT Central usam internamente vários serviços do Azure, como o Hub IoT e o DPS (Serviço de Provisionamento de Dispositivos). Muitos desses serviços subjacentes são multi-locatários. No entanto, para garantir o isolamento completo dos dados do cliente, o IoT Central usa hubs IoT de locatário único.
O IoT Central escala automaticamente seus hubs IoT com base nos perfis de carga em seu aplicativo. O IoT Central pode escalar verticalmente os hubs IoT individuais e escalar horizontalmente o número de hubs IoT em uma aplicativo. O IoT Central também dimensiona automaticamente outros serviços subjacentes.
Exportação de dados
Aplicativos do IoT Central geralmente usam outros serviços configurados pelo usuário. Por exemplo, é possível configurar seu aplicativo do IoT Central para exportar continuamente os dados para serviços como Hubs de Eventos do Azure e Armazenamento de Blobs do Azure.
Se uma exportação de dados configurada não puder gravar no destino, o IoT Central tentará retransmitir os dados por até 15 minutos. Depois disso, o IoT Central marcará o destino como com falha. A verificação da condição de gravável dos destinos com falha é realizada periodicamente.
Você pode forçar a reinicialização das exportações com falha do IoT Central desabilitando e habilitando novamente a exportação de dados.
Revise as melhores práticas de alta disponibilidade e escalabilidade para o serviço de destino de exportação de dados que você está usando:
- Armazenamento de Blobs do Azure: redundância de Armazenamento do Azure e Lista de verificação de desempenho e escalabilidade para o armazenamento de Blobs
- Hubs de Eventos do Azure: disponibilidade e consistência em Hubs de Eventos e Dimensionamento com Hubs de Eventos
- Barramento de Serviço do Azure: melhores práticas para isolamento de aplicativos contra interrupções do Barramento de Serviço e desastres e Atualização automática de unidades de mensagens de um namespace do Barramento de Serviço do Azure
Alta disponibilidade e recuperação de desastre
Os recursos de HADR dependem de quando você criou seu aplicativo do IoT Central:
Aplicativos criados antes de abril de 2021
Alguns aplicativos criados antes de abril de 2021 usam um único hub IoT. Para esses aplicativos, o IoT Central não fornece recursos HADR. Se o hub IoT ficar indisponível, o aplicativo ficará indisponível.
Use o comando az iot central device manual-failover
para verificar se o aplicativo ainda usa um único hub IoT. Este comando retornará um erro se o aplicativo tiver um único hub IoT.
Aplicativos criados após abril de 2021 e antes de abril de 2023
Para conectividade de dispositivo altamente disponível, um aplicativo do IoT Central sempre tem pelo menos dois hubs IoT. O número de hubs pode aumentar ou diminuir à medida que IoT Central escala o aplicativo em resposta a alterações no perfil de carga.
O IoT Central também usa zonas de disponibilidade para tornar altamente disponíveis vários serviços que ele usa.
Um incidente que requer recuperação de desastre pode variar de um subconjunto de serviços ficando indisponíveis, até uma região inteira ficando indisponível. O IoT Central segue processos de recuperação diferentes, dependendo da natureza e da escala do incidente. Por exemplo, se uma região inteira do Azure ficar indisponível na ativação de uma falha catastrófica, os procedimentos de recuperação de desastres realizarão failover de aplicativos para outra região na mesma área geográfica.
Aplicativos criados após abril de 2023
Os aplicativos do IoT Central criados após abril de 2023 inicialmente têm um único hub IoT. Se o hub IoT ficar indisponível, o aplicativo ficará indisponível. No entanto, o IoT Central dimensiona automaticamente o aplicativo e adiciona um novo hub IoT para cada 10.000 dispositivos conectados. Se você precisar de vários hubs IoT para aplicativos com menos de 10.000 dispositivos, envie uma solicitação para o suporte ao cliente do IoT Central.
Use o comando az iot central device manual-failover
para verificar se o seu aplicativo atualmente usa um único hub IoT. Este comando retornará um erro se o aplicativo tiver um único hub IoT no momento.