Exemplos de implantação de produção

Este artigo descreve dois exemplos de implementações do Operações IoT do Azure que recolhem dados da edge e os transferem para a cloud. Esses exemplos são baseados em cenários do mundo real que levam em consideração a capacidade de hardware e os volumes de dados. Use estes exemplos para compreender melhor quantos dados o Operações IoT do Azure consegue lidar com determinado hardware.

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

Cluster de nó único

Este exemplo mostra as capacidades do Operações IoT do Azure quando corre num host com especificações de hardware relativamente baixas. Neste exemplo, o Operações IoT do Azure é implementado num único cluster de nó. Os dados gerados a partir dos ativos são primeiro agregados com um PLC e depois enviados para o conector Operações IoT do Azure para o 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), 16 GB de memória, 30 GB de armazenamento.

  • AKS-EE em P3 Tiny Workstation (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, o K3s no Ubuntu 24.04 e o vSphere Kubernetes Service são as únicas plataformas para implementar o Operações IoT do Azure em produção. Para saber mais, consulte Ambientes suportados.

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

Parâmetro Valor
frontendRéplicas 1
frontendTrabalhadores 2
backendRedundancyFactor 2
backendTrabalhadores 1
backend Partições 1
perfil de memória baixo

O fluxo de dados de ponta a ponta no exemplo tem esta aparência:

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 tags com base em 50 tags para cada ativo. Cada tag é atualizada 2/segundo e tem um tamanho médio de 20 bytes.
  • O conector para OPC UA envia 125 mensagens/segundo para o broker MQTT.
  • Um pipeline de fluxo de dados envia 6.250 tags para um endpoint do Event Hubs.

Neste exemplo, a Microsoft recomenda usar Event Hubs porque só pode criar uma instância de fluxo de dados com um CPU de 4 núcleos. Se você escolher Grade de Eventos, ela só poderá lidar com 100 mensagens/seg.

Desempenho

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

  • Operações IoT do Azure e as suas dependências consomem entre 6 GB e 8 GB de RAM.
  • Operações IoT do Azure e as suas dependências consomem em média entre 2.400 e 2.600 milicores.
  • 100% dos dados são enviados por push para 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 o Operações IoT do Azure funciona num cluster de múltiplos nós, pode processar mais dados e tirar partido das capacidades de alta disponibilidade do Kubernetes. Neste exemplo, o Operações IoT do Azure está alojado num cluster de 5 nós e processa aproximadamente 50.000 pontos de dados por segundo a partir de duas fontes de dados diferentes.

Configuração

Exemplo de especificações de hardware:

  • K3s de 5 nós com Azure VMs (Standard_D8d_v5 com Intel Xeon Platinum 8370C), 8 núcleos (8 vCPU), 32 GB de memória, 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, o K3s no Ubuntu 24.04 e o vSphere Kubernetes Service são as únicas plataformas para implementar o Operações IoT do Azure em produção. Para saber mais, consulte Ambientes suportados.

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

Parâmetro Valor
frontendRéplicas 5
frontendTrabalhadores 4
backendRedundancyFactor 2
backendTrabalhadores 4
backend Partições 5
perfil de memória Alto

Neste exemplo, há dois tipos de fonte de dados. Um se conecta através do conector para OPC UA, e um se conecta através do broker MQTT.

Neste 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 tem esta aparência:

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 tags, com base em 1.000 tags atribuídas a cada ativo. Cada tag é atualizada 1/segundo e tem um tamanho médio de 8 bytes. Aproximadamente 50% dos valores de etiqueta mudam a cada ciclo. A taxa de atualização do ponto de dados é de 45.000/segundo.
  • O conector para OPC UA envia 85 mensagens/segundo para o broker MQTT.
  • Um pipeline de dados envia 85.000 tags para um endpoint do Event Hubs.

O segundo fluxo de dados de ponta a ponta no exemplo tem esta aparência:

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 broker MQTT.
  • Cada cliente publica 10.000 valores/segundo.
    • Aproximadamente 1/3 dos valores de tag mudam a cada ciclo.
    • Codificado com formato JSON. Cada item (valor) com um tamanho aproximado de 180 bytes.

Desempenho

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

  • Operações IoT do Azure e as suas dependências consomem entre 25 GB e 30 GB de RAM.
  • Operações IoT do Azure e as suas dependências consomem em média entre 2.500 a 3.000 milicores.
  • 100% dos dados são enviados por push para 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.