Compartilhar via


Escalabilidade, alta disponibilidade e recuperação de desastres da solução de IoT

Essa visão geral apresenta os principais conceitos a respeito das opções de escalabilidade, alta disponibilidade e recuperação de desastres em uma solução de IoT do Azure. Cada seção inclui links para conteúdos que fornecem mais detalhes e diretrizes.

O diagrama a seguir mostra uma visão geral dos componentes em uma solução típica de IoT baseada em borda. Este artigo se concentra nas áreas relevantes para escalabilidade, alta disponibilidade e recuperação de desastres em uma solução de IoT baseada em edge.

Diagrama que mostra a arquitetura de alto nível da solução baseada no IoT Edge, destacando a escalabilidade, a alta disponibilidade e a recuperação de desastre.

Escalabilidade

Uma solução de IoT pode precisar dar suporte a milhões de ativos e dispositivos conectados. Você precisa garantir que os componentes em sua solução possam ser dimensionados para atender às demandas.

Implante operações de IoT do Azure em um cluster de vários nós para garantir que você possa lidar com o aumento das demandas de tráfego ou carga de trabalho. Quando o Azure IoT Operations é executado em um cluster de vários nós, ele pode processar mais dados e aproveitar a escalabilidade e os recursos de alta disponibilidade do Kubernetes.

Escale horizontalmente o Agente MQTT das Operações do Azure IoT adicionando mais réplicas de front-end e partições de back-end. As réplicas de front-end são responsáveis por aceitar conexões MQTT de clientes e encaminhá-las para as partições de back-end. As partições de back-end são responsáveis por armazenar e entregar mensagens aos clientes. Os pods de front-end distribuem o tráfego de mensagens entre os pods de back-end. O fator de redundância do back-end determina o número de cópias de dados para garantir resiliência contra falhas de nós no cluster. Para saber mais, confira Definir configurações do agente para alta disponibilidade, dimensionamento e uso de memória.

O Registro de Dispositivos do Azure é um serviço de back-end que permite o gerenciamento de nuvem e borda de ativos. O Registro de Dispositivo projeta ativos definidos em seu ambiente de borda como recursos do Azure na nuvem. Ele fornece um único registro unificado para que todos os aplicativos e serviços que interagem com os seus ativos possam se conectar a uma única fonte. O Registro de Dispositivos também gerencia a sincronização entre ativos na nuvem e ativos na infraestrutura de edge como recursos personalizados no Kubernetes, permitindo que você escale sua solução para milhões de itens conectados.

Você pode dimensionar o perfil de fluxo de dados para ajustar o número de instâncias que executam os fluxos de dados. Aumentar a contagem de instâncias pode melhorar a taxa de transferência dos fluxos de dados criando vários clientes para processar os dados. Ao usar fluxos de dados com serviços de nuvem que têm limites de taxa por cliente, aumentar a contagem de instâncias pode ajudar você a permanecer dentro dos limites de taxa. A escala também pode melhorar a resiliência dos fluxos de dados, fornecendo redundância em caso de falhas. Para saber mais, confira Dimensionamento de perfis de fluxo de dados.

Alta disponibilidade e recuperação de desastre

As soluções de IoT geralmente são essenciais para os negócios. Você precisa garantir que a sua solução possa continuar operando se ocorrer uma falha. Também é necessário garantir que você possa recuperar sua solução após um desastre.

As Operações do Azure IoT apresentam um agente MQTT de nível empresarial e está em conformidade com os padrões. O agente MQTT é escalonável, altamente disponível e nativo do Kubernetes. Ele fornece o plano de mensagens para operações de IoT, habilita a comunicação bidirecional de borda/nuvem e alimenta aplicativos orientados a eventos na borda. Para garantir a perda de dados zero e a alta disponibilidade durante as atualizações de implantação, o agente MQTT implementa atualizações sem interrupção nos pods do agente MQTT.

O repositório de estado é um sistema de armazenamento distribuído, implantado como parte das Operações do Azure IoT. Usando o repositório de estado, os aplicativos podem obter, definir e excluir pares chave-valor, sem a necessidade de instalar mais serviços, como o Redis. O repositório de estado também fornece controle de versão dos dados e também os primitivos para a criação de bloqueios distribuídos, ideal para aplicativos altamente disponíveis. Para saber mais, veja Dados persistentes no armazenamento de estado.

Em clusters de vários nós com pelo menos três nós, você tem a opção de habilitar a tolerância a falhas para armazenamento com o Armazenamento de Contêineres do Azure habilitado pelo Azure Arc ao implantar as Operações do Azure IoT.

O Dapr é oferecido como parte do Agente MQTT, eliminando detalhes do gerenciamento de sessão do MQTT, da QoS e confirmação das mensagens e dos repositórios de chave/valor integrados, o que o torna uma opção prática para desenvolver um aplicativo altamente disponível.

Os SDKs de Operações de IoT do Azure (versão prévia) são um conjunto de ferramentas e bibliotecas em vários idiomas projetados para ajudar no desenvolvimento de aplicativos altamente disponíveis para operações de IoT do Azure.

Para obter informações sobre a alta disponibilidade entre zonas de disponibilidade e regiões para o Registro de Dispositivos do Azure, consulte Confiabilidade no Registro de Dispositivos do Azure.