Exemplos de implantação de produção

Este artigo descreve dois exemplos de implantações de Operações do Azure IoT que coletam dados da periferia e os transferem para a nuvem. Esses exemplos são baseados em cenários do mundo real que levam em consideração a capacidade do hardware e os volumes de dados. Use esses exemplos para entender melhor a quantidade de dados que Operações do Azure IoT podem lidar com determinados hardwares.

Microsoft usado configurações e volumes de dados semelhantes para validar Operações do Azure IoT e medir seu desempenho.

Cluster de nó único

Este exemplo mostra os recursos de Operações do Azure IoT quando ele é executado em um host com especificação de hardware relativamente baixa. Neste exemplo, Operações do Azure IoT é implantado em um único cluster de nós. Os dados gerados a partir de ativos são agregados primeiro com um PLC e, em seguida, enviados para o conector Operações do Azure IoT para OPC UA.

Configuração

Exemplo de especificações de hardware:

  • K3s em Azure VM (Standard_D4ds_v5 com Intel Xeon Platinum 8370C), 4 núcleos (4 vCPU), memória de 16 GB, armazenamento de 30 GB.

  • AKS-EE na estação de trabalho P3 Tiny (processador Intel® Core™ i7-13700 vPro® de 13ª geração), 16 núcleos (24 threads), 32 GB de memória, 1 TB de armazenamento.

Importante

Atualmente, K3s no Ubuntu 24.04 e no Serviço de Kubernetes do vSphere são as únicas plataformas para implantar operações de IoT do Azure em produção. Para saber mais, veja Ambientes com suporte.

A tabela a seguir mostra a configuração do Agente MQTT para o exemplo de nó único:

Parâmetro Valor
frontendReplicas 1
trabalhadores de frontend 2
backendRedundancyFactor 2
trabalhadores de backend 1
backendPartitions 1
perfil de memória low

O fluxo de dados de ponta a ponta no exemplo é parecido com este:

Assets -> PLC -> Connector for OPC UA -> MQTT broker -> Data flows -> Event Hubs

Os volumes de dados no exemplo são:

  • 125 ativos agregados por um único servidor OPC UA.
  • 6.250 marcas com base em 50 marcas para cada ativo. Cada marca é atualizada 2 vezes por segundo e tem um tamanho médio de 20 bytes.
  • O conector OPC UA envia 125 mensagens/segundo para o Agente MQTT.
  • Um pipeline de fluxo de dados envia 6.250 marcas para um ponto de extremidade dos Hubs de Eventos do Azure.

Neste exemplo, Microsoft recomenda o uso de Hubs de Eventos porque você só pode criar uma instância de fluxo de dados com uma CPU de 4 núcleos. Se você escolher a Grade de Eventos do Azure, ela só poderá processar 100 mensagens/s.

Desempenho

As principais métricas de desempenho para esse exemplo incluem:

  • Operações do Azure IoT e suas dependências consomem entre 6 GB e 8 GB de RAM.
  • Operações do Azure IoT e suas dependências consomem, em média, de 2.400 a 2.600 milicores.
  • 100% dos dados são enviados para os Hubs de Eventos.
  • A latência do processo de dados de ponta a ponta é inferior a 10 segundos, dadas as condições ideais da rede.

Cluster de vários nós

Quando Operações do Azure IoT é executado em um cluster de vários nós, ele pode processar mais dados e aproveitar os recursos de alta disponibilidade do Kubernetes. Neste exemplo, Operações do Azure IoT é hospedado em um cluster de cinco nós e processa aproximadamente 50.000 pontos de dados por segundo de duas fontes de dados diferentes.

Configuração

Exemplo de especificações de hardware:

  • K3s de 5 nós com VMs Azure (Standard_D8d_v5 com Intel Xeon Platinum 8370C), 8 núcleos (8 vCPU), 32 GB de memória e armazenamento de 30 GB.

  • K3S de 5 nós com P3 Tiny Workstations (processador Intel® Core™ i7-13700 vPro® de 13ª geração), 16 núcleos (24 threads), 32 GB de memória, 1 TB de armazenamento.

Importante

Atualmente, K3s no Ubuntu 24.04 e no Serviço de Kubernetes do vSphere são as únicas plataformas para implantar operações de IoT do Azure em produção. Para saber mais, veja Ambientes com suporte.

A seguinte tabela mostra a configuração do Agente MQTT para o exemplo de vários nós:

Parâmetro Valor
frontendReplicas 5
trabalhadores de frontend 4
backendRedundancyFactor 2
trabalhadores de backend 4
backendPartitions 5
perfil de memória Alta

Nesse exemplo, há dois tipos de fonte de dados. Um se conecta por meio do conector OPC UA e o outro se conecta por meio do Agente MQTT.

Nesse exemplo, um ativo não representa um equipamento real, mas é um agrupamento lógico que agrega pontos de dados e envia mensagens.

O primeiro fluxo de dados de ponta a ponta no exemplo se parece com isso:

Assets -> PLC -> Connector for OPC UA -> MQTT broker -> Data flows -> Event Hubs

Os volumes de dados no primeiro fluxo de dados no exemplo são:

  • 85 ativos, agregados por cinco servidores OPC UA.
  • 85.000 marcas com base em 1.000 marcas para cada ativo. Cada marca é atualizada 1/segundo e tem um tamanho médio de 8 bytes. Aproximadamente 50% dos valores das marcas mudam a cada ciclo. A taxa de atualização de pontos de dados é de 45.000/segundo.
  • O conector OPC UA envia 85 mensagens/segundo para o Agente MQTT.
  • Um pipeline de fluxo de dados envia 85.000 marcas para um ponto de extremidade dos Hubs de Eventos do Azure.

O segundo fluxo de dados de ponta a ponta no exemplo se parece com isto:

MQTT client (Paho) -> MQTT Broker -> Data flows -> Event Hubs

Os volumes de dados no segundo fluxo de dados no exemplo são:

  • Dois clientes MQTT conectados diretamente ao corretor MQTT.
  • Cada cliente publica 10.000 valores/segundo.
    • Aproximadamente 1/3 dos valores das marcas mudam a cada ciclo.
    • Codificado com formato JSON. Cada item (valor) com tamanho aproximado de 180 bytes.

Desempenho

As principais métricas de desempenho para esse exemplo incluem:

  • Operações do Azure IoT e suas dependências consomem entre 25 GB e 30 GB de RAM.
  • Operações do Azure IoT e suas dependências consomem em média de 2.500 a 3.000 milicores.
  • 100% dos dados são enviados para os Hubs de Eventos.
  • A latência do processo de dados de ponta a ponta é inferior a 10 segundos, dadas as condições ideais da rede.