Qual o significado de o IoT Central ter alta disponibilidade, recuperação de desastre (HADR) e escala elástica?

O Azure IoT Central é uma plataforma como serviço de aplicativo (aPaaS) que gerencia a escalabilidade e o HADR para você. Um aplicativo IoT Central pode ser dimensionado para oferecer suporte a centenas de milhares de dispositivos conectados. Para obter mais informações sobre o preço de dispositivo e mensagens, consulte preços do Azure IoT Central. Para obter mais informações sobre o contrato de nível de serviço, consulte SLA para Azure IoT Central.

Este artigo fornece informações básicas sobre como o IoT Central escala e entrega HADR. O artigo também inclui orientações sobre como aproveitar esses recursos.

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.

Alta disponibilidade e recuperação de desastre

Os recursos HADR dependem de quando você criou seu aplicativo 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. Esse 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 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 ao suporte ao cliente do IoT Central.

Use o az iot central device manual-failover comando para verificar se seu aplicativo usa atualmente um único hub IoT. Esse comando retornará um erro se o aplicativo tiver atualmente um único hub IoT.

Trabalhar com vários hubs IoT

Como consequência do suporte à escala automática e à HADR, as instâncias do hub IoT em seu aplicativo podem ser alteradas. Por exemplo:

  • O número de hubs pode aumentar ou diminuir à medida que o aplicativo é escalado.
  • Um hub pode falhar e ficar indisponível.
  • Os procedimentos de recuperação de desastre podem adicionar novos hubs em uma região diferente para substituir os hubs em uma região com falha.

Embora o IoT Central gerencie os hubs IoT em seu aplicativo para você, um dispositivo deve ser capaz de restabelecer uma conexão se o Hub ao qual ele se conecta não estiver disponível:

Provisionamento de dispositivos

Como o número de hubs IoT em seu aplicativo é alterado, um dispositivo pode precisar se conectar a um Hub diferente.

Antes de um dispositivo conectar-se ao IoT Central, ele deve ser registrado e provisionado nos serviços subjacentes. Quando você adiciona um dispositivo a um aplicativo do IoT Central, o IoT Central adiciona uma entrada a um grupo de registro do DPS. As informações do grupo de registro, como o escopo da ID, a ID do dispositivo e as chaves, aparecem na interface do usuário do IoT Central.

Quando um dispositivo se conecta pela primeira vez ao seu aplicativo do IoT Central, o DPS provisiona o dispositivo em um dos hubs IoT vinculados do grupo de registro. O dispositivo é então associado a esse hub IoT. O DPS usa uma política de alocação para balancear a carga do provisionamento entre os hubs IoT no aplicativo. Esse processo garante que cada hub IoT tenha um número semelhante de dispositivos provisionados.

Para saber mais sobre o registro e o provisionamento no IoT Central, confira Guia de conectividade do IoT Central.

Conexões do dispositivo

Depois que o DPS provisiona um dispositivo para um hub IoT, o dispositivo sempre tenta conectar-se a esse hub. Se um dispositivo não puder alcançar o hub IoT provisionado, ele não poderá conectar-se ao seu aplicativo do IoT Central. Para lidar com esse cenário, o firmware do dispositivo deve incluir uma estratégia de repetição que provisiona novamente o dispositivo para outro hub.

Para saber mais sobre como o firmware do dispositivo deve lidar com erros de conexão e conectar-se a um hub diferente, confira Melhores práticas.

Para saber mais sobre como verificar se o firmware do dispositivo pode lidar com falhas de conexão, confira Recursos de failover de teste.

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:

Limitações

Atualmente, dispositivos IoT Edge não podem se mover entre hubs IoT.

Próximas etapas

Agora que você aprendeu sobre a escalabilidade e a alta disponibilidade do Azure IoT Central, a próxima etapa sugerida é aprender sobre Cotas e limites no Azure IoT Central.