Compartilhar via


Práticas recomendadas de arquitetura para o Hub IoT do Azure

O Hub IoT do Azure é um serviço gerenciado baseado em nuvem que serve como um hub de mensagens central para comunicação entre um aplicativo IoT e seus dispositivos conectados. Você pode conectar de forma confiável praticamente qualquer dispositivo e suas soluções de back-end a um hub IoT em escala.

Este artigo pressupõe que, como arquiteto, você analisou as tecnologias e serviços que pode usar para criar soluções de IoT e escolheu do Hub IoT como o serviço da plataforma IoT do Azure para sua carga de trabalho. As orientações neste artigo fornecem recomendações de arquitetura mapeadas de acordo com os princípios dos pilares do Well-Architected Framework.

Importante

Como usar este guia

Cada seção tem uma lista de verificação de projeto que apresenta áreas arquitetônicas de preocupação, juntamente com estratégias de design localizadas para o escopo da tecnologia.

Também estão incluídas recomendações para os recursos tecnológicos que podem ajudar a materializar essas estratégias. As recomendações não representam uma lista exaustiva de todas as configurações disponíveis para o Hub IoT e suas dependências. Em vez disso, eles listam as principais recomendações mapeadas para as perspetivas de design. Use as recomendações para criar sua prova de conceito ou para otimizar seus ambientes existentes.

Âmbito da tecnologia

Esta análise concentra-se nas decisões inter-relacionadas para os seguintes recursos do Azure:

  • Azure IoT Hub
  • Serviço de Provisionamento de Dispositivo (DPS) do Hub IoT do Azure
  • Atualização de dispositivo do Azure para o Hub IoT
  • Azure IoT Edge
  • Gêmeos Digitais do Azure
  • Azure Sphere
  • Microsoft Defender para IoT

Fiabilidade

O objetivo do pilar Confiabilidade é fornecer funcionalidade contínua, criando resiliência suficiente e a capacidade de se recuperar rapidamente de falhas.

Os princípios de projeto de fiabilidade fornecem uma estratégia de design de alto nível aplicada a componentes individuais, fluxos do sistema e ao sistema como um todo.

Lista de verificação de design

Inicie sua estratégia de design com base na lista de verificação de revisão de projeto para Confiabilidade. Determine sua relevância para seus requisitos de negócios, tendo em mente o desempenho do Hub IoT. Alargar a estratégia de modo a incluir mais abordagens, conforme necessário.

  • Projete dispositivos para resiliência. Desenhe os seus dispositivos para satisfazer os requisitos de tempo de funcionamento e disponibilidade da sua solução de ponta a ponta. Certifique-se de que seu dispositivo IoT possa operar de forma eficiente com conectividade intermitente à nuvem.

  • Design para requisitos de negócios. Considere as implicações de custo da introdução de modificações arquitetônicas para atender aos contratos de nível de serviço. Por exemplo, para aumentar a confiabilidade e a alta disponibilidade, você pode implementar redundâncias entre regiões e um sistema de dimensionamento automático. Considere cuidadosamente as compensações.

  • Implemente procedimentos de atualização simples e seguros. Crie uma estratégia para os operadores gerenciarem dispositivos em sua solução de IoT corporativa. Os operadores de IoT exigem ferramentas e práticas de atualização simples e confiáveis.

  • Observe a saúde da aplicação. Defina indicadores de nível de serviço (SLIs) e objetivos de nível de serviço (SLOs) com base na observabilidade. Adicione processos para auditoria, monitoramento e alerta, além dos processos incluídos no Hub IoT.

  • Implemente alta disponibilidade e recuperação de desastres para componentes críticos. Planeje componentes resilientes de hardware e software que aumentem a redundância, incluindo redundâncias entre regiões.

  • Planeje a capacidade. Planeje cotas e limitações de serviço e leve em conta a latência que ocorre entre a deteção e a ação. Estabeleça benchmarks na escala de produção para dar suporte ao fluxo de dados ininterrupto.

Recomendações

Recomendação Benefício
Calcule a capacidade necessária do Hub IoT, como o número de mensagens por dia e outros limites. Se sua carga de trabalho tiver requisitos de capacidade flutuantes, implemente um mecanismo de dimensionamento automático para que ele aumente e diminua a capacidade com base na demanda. Para obter mais informações, consulte Escolha a camada e o tamanho corretos do Hub IoT para sua solução. O dimensionamento dinâmico ajuda a otimizar o uso de recursos. Ele ajuda a garantir que sua solução permaneça responsiva e confiável sem provisionar recursos em excesso.
Adicione uma estratégia de reconexão de dispositivo ao Hub IoT para projetar aplicativos resilientes. Para obter mais informações, consulte Gerenciar reconexões de dispositivos. Os dispositivos IoT geralmente dependem de conexões de rede intermitentes ou instáveis. Uma estratégia de reconexão permite que sua carga de trabalho se recupere sem a intervenção do usuário, o que aumenta a disponibilidade.
Avalie as compensações de diferentes opções de alta disponibilidade e recuperação de desastres no Hub IoT. Dependendo das metas de tempo de atividade da sua solução IoT, determine as opções que melhor se adequam aos seus objetivos de negócios. Escolha entre de failover iniciado pela Microsoft, de failover manual e de alta disponibilidade entre regiões. Uma estratégia de failover ajuda a carga de trabalho a mudar rapidamente para uma instância de backup, o que minimiza o impacto sobre seus usuários e operações de negócios.
Use DPS para provisionar seus dispositivos e atribuí-los a um hub IoT. O DPS é um serviço auxiliar que permite o provisionamento just-in-time e "zero-touch", sem a necessidade de intervenção humana. O DPS permite o provisionamento de milhões de dispositivos de forma altamente segura e escalável.
Use Atualização de Dispositivo para o Hub IoT para gerir atualizações por via aérea para os seus dispositivos IoT. Certifique-se de que sua estratégia de atualização inclua distribuição gradual, atualizações A/B resilientes, gerenciamento detalhado e ferramentas de relatórios. Essa abordagem ajuda a garantir atualizações seguras e confiáveis para dispositivos IoT, o que reduz o tempo de inatividade e melhora a eficiência operacional. Ele ajuda a manter a conformidade do dispositivo e identifica e resolve rapidamente falhas de atualização, o que aumenta a confiabilidade geral do sistema.
Implemente práticas de DevOps para gerenciar soluções de IoT, incluindo integração contínua e implantação contínua (CI/CD), monitoramento e atualizações automatizadas.

- Use DevOps para criar e lançar seus aplicativos IoT Edge.
- Use Azure Monitor para monitorar e receber alertas dos dados que o Hub IoT coleta.
- Utilizar gestão automática de dispositivos no Hub IoT para automatizar a gestão de dispositivos em escala.
As práticas de DevOps aumentam a confiabilidade e a eficiência das soluções de IoT. Eles permitem implantação rápida, monitoramento contínuo e atualizações automatizadas. Esses recursos reduzem o tempo de inatividade, melhoram o desempenho do sistema e implantam atualizações e alterações de forma segura e consistente.

Segurança

O objetivo do pilar Segurança é fornecer confidencialidade, integridade e disponibilidade garantias para a carga de trabalho.

Os princípios de design de Segurança fornecem uma estratégia de design de alto nível para alcançar os objetivos, aplicando abordagens ao design técnico do IoT Hub.

Lista de verificação de design

Inicie a sua estratégia de design com base na lista de verificação da revisão de design para Segurança e identifique as vulnerabilidades e os controlos para melhorar o estado de segurança. Alargar a estratégia de modo a incluir mais abordagens, conforme necessário.

  • Use uma identidade forte para autenticar dispositivos e usuários. Implementar práticas para aumentar a segurança. Por exemplo, deve:

    • Tenha uma estrutura de confiança de hardware para uma identidade confiável.
    • Registre dispositivos.
    • Emita credenciais renováveis.
    • Use autenticação sem palavra-passe ou de múltiplos fatores (MFA).
  • Automatize e use o controle de acesso com privilégios mínimos. Limite o impacto de dispositivos ou identidades comprometidos ou cargas de trabalho não aprovadas.

  • Avalie a integridade do dispositivo. Avalie a integridade do dispositivo para controlar o acesso ou identificar dispositivos para correção. Verifique as configurações de segurança, avalie vulnerabilidades e senhas inseguras, monitore ameaças e anomalias e crie perfis de risco contínuos.

  • Implementar atualizações de dispositivos. Implemente atualizações contínuas para manter os dispositivos saudáveis. Use uma solução centralizada de configuração e gerenciamento de conformidade e um mecanismo de atualização robusto para garantir que os dispositivos estejam up-toatualizados e saudáveis.

  • Monitore a segurança do sistema e planeje a resposta a incidentes. Monitore proativamente dispositivos não autorizados ou comprometidos e responda a ameaças emergentes.

  • Garanta conexões altamente seguras. Certifique-se de que todos os dados transmitidos entre o dispositivo IoT e os serviços de nuvem IoT sejam confidenciais e invioláveis.

Recomendações

Recomendação Benefício
Aplique critérios de Confiança Zero para dispositivos. Os dispositivos que se conectam ao Hub IoT devem:
- Conter um módulo de segurança de hardware para uma identidade forte.
- Utilizar credenciais renováveis.
- Aplicar o controle de acesso com privilégios mínimos.
- Emitir sinais de saúde adequados para acesso condicional.
- Alertar os operadores para revogar um dispositivo do Hub IoT quando comprometido.

Os seus dispositivos devem incluir:
- Atualizar agentes para atualizações de segurança.
- Recursos de gerenciamento de dispositivos para configuração orientada por nuvem e resposta de segurança automatizada.
- Apenas recursos necessários habilitados para minimizar a pegada de ataque físico.
- Proteção de dados em repouso através de algoritmos de encriptação padrão.
Os critérios de Zero Trust para dispositivos que se conectam ao Hub IoT aumentam a segurança e a confiabilidade.

Módulos de segurança de hardware, credenciais renováveis e controle de acesso menos privilegiado minimizam o acesso não autorizado e dispositivos comprometidos.

Os sinais de saúde para acesso condicional e agentes de atualização ajudam a garantir que os dispositivos permaneçam seguros e conformes. O gerenciamento de dispositivos orientado para a nuvem e a resposta de segurança automatizada, juntamente com os agentes de segurança, fortalecem a postura de segurança.

Uma pequena pegada de ataque físico e proteção de dados em repouso protegem informações confidenciais e ajudam a manter a integridade do sistema.
Use certificados X.509 para autenticar seus dispositivos no Hub IoT. Para obter mais informações, consulte Autenticar identidades com certificados X.509. A autenticação baseada em X.509 em ambientes de produção oferece maior segurança em comparação com os tokens de segurança.
Estratificar o acesso com privilégios mínimos para dispositivos IoT. Use a segmentação de rede para agrupar dispositivos IoT. Esta prática atenua o impacto de uma possível violação.

Por exemplo, você pode conectar dispositivos IoT a uma "rede IoT" para dispositivos, como impressoras, telefones VoIP e smart TVs. Mantenha essa rede IoT separada de outros recursos organizacionais que sua força de trabalho acessa.

Use a microssegmentação de rede para separar logicamente os ambientes de tecnologia de operações dedicados da rede corporativa de tecnologia da informação. Para criar essa separação, use uma arquitetura de rede de perímetro que inclua firewalls. Organizações maduras também podem implementar políticas de microssegmentação em várias camadas do modelo Purdue, normalmente usando firewalls de última geração.
A segmentação de rede agrupa dispositivos IoT, o que pode mitigar o impacto de um comprometimento.

A microssegmentação de rede isola dispositivos menos capazes na camada de rede, atrás de um gateway ou em um segmento de rede discreto.
Use Microsoft Defender para IoT como a primeira linha de defesa para ajudar a proteger os seus recursos no Azure.

O Defender for IoT é uma plataforma de segurança de camada de rede sem agente que oferece descoberta contínua de ativos, gerenciamento de vulnerabilidades e deteção de ameaças para dispositivos IoT.
O Defender for IoT fornece monitoramento contínuo e deteção de ameaças para identificar rapidamente dispositivos não autorizados ou comprometidos. Melhora a segurança geral e a resiliência da rede IoT.
Use o Hub IoT com Azure Sphere como um módulo guardião para ajudar a proteger outros dispositivos, incluindo sistemas herdados existentes nos quais você não pode confiar para conectividade confiável.

Um módulo guardião do Azure Sphere é implantado com um aplicativo e faz interface com dispositivos existentes por meio de Ethernet, serial ou Bluetooth Low Energy (BLE). Os dispositivos não têm necessariamente conectividade direta com a Internet.
O módulo guardião do Azure Sphere fornece uma maneira de implementar conectividade altamente segura em dispositivos existentes sem expor esses dispositivos à Internet. Essa proteção inclui transmissão de dados criptografados, atualizações altamente seguras do sistema operacional e de aplicativos e autenticação para garantir a comunicação apenas com hosts confiáveis.
Use gateways do IoT Edge para impor padrões de identidade fortes para dispositivos menos capazes.

O IoT Edge fornece uma conexão de tempo de execução de borda com o Hub IoT e oferece suporte a certificados como identidades de dispositivo fortes. O IoT Edge suporta o padrão PKCS#11 para identidades de fabricação de dispositivos e outros segredos em um TPM (Trusted Platform Module) ou módulo de segurança de hardware.
Os gateways IoT Edge ajudam a impor padrões de identidade fortes para que apenas dispositivos autenticados e autorizados possam se comunicar dentro da rede. Esse recurso aprimora a segurança e a integridade do seu ecossistema IoT.

Otimização de Custos

A Otimização de Custos concentra-se em detetar padrões de gastos, priorizar investimentos em áreas críticas e otimizar em outras para atender ao orçamento da organização enquanto atende aos requisitos de negócios.

Os princípios de design de Otimização de Custos fornecem uma estratégia de design de alto nível para alcançar esses objetivos e realizar concessões conforme necessário no design técnico relacionado ao Hub IoT e seu ambiente.

Lista de verificação de design

Inicie sua estratégia de design com base na lista de verificação de revisão de projeto para Otimização de Custos para investimentos. Ajuste o design para que a carga de trabalho esteja alinhada com o orçamento alocado para a carga de trabalho. Seu design deve usar os recursos certos do Azure, monitorar investimentos e encontrar oportunidades para otimizar ao longo do tempo.

  • Desenvolver disciplina de gestão de custos. Para entender o custo total de propriedade (TCO), contabilize os custos funcionais e não funcionais em seu plano.

  • Use estratégias e abordagens padrão do setor. Para sectores específicos da IoT, como a fabricação, use estratégias e abordagens padrão do setor para construir estruturas, sistemas de IoT, cidades inteligentes ou redes de energia. Essa abordagem ajuda a otimizar custos.

  • Entenda o custo para proteger sua solução de IoT. A IoT cobre todo o processo, do hardware aos serviços na nuvem, para que você incorra em despesas relacionadas à segurança em todos os estágios. Por exemplo, você pode incorrer em custos para unidades de microprocessador (MPUs), dispositivos, telecomunicações, tecnologia de nuvem e tecnologia de operação.

  • Design para otimização de tarifas. Defina planos de implementação para cada preocupação de toda a solução IoT para otimizar custos.

  • Monitore e otimize ao longo do tempo. Monitore e otimize continuamente custos do Hub IoT. Faça atividades contínuas de otimização de custos depois de implementar sua solução.

  • Estimar custos realistas. Selecione o nível e o tamanho do Hub IoT apropriados de sua solução de IoT para as fases de desenvolvimento e operação.

  • Avalie custos únicos versus custos recorrentes. Considere as vantagens de custo dos custos únicos em comparação com os custos recorrentes. Por exemplo, as técnicas de hacking evoluem continuamente, pelo que poderá utilizar um sistema operativo e um módulo comerciais fiáveis, como o Azure Sphere. Para um pagamento único, esses serviços fornecem patches de segurança mensais contínuos do dispositivo.

  • Otimize o uso de recursos. Implemente mecanismos de dimensionamento automático ajustar a capacidade do Hub IoT com base na demanda. Essa abordagem ajuda a garantir o uso eficiente de recursos e o controle de custos.

  • Use a capacidade reservada. Avalie o tamanho e a frequência das cargas úteis de mensagens para garantir que seu Hub IoT seja adequadamente dimensionado e preparado para escalar.

  • Implementar alertas de custos e orçamentos. Configure alertas de custos e orçamentos no Microsoft Cost Management para controlar e controlar eficazmente os seus gastos. Use APIs de gestão de custos para IoT Hub e DPS .

Recomendações

Recomendação Benefício
Entenda as cotas do Hub IoT e os limites de limitação e como eles afetam o TCO quando sua solução é executada em escala na produção.

Seu modelo de custo deve levar em conta dispositivos, infraestrutura, operações e monitoramento em escala na produção.
Cada serviço tem seu próprio conjunto de cotas e limites de limitação. Entenda esses limites no Hub IoT para otimizar custos.
Entenda o ecossistema do dispositivo e as várias funções envolvidas, como fabricantes de hardware, desenvolvedores de aplicativos e operadores para planejamento. Os dispositivos podem variar de pequenas MCUs de 8 bits a CPUs x86 avançadas, como as encontradas em computadores desktop. Para obter mais informações, consulte Práticas recomendadas para configuração de dispositivos em uma solução de IoT.

O hardware escolhido depende de muitas variáveis. Entenda os principais diferenciais de hardware em um dispositivo IoT para reduzir custos.
Compreender a gama de dispositivos e os principais diferenciais de hardware facilita a alocação de recursos de forma mais eficaz. Isso garante que você esteja usando os dispositivos certos para as tarefas certas, levando a um melhor desempenho e eficiência de custos.
Use IoT Plug and Play para reduzir o tempo de desenvolvimento de hardware e integração. Adote um de ontologia da indústriaDigital Twin Definition Language (DTDL), que é um modelo que um dispositivo usa para anunciar os seus recursos a uma aplicação compatível com IoT Plug and Play. Os construtores de soluções podem usar o IoT Plug and Play para integrar dispositivos IoT ao Hub IoT sem configuração manual.
Use Atualização de Dispositivo para o Hub IoT para fornecer atualizações over-the-air e gerenciar remotamente seus dispositivos. Uma solução para atualizar remotamente o firmware ou software do dispositivo ajuda a reduzir os custos de trabalho manual a longo prazo.
Use conectores para serviços do Azure, como Power Apps, Power Automate e Azure Logic Apps.

O Hub IoT e a Grade de Eventos do Azure juntos fornecem conectores para implantar os seus requisitos em Aplicativos Lógicos e Power Automate.
Os conectores permitem uma integração perfeita entre dispositivos IoT e vários serviços do Azure, o que permite fluxos de trabalho automatizados e recursos aprimorados de processamento de dados.
Use simuladores de dispositivos e configure um ambiente de teste de carga para testar a solução em escala de produção e entender o custo da solução.

Exemplos de código de simulação, como o Azure IoT Device Telemetry Simulator, ajudam-no a testar e estimar custos em escala com vários parâmetros.
Os simuladores de dispositivos podem ajudar a economizar custos em escala para modelar, testar e simular resultados para um cenário.
Para reduzir os tamanhos e custos de transmissão:
- Escolha o de protocolo certo para seus dispositivos IoT.
- Comprimir telemetria na extremidade.
- Mensagens em lote no dispositivo.
- Escolha entre manter as conexões vivas ou reconectar quando os dispositivos acordarem.
- Utilize o recurso gémeo de dispositivo para trocar informações de estado de forma assíncrona, se o custo for um fator crítico.

Para dispositivos IoT alimentados por bateria, pode escolher entre manter as conexões ativas ou reconectar quando os dispositivos despertarem. Use mensagens keep-alive, ou mensagens de pulsação, para verificar o status do dispositivo, mas considere os custos extras de rede de transmissão.

A reconexão usa cerca de 6 KB de dados para estabelecer uma conexão TLS, autenticar o dispositivo e recuperar um dispositivo gêmeo. Mas conserva a capacidade da bateria se o dispositivo acordar apenas uma ou duas vezes por dia.
Um protocolo ideal para o seu cenário permite que os dispositivos reduzam os tamanhos e custos de transmissão na camada de transporte.
Entenda como usar a análise de caminho quente, morno e frio para dados de IoT e aplique a arquitetura lambda . Use o recurso interno de roteamento de mensagens no Hub IoT. As soluções de IoT podem armazenar grandes quantidades de dados. Os custos de armazenamento representam uma grande parte do custo geral da solução. Escolha um plano de processamento e armazenamento apropriado com base no seu cenário de negócios.

Excelência Operacional

A Excelência Operacional concentra-se principalmente em procedimentos para práticas de desenvolvimento de , observabilidade e gerenciamento de releases.

Os princípios de design Excelência Operacional fornecer uma estratégia de design de alto nível para alcançar essas metas para os requisitos operacionais da carga de trabalho.

Lista de verificação de design

Inicie sua estratégia de design com base na lista de verificação de revisão de projeto para Excelência Operacional para definir processos de observabilidade, teste e implantação relacionados ao Hub IoT.

  • Abrace operações contínuas e escalação. Certifique-se de que a solução de IoT possa:

    • Gerencie com sucesso o provisionamento automatizado de dispositivos.
    • Integre com outros sistemas back-end.
    • Ofereça suporte a diferentes funções, como desenvolvedores de soluções, administradores de soluções e operadores.
    • Adapte-se e dimensione de forma eficiente às mudanças conforme necessário, como dispositivos IoT recém-implantados ou maior taxa de ingestão.
  • Otimize os processos de compilação e lançamento. Uma solução de IoT empresarial bem-sucedida requer uma estratégia para estabelecer e atualizar um dispositivo ou uma frota de configuração de dispositivos. A configuração de um dispositivo inclui propriedades do dispositivo, configurações de conexão, relacionamentos e firmware. Os operadores de IoT exigem ferramentas simples e confiáveis para atualizar a configuração de um dispositivo ou frota de dispositivos a qualquer momento durante a vida útil do dispositivo.

  • Compreender a saúde operacional. Use sistemas de registro, monitoramento e alerta da solução IoT para determinar se a solução está funcionando conforme o esperado e para ajudar a solucionar problemas durante todo o ciclo de vida da solução.

  • Utilize a automação e o DevOps. Um dispositivo IoT é essencialmente um pequeno computador que possui hardware e software especializados. Os dispositivos IoT são frequentemente restringidos em hardware. Por exemplo, eles podem ter memória limitada ou capacidade de computação. A automação e o DevOps ajudam a garantir o carregamento e a implantação adequados do sistema operacional e do software em dispositivos e gateways IoT, o que minimiza o tempo de inatividade operacional. Use automação e DevOps para monitorar e gerenciar o ciclo de vida de dispositivos IoT.

Recomendações

Recomendação Benefício
Use de gerenciamento automático de dispositivos do Hub IoT ou implantações automáticas do IoT Edge implementar atualizações contínuas para dispositivos existentes ou novos e para configurações de dispositivos do IoT Edge, como propriedades, configurações específicas do aplicativo ou relacionamentos.

Para atualizar a configuração de um dispositivo existente ou de um dispositivo IoT Edge com base em uma agenda única ou recorrente, use os trabalhos agendados do Hub IoT .

Para atualizar via transmissão sem fio o firmware, a aplicação ou as atualizações de pacotes de dispositivos existentes ou do IoT Edge, use Atualização de Dispositivo para o Hub IoT.

Tenha um método de atualização manual para dispositivos IoT. Devido a alterações de certificado raiz ou problemas de conectividade, talvez seja necessário atualizar manualmente os dispositivos conectando-se fisicamente a um computador local ou usando um protocolo de conectividade local, como o BLE.
O gerenciamento automático de dispositivos do Hub IoT e as implantações automáticas do IoT Edge fornecem uma maneira altamente eficiente, segura e confiável de automatizar implantações de configuração para uma frota ou grupo específico de dispositivos. Para garantir que os dispositivos tenham as configurações especificadas, os serviços monitoram continuamente dispositivos de destino novos e existentes e suas configurações com base em tags.

Os trabalhos agendados do Hub IoT fornecem uma maneira ideal de atualizar configurações para uma frota ou grupo específico de dispositivos em um horário agendado.

A Atualização de Dispositivo para o Hub IoT atualiza eficientemente uma frota ou um grupo específico de dispositivos.
Configure a ingestão e outras camadas de back-end da solução de nuvem IoT para lidar com necessidades de capacidade esperadas e inesperadas de forma eficiente. Se sua solução estiver vinculada a um produto conectado, certifique-se de que ela possa lidar com flutuações na carga esperada no Hub IoT e nas camadas de back-end associadas. Iniciativas de marketing, como vendas ou promoções, e eventos sazonais, como feriados, podem introduzir picos de carga. Para garantir que sua solução possa ser dimensionada para lidar com os picos, teste variações de carga para eventos esperados e inesperados.
Crie uma interface centralizada de gestão utilizando as APIs REST expostas em APIs REST do Hub IoT para auxiliar as equipas operacionais na gestão de frotas de dispositivos. Uma solução centralizada de gerenciamento de dispositivos simplifica a administração, o monitoramento e a operação de dispositivos IoT, o que ajuda a garantir o gerenciamento eficiente do ciclo de vida e a configuração consistente em toda a solução de IoT. Uma interface do usuário integrada também ajuda as equipes de operação a gerenciar frotas de dispositivos de forma eficaz, o que reduz a complexidade operacional e melhora a confiabilidade geral do sistema.
Use um provedor de identidade centralizado, como Microsoft Entra ID, para criar identidades gerenciadas . Permita apenas que os usuários apropriados nessas funções executem atividades de gerenciamento ou operação, como criar e provisionar novos dispositivos, enviar comandos para hardware em campo, implantar atualizações e modificar permissões de usuário. O Microsoft Entra ID para autenticação oferece segurança e facilidade de uso aprimoradas em comparação com os tokens de segurança tradicionais. Você pode usar o RBAC (controle de acesso baseado em função) do Azure na ID do Microsoft Entra para controlar o acesso ao Hub IoT.
Em uma solução baseada no Hub IoT, você pode usar o Microsoft Entra ID para autenticar solicitações para APIs de serviço do Hub IoT, como criar identidades de dispositivo ou invocar métodos diretos. Você pode desenvolver uma interface do usuário de gerenciamento personalizada para operadores e administradores de soluções. A interface de utilizador autentica utilizadores contra o Microsoft Entra ID e envia pedidos de API para o back-end da solução IoT em nome deles. As interfaces de usuário de gerenciamento personalizadas melhoram a segurança incorporando RBAC e outras medidas de segurança. Eles também melhoram a experiência do usuário, fornecendo interfaces intuitivas que simplificam tarefas complexas.
Use os sistemas de registro, monitoramento e alerta do Hub IoT para determinar se a solução está funcionando conforme o esperado e para ajudar a solucionar e mitigar problemas. Para obter mais informações sobre as métricas e logs criados pelo Hub IoT, consulte a referência de dados de monitorização do Hub IoT, . O monitoramento e o registro em log ajudam a determinar se os dispositivos ou sistemas estão enfrentando erros, configurados corretamente, gerando dados precisos e atendendo aos SLOs definidos.
Use os princípios e processos de DevOps de CI/CD para aumentar a produtividade e criar um ciclo de desenvolvimento rápido e contínuo. Adote o DevOps para seus aplicativos do IoT Edge usando as tarefas internas do IoT Edge no Azure Pipelines. Para obter mais informações, consulte CI/CD para dispositivos IoT Edge. As ferramentas e processos de DevOps no Hub IoT e no IoT Edge ajudam a automatizar o ciclo de vida do software de borda.
Defina um processo para reprovisionar e desprovisionar dispositivos IoT. Para mais informações. consulte conceitos de reprovisionamento de dispositivos do Hub IoT. O ciclo de vida do dispositivo IoT inclui a definição dos procedimentos para reprovisionar dispositivos existentes para outros locais ou finalidades e desprovisioná-los com segurança quando necessário. Um processo de reprovisionamento e desprovisionamento para dispositivos IoT ajuda você a gerenciar seu ciclo de vida. Esses processos ajudam a manter a continuidade das operações quando você migra informações e configurações de estado do dispositivo entre hubs IoT. Essa prática ajuda a garantir que os dispositivos continuem a funcionar corretamente após a mudança.
Teste o failover e o failback do Hub IoT para ajudar a garantir alta disponibilidade. Etapas de recuperação de documentos para failover iniciado pela Microsoft e para failover manual .

Codificar e automatizar as etapas necessárias para recuperar ou fazer failover do aplicativo em uma região secundária do Azure durante falhas. Essa prática ajuda a garantir que você possa responder efetivamente a interrupções e minimizar o impacto. Da mesma forma, codifice e automatize as etapas de failback do aplicativo para a região primária depois que o problema for resolvido.
Os testes de procedimento de failover e failback ajudam a garantir que a sua solução de IoT possa lidar com falhas e manter alta disponibilidade, o que minimiza o impacto das falhas.

As etapas de recuperação documentadas para failovers manuais e iniciados pela Microsoft fornecem uma abordagem clara e estruturada para lidar com cenários de failover, o que garante que os membros da equipe estejam cientes dos procedimentos e possam implementá-los de forma eficiente.
Use uma infraestrutura como linguagem de código (IaC), como modelos Bicep ou Azure Resource Manager (modelos ARM), para definir e armazenar todas as configurações de infraestrutura Hub IoT, DPS e infraestrutura back-end. Defina toda a sua infraestrutura como IaC para que você possa implantar automaticamente seus recursos de forma consistente em todos os ambientes.

Utilize a gestão de identidade e acesso (IAM) ou ferramentas de governança, como o RBAC do Azure ou Azure Policy, para controlar o acesso de escrita à sua infraestrutura.

Restrinja as definições de configuração ou as atualizações de infraestrutura a um pipeline automatizado. Use essa abordagem para que você possa ver quais mudanças ocorrem em seus ambientes e quando.
Um processo repetível e previsível para provisionar e configurar os recursos da solução IoT, como o Hub IoT ou o DPS, ajuda a reduzir erros e tempo de inatividade.

As ferramentas de DevOps, como o Azure DevOps ou o GitHub, podem ajudar a controlar as versões de configuração, IAC e firmware. O controle de versão ajuda a identificar as versões de firmware, configuração e IaC em cada ambiente.
Crie ambientes de teste que usem o mesmo firmware, definições de configuração e IaC que seus ambientes de produção. Para criar facilmente esses ambientes, use o IaC e automatize seus processos o máximo possível. A correspondência entre os ambientes de teste e de produção ajuda a simplificar o desenvolvimento e o teste de novos recursos e correções urgentes.

Eficiência de desempenho

A Eficiência de Desempenho tem a ver manter a experiência do usuário, mesmo quando há um aumento na de carga por meio do gerenciamento de capacidade. A estratégia inclui dimensionar recursos, identificar e otimizar potenciais gargalos e otimizar para obter o máximo desempenho.

Os princípios de design de eficiência de desempenho fornecem uma estratégia de design de alto nível para atingir essas metas de capacidade em relação ao uso esperado.

Lista de verificação de design

Inicie sua estratégia de design com base na lista de verificação de revisão de projeto para Eficiência de Desempenho para definir uma linha de base com base em indicadores-chave de desempenho para o Hub IoT.

  • Design para escala horizontal. Uma solução de IoT pode começar com algumas centenas de dispositivos ou mensagens e crescer para milhões de dispositivos e mensagens por minuto. O Hub IoT e os serviços de nuvem relacionados podem facilmente lidar com cargas maiores, mas os dispositivos e gateways IoT adicionam complexidade. Você pode projetar e implantar dispositivos IoT antes de finalizar a solução. Indústrias como a IoT industrial têm dispositivos que duram vários anos, muitas vezes décadas. A substituição de dispositivos para atualizar a capacidade pode incorrer em custos significativos, por isso deve planear com antecedência.

  • Teste o desempenho antecipadamente. Teste cedo e teste com frequência para identificar problemas rapidamente. Compreender variáveis que podem introduzir complexidade, como sensores, dispositivos e gateways em locais geograficamente diferentes com características, velocidade e confiabilidade de comunicação diferentes. Planeje essa complexidade em seus testes. Teste cenários de falha, como desconexão de rede. Faça testes de estresse e carga de todos os componentes de dispositivo, borda e nuvem em seu Hub IoT e serviços de nuvem relacionados.

  • Monitore continuamente o desempenho na produção. Para monitorar diferentes tipos de dispositivos em várias regiões geográficas, use uma solução de monitoramento distribuído. Equilibre os custos de memória e desempenho com a quantidade de informações que você monitora e envia para a nuvem. Ajuste a transmissão para cenários de diagnóstico e monitore em vários níveis e camadas. Apresente métricas de gateway para soluções industriais ou capacitadas para gateway.

Recomendações

Recomendação Benefício
Otimize os recursos de hardware. Atualizações e substituições de hardware podem aumentar o custo e o tempo. Dimensione dispositivos IoT para sua capacidade e funcionalidade necessárias com antecedência.

Para otimizar os recursos de hardware existentes, use linguagens e estruturas eficientes como Embedded C e Rust Embedded. Quando se desenvolve para dispositivos com limitações ou quando a maior parte da pilha de segurança e comunicação está disponível no dispositivo, use o SDK do Azure IoT Embedded C .
Tarefas intensivas de computação e entrada-saída executadas em hardware específico podem melhorar significativamente o desempenho. Por exemplo, algoritmos de aprendizado de máquina executados em GPUs locais podem descarregar o processamento do processador central, o que cria cálculos mais rápidos e eficientes.

Linguagens e estruturas eficientes podem melhorar o desempenho e reduzir o consumo de recursos.

O SDK do dispositivo IoT do Azure para C gerencia com eficiência todos os componentes necessários para que você possa se conectar ao gateway de nuvem. Os SDKs de dispositivo IoT do Azure lidam com a tradução de mensagens necessária, o tratamento de erros e os mecanismos de repetição para uma conexão resiliente, o que otimiza o uso dos recursos de hardware existentes.
Considere executar algumas cargas de trabalho na borda, dependendo das restrições do sistema, como taxa de transferência ou latência da rede. As cargas de trabalho na borda reduzem a latência e melhoram a capacidade de resposta porque processam dados mais próximos de onde são gerados. Essa abordagem minimiza a necessidade de conectividade constante na nuvem, o que beneficia cenários com acesso intermitente ou limitado à rede. Ele também ajuda a descarregar o processamento da nuvem, o que reduz o uso de largura de banda e os custos associados.
Não conecte todos os dispositivos de uma só vez, por exemplo, após uma queda de energia regional. Quando fizer uma tentativa, utilize o backoff exponencial truncado que introduz jitter. Essa abordagem distribui as tentativas de reconexão ao longo do tempo, o que ajuda a evitar o congestionamento da rede e a sobrecarga do servidor. Ele cria um processo de reconexão mais estável e confiável, o que reduz o risco de outras interrupções ou degradação do desempenho. Tentativas de reconexão gerenciadas corretamente podem ajudar a manter a integridade geral e o desempenho do seu Hub IoT.
Otimize cenários offline. Forneça aos dispositivos informações e contexto suficientes para trabalhar sem uma conexão de nuvem e armazenar dados localmente para que possam se recuperar de desconexões e reinicializações. Utilize gêmeos de dispositivo e gêmeos de módulo para a sincronização assíncrona de dados de estado entre dispositivos e a nuvem para dispositivos que têm conexões intermitentes com o Hub IoT.

Defina um tempo de vida (TTL) nos dados para garantir que os dados expirados sejam removidos automaticamente. Esta prática reduz a necessidade de intervenção manual.

Se o armazenamento de dispositivos de borda atingir a capacidade, use uma estratégia de remoção de cache, como primeiro a entrar, último a sair, último a entrar, primeiro a sair, ou uma estratégia baseada em prioridade, para ajudar a gerenciar o armazenamento de forma eficiente. Considere o uso de um disco ou controlador de disco separado para armazenar dados para que o tempo de execução do dispositivo ou aplicativo possa continuar a funcionar mesmo se tiver pouco armazenamento.
Um dispositivo que pode armazenar dados localmente, incluindo logs e telemetria em cache de acordo com a prioridade, quando não conectado ajuda a manter a funcionalidade durante as desconexões. Descarte dados menos importantes quando o dispositivo não estiver conectado para reduzir os requisitos de armazenamento local e o tempo de sincronização quando o dispositivo se reconectar.

Um disco ou controlador de disco separado para armazenar dados ajuda a garantir que as limitações de armazenamento não interrompam operações críticas.
Otimize a eficiência das mensagens. O Hub IoT calcula contagens diárias de mensagens de cota com base em um tamanho de mensagem de de 4 KB. O envio de mensagens menores deixa alguma capacidade sem uso. Para otimizar o uso, procure tamanhos de mensagem próximos a 4 KB. Para reduzir o número total de mensagens, agrupe mensagens menores do dispositivo para a nuvem em mensagens maiores. Mas esteja ciente da latência introduzida ao combinar mensagens.

Para implementar a agregação no nível da aplicação, combine várias mensagens menores no dispositivo a jusante e envie mensagens maiores para o gateway de periferia.

Use métodos diretos para interações solicitação-resposta que podem ser bem-sucedidas ou falhar imediatamente, após um tempo limite especificado pelo usuário. Use essa abordagem para cenários em que o curso de ação difere dependendo se o dispositivo respondeu.

Use gêmeos de dispositivo para obter informações sobre o estado do dispositivo, incluindo metadados e configurações. O Hub IoT mantém um gêmeo de dispositivo para cada dispositivo conectado.
O número e o tamanho das mensagens do dispositivo para a nuvem são um parâmetro importante para a eficiência do desempenho da solução IoT. O Hub IoT define limites de mensagens por camada, o que afeta o desempenho e o custo da solução.

O envio em lote ajuda a limitar a sobrecarga de mensagens e reduz as gravações no armazenamento em disco de borda local.
Entenda as cotas de mensagens e a limitação. A camada do Hub IoT define limites para cada unidade de gateway de nuvem. A cota de mensagens define a taxa de transferência sustentada e as taxas de envio sustentadas para a camada. O Hub IoT pode lidar com cargas que excedem essas cotas por curtos períodos para lidar de forma resiliente com picos ou superações de carga.

Outro limite importante é a carga de serviço horária ou diária ou o limite de aceleração. Os limites de aceleração protegem um hub IoT contra carga excessiva durante longos períodos.
Compreenda as quotas de mensagens e a limitação de velocidade para ajudar a garantir que a sua solução de IoT opere dentro dos limites definidos. Esta prática evita a sobrecarga e mantém o desempenho. Gerencie a carga de forma eficaz para que você possa lidar com picos e superações de carga sem afetar a estabilidade geral do sistema.

Essa abordagem ajuda a manter uma solução de IoT confiável e eficiente e evita possíveis interrupções de serviço devido à carga excessiva.
Otimize o processamento de mensagens. Otimize o formato que você usa para enviar dados para a nuvem. Pese os benefícios da otimização de formatos de dados e da redução do processamento na nuvem em relação aos custos de largura de banda. Considere usar de enriquecimento de mensagens do Hub IoT para adicionar contexto às mensagens do dispositivo.

Faça o processamento de eventos críticos em dados ingeridos à medida que eles chegam, em vez de armazenar dados não processados e exigir consultas complexas para adquirir os dados. Para o processamento de eventos críticos em termos de tempo, considere os efeitos da chegada tardia de dados e janelas. Avalie sua abordagem com base no caso de uso, como lidar com alarmes críticos versus mensagens enriquecedoras.

Selecione a camada Hub IoT Básico ou Padrão com base nos requisitos da solução. Entenda os recursos que a camada Básica não suporta.

Considere o uso da Grade de Eventos para roteamento de eventos de publicação-assinatura. Para obter mais informações, consulte Reagir a eventos do IoT Hub usando o Event Grid para acionar ações e Comparar roteamento de mensagens e Event Grid para o IoT Hub.
Antes do armazenamento, talvez seja necessário traduzir, processar ou enriquecer mensagens de um dispositivo ou gateway com mais informações. Esta etapa pode ser demorada, portanto, você deve avaliar o efeito no desempenho.

Algumas recomendações entram em conflito, como usar a compactação para otimizar a transferência de dados versus evitar o processamento em nuvem na descriptografia de mensagens. Equilibre e avalie essas recomendações em relação a outros pilares arquitetônicos e requisitos de solução.
Use filas de prioridade do IoT Edge para priorizar dados importantes que você envia para o Hub IoT. O IoT Edge armazena mensagens em buffer quando não há conectividade. Depois que a conexão é restaurada, ele envia todas as mensagens armazenadas em buffer em ordem de prioridade primeiro, seguidas por novas mensagens.

Use o roteamento de mensagens do Hub IoT para separar rotas para diferentes prioridades de dados, dependendo do caso de uso. O roteamento de mensagens do Hub IoT adiciona latência.

Salve e envie dados de baixa prioridade em intervalos mais longos ou use uploads de arquivos em lote ou . A deteção de malware em arquivos carregados aumenta a latência.

Separe as mensagens com base em restrições de tempo. Por exemplo, envie mensagens para o Hub IoT diretamente quando houver uma restrição de tempo e use o carregamento de arquivos via Hub IoT ou a transferência de dados em lote, como o Azure Data Factory, se não houver restrição de tempo. Você pode usar o Armazenamento de Blobs do Azure no módulo IoT Edge para carregar arquivos.
Alguns dados que os dispositivos enviam para a nuvem podem ser mais importantes do que outros dados. Classifique e trate os dados com base na prioridade para melhorar a eficiência do desempenho. Por exemplo, um sensor de termostato envia temperatura, umidade e outras telemetrias, mas também envia um alerta quando a temperatura se desvia de um intervalo definido. O sistema classifica a mensagem de alarme como alta prioridade e trata-a de forma diferente da telemetria de temperatura.
Use o DPS para configurar uma conexão com um hub IoT durante o provisionamento, quando a conexão do Hub IoT não estiver mais disponível ou durante a reinicialização de um dispositivo.

Utilize a política de distribuição ponderada uniformemente para ajustar o peso do provisionamento com base no caso de uso. Essa abordagem otimiza a alocação de recursos.
O DPS ajuda a garantir que os dispositivos sejam provisionados de forma segura e eficiente. O provisionamento de dispositivos durante um período de tempo ou em lotes menores ajuda a equilibrar a carga e a cota do DPS, o que garante um processo de integração suave.

A alocação de dispositivos para o Hub IoT em diferentes regiões com base na latência melhora o desempenho e reduz os tempos de conexão. A implementação de uma estratégia de cache para a cadeia de conexão DPS reduz as operações de reconexão, o que melhora a eficiência geral do sistema.
Otimize o processamento de borda versus nuvem. Use a computação local para executar cargas de trabalho em tempo real e quase em tempo real, ou processamento pequeno, otimizado e de baixa latência com restrições de tempo, em dispositivos ou na borda. Para cargas de trabalho maiores ou cargas de trabalho que exigem dados externos extras ou dependências de computação, use recursos de nuvem.

Por exemplo, você pode executar um algoritmo de aprendizado de máquina na borda para contar pessoas em um fluxo de vídeo e enviar um evento que contenha a contagem para a nuvem. Essa abordagem fornece processamento local rápido e análise de tendências eficiente baseada em nuvem.

Use o módulo Azure Stream Analytics IoT Edge para executar cargas de trabalho de análise, como deteção de anomalias, na borda. Essa prática ajuda a rotular eventos com anomalias detetadas antes de enviá-los para a nuvem, o que melhora a eficiência geral do sistema.

Entenda a sobrecarga de uma carga de trabalho de borda que inclui muitos dispositivos downstream conectados. O nó de borda deve encaminhar ou processar todas as mensagens e armazenar em cache todos os dados se houver conectividade intermitente na nuvem.

Para avaliar o impacto no desempenho da sua solução, teste-a com o máximo esperado de dispositivos e mensagens downstream para cada nó de borda. Entenda também o efeito de desempenho que a tradução ou o enriquecimento de mensagens pode ter na borda, no Hub IoT ou no processamento de eventos na nuvem. Planeje de acordo para manter a eficiência do sistema.
A execução de cargas de trabalho em tempo real e quase em tempo real na borda fornece processamento de baixa latência e tempos de resposta imediatos, o que é crucial para aplicativos sensíveis ao tempo.

Testar com o máximo esperado de dispositivos e mensagens downstream assegura que o nó de extremidade consiga gerir a carga e preservar o desempenho.
Para otimizar a eficiência de desempenho para dados de nuvem de alto volume, use a integração de serviço interna entre o Hub IoT e destinos de dados, como o Armazenamento Azure Data Lake e o Azure Data Explorer. Esses serviços são otimizados para alto desempenho de transferência.

Utilize o SDK do Event Hubs para desenvolver a ingestão personalizada a partir de um hub IoT. O SDK inclui um processador de eventos que pode reequilibrar dispositivos e hosts. Use o número apropriado de partições do Hub IoT e grupos de consumidores para o número de leitores de dados simultâneos e a taxa de transferência necessária.

Separe o armazenamento necessário para ingestão de dados e processamento de eventos do armazenamento necessário para geração de relatórios e integração. Use o armazenamento de dados que atenda às suas necessidades com base na taxa de transferência, tamanho, período de retenção, volume de dados, requisitos de CRUD e replicação regional necessários. Os exemplos de armazenamento incluem o Armazenamento Data Lake, o Azure Data Explorer, o Azure SQL e o Azure Cosmos DB. Para obter mais informações, consulte Selecionar um armazenamento de dados do Azure para seu aplicativo.
A eficiência de desempenho otimizada para dados na nuvem de alto volume garante que sua solução de IoT possa lidar com grandes quantidades de dados de forma eficiente. A integração de serviços integrada e o SDK dos Hubs de Eventos ajudam a simplificar a ingestão e o processamento de dados.

A configuração adequada de partições e grupos de consumidores do Hub IoT e o armazenamento separado para diferentes finalidades ajudam a melhorar o gerenciamento de dados. O armazenamento de dados apropriado com base em necessidades específicas ajuda a manter o desempenho, a escalabilidade e a confiabilidade de sua solução de IoT.
Separe o pipeline de ingestão da solução IoT do processamento de integração. Certifique-se de que consultas ou cargas complexas não afetem o desempenho da ingestão de dados no Hub IoT. Use APIs bem definidas e versionadas para acessar informações do Hub IoT sobre gêmeos de dispositivos, gêmeos de módulos, trabalhos e roteamento de mensagens. Impeça que os usuários finais criem consultas definidas pelo usuário no armazenamento do Hub IoT. Considere o uso de armazenamentos de dados separados para integração e emissão de relatórios. A separação do pipeline de ingestão da solução IoT e do processamento de integração garante que consultas ou cargas complexas da camada de integração não afetem o desempenho da ingestão de dados. Essa abordagem mantém a eficiência e a confiabilidade do Hub IoT.
Use o Azure Monitor para coletar métricas do Hub IoT e enviar alertas para métricas críticas. Configure os alertas do Azure Monitor com base nos seus limites de escala, como mensagens do dispositivo para a nuvem enviadas por segundo. Defina o alerta para uma porcentagem do limite, como 75%, para notificá-lo com antecedência. Configure alertas do Azure Monitor para logs e métricas, como o número de erros de limitação. Defina alertas do serviço Azure Service Health para disparar notificações quando o status do Hub IoT for alterado. As métricas e alertas do Hub IoT para métricas críticas garantem o monitoramento e o gerenciamento proativos de sua solução de IoT. Os alertas baseados em limites de escala e uma porcentagem desses limites ajudam a notificá-lo antes de atingir os limites de escalabilidade, para que você possa fazer ajustes oportunos. Os alertas de logs e métricas, como erros de limitação, ajudam a identificar e resolver problemas prontamente. Os alertas quando o status do Hub IoT é alterado fornecem conhecimento de possíveis interrupções e permitem que você tome as ações necessárias para manter a confiabilidade e o desempenho de sua solução de IoT.

Políticas do Azure

O Azure fornece um extenso conjunto de políticas internas relacionadas ao Hub IoT e suas dependências. Algumas das recomendações anteriores podem ser auditadas por meio da Política do Azure. Por exemplo, pode verificar se:

  • O Hub IoT tem métodos de autenticação local desabilitados para APIs de serviço.
  • O acesso à rede pública está desabilitado para sua instância de provisionamento de dispositivo do Hub IoT para que ela não esteja acessível pela Internet pública.
  • Só é possível aceder ao Hub IoT a partir de um ponto de extremidade privado.
  • Os registos de recursos do Hub IoT estão ativados. Esses logs recriam trilhas de atividade que podem ajudá-lo a investigar após um incidente de segurança ou comprometimento da rede.

Para obter uma governança abrangente, revise as definições internas da Política do Azure para da Internet das Coisas e outras políticas que possam afetar a segurança da solução de IoT.

Recomendações do Azure Advisor

O Azure Advisor é um consultor de nuvem personalizado que ajuda você a seguir as práticas recomendadas para otimizar suas implantações do Azure. As recomendações dos conselheiros estão alinhadas com os pilares do Well-Architected Framework.

Para obter mais informações, consulte as recomendações em Azure Advisor.

Próximo passo

documentação do Hub IoT