Computação de borda vs computação em nuvem na IIoT não é uma escolha excludente: a verdadeira pergunta é qual lógica roda junto à máquina e qual roda de forma centralizada. Este artigo compara as duas abordagens em latência, banda, resiliência, segurança e custo e, em seguida, apresenta um design híbrido em que um nó de borda toma as decisões rápidas localmente e publica resultados resumidos em um broker MQTT na nuvem.
Definições no Contexto Industrial
Computação de borda (edge computing) significa processar dados no chão de fábrica ou perto dele: em um CLP, um PC industrial, um gateway ou um pequeno servidor na planta. Os dados são tratados antes de sair do site.
Computação em nuvem (cloud computing) significa processar dados de forma centralizada em uma nuvem pública ou privada: armazenamento, analytics, dashboards, treinamento de machine learning e relatórios entre sites.
Entre as duas fica a camada de mensageria. Na maioria dos sistemas IIoT modernos, ela é o MQTT: os dispositivos de borda publicam, os serviços em nuvem assinam, e o broker desacopla os dois lados para que qualquer um deles possa mudar sem quebrar o outro.
Computação de Borda vs Computação em Nuvem na IIoT: Lado a Lado
| Fator | Computação de borda | Computação em nuvem |
|---|---|---|
| Latência | Milissegundos, sem ida e volta pela WAN | Depende do caminho pela internet; dezenas a centenas de milissegundos, às vezes mais |
| Banda | Os dados brutos ficam no local; só os resultados são enviados | Cada valor precisa atravessar a WAN |
| Resiliência | Continua funcionando durante quedas de internet | Indisponível quando o link cai, a menos que a borda faça buffer |
| Capacidade de processamento | Limitada pelo hardware local | Elástica, praticamente ilimitada |
| Visão entre sites | Um site por vez | Todos os sites, todo o histórico, em um só lugar |
| Manutenção | Hardware espalhado pelos sites, atualizado individualmente | Atualizações e operação centralizadas |
| Exposição de segurança | Os dados ficam dentro da planta | Os dados saem da planta, então transporte e controle de acesso importam |
| Perfil de custo | Hardware inicial e suporte no local | Custos contínuos baseados em uso, que crescem com o volume de dados |
Nenhuma coluna vence de forma absoluta. Cada linha aponta para uma classe de carga de trabalho que pertence a um dos lados.
O Que Deve Ficar na Borda
- Malhas de segurança e de controle. Tudo o que precisa reagir em milissegundos ou nunca pode depender da internet fica nos CLPs e nos sistemas de segurança. A nuvem nunca deve fazer parte de uma malha de controle.
- Processamento de sinais de alta frequência. Vibração com amostragem em quilohertz, formas de onda de qualidade de energia e contadores de alta velocidade geram muito mais dados do que você gostaria de enviar. Calcule as características (RMS, pico, bandas de frequência) localmente e publique-as.
- Alarmes locais. Um alarme de transbordamento de tanque, por exemplo numa estação de saneamento, precisa soar mesmo com a WAN fora do ar.
- Redução de dados. Bandas mortas e report by exception cortam o tráfego na origem.
- Buffer. Os nós de borda enfileiram dados durante as quedas e os reenviam depois, como descrito em store and forward para MQTT.
- Tradução de protocolos. Converter Modbus, OPC UA ou EtherNet/IP em MQTT é algo inerentemente local; veja gateway de borda IIoT.
O Que Deve Ficar na Nuvem
- Comparação entre sites e relatórios de OEE. Comparar linhas de plantas diferentes exige os dados em um só lugar.
- Histórico de longo prazo. Anos de séries temporais são mais baratos e fáceis de gerenciar de forma centralizada.
- Treinamento de modelos. Modelos de machine learning são treinados com grandes conjuntos de dados históricos e processamento elástico; depois, o modelo treinado pode ser implantado de volta na borda.
- Integração com o negócio. ERP, manutenção e sistemas de qualidade vivem na TI, não no chão de fábrica.
- Dashboards remotos, gêmeos digitais e acesso móvel. Engenheiros e gestores fora da planta precisam de um endpoint central, e um gêmeo digital que reúne vários sites depende dos dados consolidados.
O Padrão Híbrido
A resposta prática para a maioria das plantas é híbrida: processar na borda, coordenar e analisar na nuvem e conectar as duas com MQTT.
Machine --> Edge node --> Cloud MQTT broker --> Cloud services
(100 Hz) - samples raw signal (TLS 8883) - dashboards
- local alarm (no WAN needed) - historian
- 1-minute aggregates - analytics
- publishes events + summaries
A borda publica dois tipos de mensagem: eventos (alarme disparado, alarme normalizado) no momento em que acontecem e resumos (mínimo, máximo e média por minuto) em um intervalo fixo. A nuvem nunca vê o fluxo bruto de 100 Hz, a menos que um engenheiro peça isso explicitamente.
Um Nó de Borda Híbrido Funcional em Python
Este script simula um sensor amostrado a 20 Hz. Ele avalia um alarme localmente a cada amostra, publica as transições de alarme imediatamente e publica um agregado por minuto. Usa paho-mqtt 2.x e o servidor MQTT público (gratuito) em broker.connectmq.com, que serve só para testes e protótipos; altere host, porta e credenciais para produção.
import json
import math
import random
import statistics
import time
from datetime import datetime, timezone
import paho.mqtt.client as mqtt
BROKER = "broker.connectmq.com"
PORT = 1883
CLIENT_ID = "edge-node-3c9d"
BASE = "connectmq/demo/edge-3c9d/plant1/line1/pump1"
SAMPLE_HZ = 20
WINDOW_S = 60
ALARM_ON = 78.0 # graus C
ALARM_OFF = 74.0 # histerese
def read_sensor(t):
"""Temperatura de mancal simulada, com deriva lenta e ruído."""
return 70 + 6 * math.sin(t / 90) + random.gauss(0, 0.4)
def now_iso():
return datetime.now(timezone.utc).isoformat(timespec="milliseconds")
def on_connect(client, userdata, flags, reason_code, properties):
print("Connected:", reason_code)
client.publish(f"{BASE}/status", "online", qos=1, retain=True)
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id=CLIENT_ID,
protocol=mqtt.MQTTv5)
client.on_connect = on_connect
client.will_set(f"{BASE}/status", "offline", qos=1, retain=True)
# Produção: client.username_pw_set("YOUR_USERNAME", "YOUR_PASSWORD"); client.tls_set(); PORT = 8883
client.connect(BROKER, PORT, keepalive=60)
client.loop_start()
window = []
alarm = False
window_start = time.monotonic()
t0 = time.monotonic()
while True:
value = read_sensor(time.monotonic() - t0)
window.append(value)
# Lógica de borda: avaliada a cada amostra, sem precisar de rede
if not alarm and value > ALARM_ON:
alarm = True
# aqui você também acionaria uma saída local, ex.: uma torre de sinalização
client.publish(f"{BASE}/event", json.dumps(
{"ts": now_iso(), "type": "HIGH_TEMP", "state": "RAISED", "value": round(value, 2)}),
qos=1)
elif alarm and value < ALARM_OFF:
alarm = False
client.publish(f"{BASE}/event", json.dumps(
{"ts": now_iso(), "type": "HIGH_TEMP", "state": "CLEARED", "value": round(value, 2)}),
qos=1)
# Resumo para a nuvem: uma mensagem por janela em vez de SAMPLE_HZ * WINDOW_S
if time.monotonic() - window_start >= WINDOW_S:
summary = {
"ts": now_iso(),
"window_s": WINDOW_S,
"samples": len(window),
"min": round(min(window), 2),
"max": round(max(window), 2),
"mean": round(statistics.fmean(window), 2),
"alarm": alarm,
}
client.publish(f"{BASE}/summary", json.dumps(summary), qos=1, retain=True)
print("summary", summary)
window.clear()
window_start = time.monotonic()
time.sleep(1 / SAMPLE_HZ)
Assine em outro terminal para ver a diferença de volume entre o que a borda vê e o que a nuvem recebe:
mosquitto_sub -h broker.connectmq.com -p 1883 -i edge-3c9d-viewer -t "connectmq/demo/edge-3c9d/#" -v
O nó processa 1.200 amostras por minuto, mas envia um resumo e um ou outro evento. A decisão de alarme acontece localmente e na hora; se o broker estiver inacessível, o alarme local continua funcionando. Em uma implantação real, adicione uma fila em disco para que eventos disparados durante uma queda não se percam.
Custos Sem Exageros
Hardware de borda custa dinheiro logo de início e precisa de alguém para mantê-lo no local. Serviços em nuvem custam dinheiro continuamente, e a conta normalmente cresce com o volume de dados. Isso faz da redução de dados na borda a maior alavanca sobre o custo de nuvem: se você envia apenas o necessário, pode usar planos menores, bancos de dados menores e menos banda, especialmente em links tarifados, comuns em fazendas e mineradoras afastadas, como MQTT sobre rede celular. A contrapartida é que dados nunca enviados não podem ser analisados depois, então mantenha os dados brutos localmente por um tempo se os engenheiros puderem precisar deles.
Segurança em um Design Híbrido
A conexão da borda com a nuvem deve ser sempre de saída, criptografada e autenticada. O nó de borda abre uma sessão TLS com o broker na porta 8883 usando credenciais emitidas especificamente para aquele nó. Nenhuma porta de entrada na rede da planta é necessária, o que mantém a rede OT fechada. Os consumidores na nuvem assinam com suas próprias credenciais. O guia de IoT industrial com MQTT encaixa esse padrão na arquitetura mais ampla da planta.
Escolhendo o Lado da Nuvem
No modelo híbrido, o broker na nuvem é o hub do qual todos os sites e todos os consumidores dependem. Operá-lo por conta própria significa cuidar de TLS, autenticação e planejamento de capacidade para um sistema crítico. Um broker MQTT gerenciado elimina esse trabalho, e a ConnectMQ oferece desde brokers serverless compartilhados para pilotos até implantações dedicadas e bring-your-own-cloud para projetos maiores. Integrações como historiadores ou bancos de dados são conectadas como assinantes MQTT comuns (Telegraf, Node-RED ou seus próprios serviços), o que mantém a arquitetura simples e portável. Se brokers em geral são novidade para você, comece por o que um broker MQTT faz.
Conecte a Sua Borda à ConnectMQ
Dê aos seus nós de borda um hub seguro na nuvem em minutos. A ConnectMQ oferece MQTT 3.1.1 e 5.0 sobre TLS, credenciais emitidas, um explorador de topics ao vivo e regras de alerta por limite para monitorar os resumos. Crie um broker Serverless gratuito em app.connectmq.com, sem cartão de crédito, e aponte o script acima para ele.
Perguntas frequentes
A computação de borda está substituindo a computação em nuvem na IIoT?
Não. Elas resolvem problemas diferentes. A borda cuida do trabalho rápido, local e intensivo em banda; a nuvem cuida da análise entre sites, do histórico e da integração. A maioria dos sistemas usa as duas.
Que latência posso esperar do processamento em nuvem?
Depende do caminho de rede e da região do provedor, normalmente dezenas a centenas de milissegundos, com picos ocasionais. Isso serve para dashboards e analytics, mas não para malhas de controle.
A computação de borda melhora a segurança?
Pode melhorar, porque os dados brutos ficam dentro da planta e apenas os resumos saem. Os próprios nós de borda continuam precisando de atualizações, hardening e credenciais seguras.
Como o MQTT ajuda em uma arquitetura híbrida?
O MQTT desacopla produtores e consumidores. Os nós de borda publicam em topics sem saber quem os consome, então serviços em nuvem podem ser adicionados ou alterados sem mexer na planta.



