MQTT gerenciado na nuvem

O Que É um Broker MQTT Gerenciado? Benefícios, Custos e Como Escolher

Um broker MQTT gerenciado permite rodar mensageria IoT sem operar servidores, certificados ou patches por conta própria. Compare gerenciado e self-hosted, escolha um modelo de implantação e conecte seu primeiro cliente em cinco minutos.

Diagrama de dispositivos IoT conectando via TLS a um broker MQTT gerenciado na nuvem
Rode isso no seu próprio broker MQTTTenha um broker MQTT privado e gerenciado no plano Free e comece com exemplos de código prontos.
Teste grátis Exemplos de código Sem cartão de crédito

Um broker MQTT gerenciado é um servidor MQTT que outra empresa opera para você: você recebe um hostname, portas e credenciais, e o provedor cuida dos servidores, certificados, atualizações e capacidade. Neste guia você vai entender o que um broker MQTT gerenciado realmente faz por você, como ele se compara a rodar seu próprio broker, qual modelo de implantação combina com o seu projeto e como conectar seu primeiro cliente em cerca de cinco minutos.

Se você ainda está começando com MQTT, leia primeiro O Que É um Broker MQTT? e volte aqui quando estiver pronto para pensar em hospedagem.

O Que É um Broker MQTT Gerenciado?

MQTT é um protocolo leve de publish/subscribe. Dispositivos e aplicações nunca se comunicam diretamente; eles se conectam a um broker, publicam mensagens em topics e assinam os topics que lhes interessam. O broker é a única peça de infraestrutura pela qual todas as mensagens passam, o que o torna ao mesmo tempo simples e crítico.

Um broker self-hosted significa que você instala o software do broker em uma máquina virtual ou em um cluster Kubernetes e é responsável por tudo ao redor. Um broker MQTT gerenciado (às vezes chamado de "MQTT broker as a service" ou broker MQTT na nuvem) transfere essa responsabilidade para um provedor. Na prática, você recebe:

  • Um endpoint público como mqtts://your-broker:8883, além de endpoints WebSocket para navegadores.
  • Credenciais (usuário, senha, client ID) geradas para cada broker.
  • TLS com um certificado válido e renovado automaticamente.
  • Um console web para criar brokers, inspecionar topics, acompanhar conexões e configurar alertas.
  • Limites por plano para conexões, tamanho de mensagem e QoS, que você aumenta trocando de plano em vez de reconstruir a infraestrutura.

Seus dispositivos continuam falando MQTT padrão. Isso importa: você não fica preso a um SDK proprietário, e qualquer biblioteca cliente MQTT 3.1.1 ou MQTT 5.0 funciona.

Broker MQTT Gerenciado vs Self-Hosted

Rodar um broker open source em uma única VM é fácil no primeiro dia. O trabalho aparece depois: renovação de certificados, patches do sistema operacional, a primeira vez que uma frota inteira de dispositivos reconecta ao mesmo tempo e a dúvida às 3 da manhã sobre se o broker está no ar. Veja como as responsabilidades se dividem.

Operação e patches

Com um broker self-hosted, você acompanha os alertas de segurança do broker, da biblioteca TLS e do sistema operacional, agenda janelas de manutenção e testa atualizações. Com um broker MQTT gerenciado, o provedor aplica as atualizações na frota de brokers e você continua trabalhando com o mesmo hostname e as mesmas credenciais.

Escalabilidade

Um único nó self-hosted tem um teto definido por CPU, memória e limites de file descriptors. Aumentá-lo significa redimensionar, ajustar o kernel e, às vezes, redesenhar a arquitetura. Em um serviço gerenciado, você escala migrando para um plano com limites maiores ou para um cluster dedicado. O ConnectMQ também protege a infraestrutura compartilhada com cotas por plano, proteção contra flood de conexões e proteção adaptativa contra sobrecarga, para que um cliente com mau comportamento não derrube todos os outros.

Certificados TLS

MQTT criptografado na porta 8883 exige um certificado em que os clientes confiem. No self-hosting, você precisa obtê-lo, automatizar a renovação e reiniciar os listeners. O ConnectMQ oferece TLS na porta 8883 e WebSocket seguro na 8084 com um certificado Let's Encrypt, então clientes padrão confiam nele sem configuração extra. Para se aprofundar em segurança de transporte, veja Segurança MQTT: Boas Práticas.

Monitoramento

Um broker "puro" oferece logs e, no máximo, topics $SYS. Você ainda precisa de dashboards, alertas e uma forma de ver quais dispositivos estão conectados. O portal do ConnectMQ inclui um dashboard, um explorador de topics ao vivo, um cliente MQTT no navegador, uma visão de dispositivos organizada por níveis ISA-95, regras de alerta por limite e um histórico de alertas.

Custo total de propriedade

A conta do servidor raramente é a parte mais cara. A tabela abaixo compara para onde vai o esforço.

Área Broker self-hosted Broker MQTT gerenciado
Servidores e sistema operacional Você provisiona, dimensiona e aplica patches O provedor opera
Atualizações do broker Você testa e implanta O provedor implanta
Certificados TLS Você emite, renova e implanta Incluídos e renovados
Autenticação Você configura usuários e armazenamento Credenciais geradas no portal
Proteção contra abuso e sobrecarga Você cria rate limits e bloqueios Cotas, proteção contra flood e bloqueio de IP já incluídos
Monitoramento e alertas Você monta dashboards e alertas Dashboard, explorador de topics e regras de alerta incluídos
Escalabilidade Redimensionar, ajustar, redesenhar Trocar de plano ou migrar para dedicado
Plantão Sua equipe O provedor para o broker; você para suas aplicações
Tempo até a primeira mensagem De horas a dias Minutos

O self-hosting ainda faz sentido quando os dados nunca podem sair da sua rede, quando há requisitos rígidos de air-gap ou quando você já tem uma equipe de plataforma com capacidade sobrando. Para a maioria das equipes que estão entregando um produto, um broker MQTT gerenciado transforma um fardo operacional recorrente em uma assinatura previsível.

Modelos de Implantação de Broker MQTT Gerenciado

"Gerenciado" não é uma coisa só. O modelo certo depende de quanto isolamento você precisa e de onde seus dados devem ficar. O ConnectMQ oferece quatro modelos, que correspondem aos seus planos.

Modelo de implantação Plano ConnectMQ Quem opera a infraestrutura Indicado para
Serverless (compartilhado) Serverless Free / Serverless Paid ConnectMQ, em um cluster multi-tenant compartilhado Protótipos, pilotos, frotas de produção pequenas e médias
Dedicated Dedicated ConnectMQ, em um cluster isolado só para você Cargas de produção que precisam de recursos próprios
Bring Your Own Cloud BYOC ConnectMQ gerencia os brokers dentro da sua conta de nuvem Residência de dados, compromissos de nuvem existentes
Self-managed Self Managed Enterprise Você, com um broker ConnectMQ licenciado Ambientes on-premises, regulados ou air-gapped

Serverless (cluster compartilhado)

Você tem um broker em segundos, sem escolher tamanho de máquina. Os topics de cada tenant ficam isolados dos outros tenants e da área pública. O plano Serverless gratuito é voltado para testes e protótipos: até 25 conexões simultâneas, QoS até 1, mensagens de 256 KB, retained messages e assinaturas com wildcard. O plano Serverless pago eleva isso a limites de produção no mesmo cluster compartilhado: até 1.000 conexões, QoS 2, mensagens de 1 MB e shared subscriptions.

Dedicated

O plano Dedicated oferece um cluster de broker isolado só seu. Vizinhos barulhentos saem da equação e a capacidade fica reservada para a sua carga, enquanto o ConnectMQ continua operando tudo.

BYOC (Bring Your Own Cloud)

Com o BYOC, os brokers rodam na sua própria conta de nuvem e o ConnectMQ os gerencia. Isso é útil quando sua equipe de segurança exige que os dados fiquem dentro dos limites da sua conta ou quando você quer aproveitar um gasto de nuvem já contratado.

Self Managed Enterprise

Para fábricas, concessionárias de energia, mineradoras e outros locais em que o broker precisa ficar no seu próprio hardware, o plano Self Managed Enterprise fornece um broker licenciado que você roda na sua infraestrutura. Ele é ideal para ambientes industriais; leia Sparkplug B e Unified Namespace para ver como o ConnectMQ lida com estruturas de topics ISA-95 e Sparkplug B.

Em dúvida sobre qual escolher? Nosso guia sobre como escolher um broker MQTT para IoT apresenta os critérios de decisão.

Guia Rápido: Seu Primeiro Broker MQTT Gerenciado em 5 Minutos

Você pode testar o MQTT antes de criar uma conta e depois migrar para um broker privado com credenciais.

Passo 0: Teste anonimamente no servidor MQTT público

O broker.connectmq.com também funciona como servidor MQTT público gratuito, com uma área pública separada. Conecte sem usuário nem senha e com um client ID único e não vazio. Tudo na área pública pode ser lido por qualquer pessoa, então use um prefixo aleatório e nunca envie dados pessoais ou sensíveis.

Abra um terminal e assine:

mosquitto_sub -h broker.connectmq.com -p 1883 -i demo-sub-7f3k \
  -t "connectmq/demo/7f3k/#" -v

Em um segundo terminal, publique:

mosquitto_pub -h broker.connectmq.com -p 1883 -i demo-pub-7f3k \
  -t "connectmq/demo/7f3k/room1/temp" -m '{"temp":22.5}' -q 1

O assinante imprime connectmq/demo/7f3k/room1/temp {"temp":22.5}. Os limites da área pública são 64 KB por mensagem, 10 mensagens por segundo por cliente, 10 assinaturas por cliente e até 8 níveis de topic. Ótimo para testes; para produção, você vai querer seu próprio broker.

Passo 1: Cadastre-se e crie um broker

  1. Acesse app.connectmq.com e crie sua conta. O plano Serverless gratuito não exige cartão de crédito.
  2. Escolha um plano e crie um broker.
  3. Copie o usuário, a senha e o client ID gerados. Seu client ID fica restrito ao valor emitido e às suas variantes com _sufixo (por exemplo YOUR_CLIENT_ID_sensor1), o que permite rodar vários clientes no mesmo broker.

Passo 2: Conecte via TLS com o mosquitto

Use a porta 8883 para MQTT criptografado. Como o certificado é emitido pela Let's Encrypt, basta apontar o cliente para o repositório de CAs do sistema. No Linux e no macOS:

mosquitto_sub -h broker.connectmq.com -p 8883 --capath /etc/ssl/certs \
  -u YOUR_USERNAME -P YOUR_PASSWORD -i YOUR_CLIENT_ID_sub \
  -t "factory1/line1/#" -v -V mqttv5
mosquitto_pub -h broker.connectmq.com -p 8883 --capath /etc/ssl/certs \
  -u YOUR_USERNAME -P YOUR_PASSWORD -i YOUR_CLIENT_ID_pub \
  -t "factory1/line1/cnc1/telemetry" -m '{"spindle_rpm":12000}' -q 1 -V mqttv5

No Windows, informe um arquivo de bundle de CAs com --cafile em vez de --capath.

Passo 3: Conecte a partir do Python

Instale o cliente com pip install paho-mqtt (versão 2.x) e execute:

import json
import ssl
import paho.mqtt.client as mqtt

BROKER = "broker.connectmq.com"
PORT = 8883
USERNAME = "YOUR_USERNAME"
PASSWORD = "YOUR_PASSWORD"
CLIENT_ID = "YOUR_CLIENT_ID"
TOPIC = "factory1/line1/cnc1/telemetry"


def on_connect(client, userdata, flags, reason_code, properties):
    print("Connected:", reason_code)
    client.subscribe(TOPIC, qos=1)
    client.publish(TOPIC, json.dumps({"spindle_rpm": 12000}), qos=1)


def on_message(client, userdata, msg):
    print(f"{msg.topic} -> {msg.payload.decode()}")


client = mqtt.Client(
    mqtt.CallbackAPIVersion.VERSION2,
    client_id=CLIENT_ID,
    protocol=mqtt.MQTTv5,
)
client.username_pw_set(USERNAME, PASSWORD)
client.tls_set(cert_reqs=ssl.CERT_REQUIRED)
client.on_connect = on_connect
client.on_message = on_message

client.connect(BROKER, PORT, keepalive=60)
client.loop_forever()

Você deve ver Connected: Success seguido da sua própria mensagem. Abra o explorador de topics ao vivo no portal e a mesma mensagem aparece lá.

Passo 4: Acompanhe e crie alertas

No portal, você pode inspecionar os topics conforme as mensagens chegam, verificar quais clientes estão conectados e adicionar uma regra de alerta por limite (por exemplo, notificar quando spindle_rpm ultrapassar um valor). Se você trabalha no VS Code, a extensão do ConnectMQ mostra os reason codes de CONNACK, SUBACK e PUBACK e plota ao vivo campos numéricos de JSON.

O Que Verificar Antes de Escolher um Broker MQTT Gerenciado

Qualquer que seja o provedor avaliado, faça estas perguntas:

  • Suporte a protocolos: Ele suporta MQTT 3.1.1 e MQTT 5.0? Recursos do MQTT 5 como session expiry, message expiry, topic aliases e reason codes facilitam a operação de frotas.
  • Opções de transporte: TCP, TLS e WebSocket (incluindo WebSocket seguro para dashboards no navegador).
  • Isolamento entre tenants: Seus topics ficam invisíveis para outros clientes em um cluster compartilhado?
  • Proteção contra abuso: Cotas, proteção contra flood e bloqueio de tentativas repetidas com credenciais inválidas.
  • Limites anunciados, não adivinhados: Um broker MQTT 5 pode informar seus limites aos clientes no CONNACK (Maximum QoS, Retain Available, Wildcard e Shared Subscription Available, Receive Maximum). O ConnectMQ faz isso, então os clientes podem se adaptar em vez de falhar silenciosamente.
  • Caminho de evolução: Dá para migrar de um broker compartilhado gratuito para dedicado, para sua própria nuvem ou para on-premises sem reescrever os dispositivos?

Comece com o ConnectMQ

Crie seu primeiro broker MQTT gerenciado em app.connectmq.com. O plano Serverless é gratuito, não exige cartão de crédito e entrega credenciais, TLS e um portal com explorador de topics em minutos. Quando ele ficar pequeno, migre para Serverless Paid, Dedicated, BYOC ou Self Managed Enterprise sem alterar seu código MQTT.

Perguntas frequentes

O que é um broker MQTT gerenciado?

Um broker MQTT gerenciado é um servidor MQTT operado por um provedor. Você se conecta com clientes MQTT padrão usando um hostname e credenciais, enquanto o provedor cuida de servidores, atualizações, certificados TLS, capacidade e proteção.

Um broker MQTT gerenciado é mais caro do que o self-hosting?

A assinatura pode parecer mais cara do que uma única VM, mas o self-hosting também custa tempo de engenharia com patches, certificados, monitoramento e plantão. Para a maioria das equipes, o custo total de propriedade é menor com um serviço gerenciado, e o ConnectMQ oferece um plano Serverless gratuito para começar.

Posso usar minhas bibliotecas cliente MQTT atuais?

Sim. O ConnectMQ fala MQTT 3.1.1 e MQTT 5.0 padrão sobre TCP, TLS e WebSocket, então bibliotecas como Eclipse Paho, MQTT.js e PubSubClient funcionam sem alterações.

Quais portas devo usar com o ConnectMQ?

Em produção, use 8883 para MQTT sobre TLS e 8084 para WebSocket seguro. As portas 1883 (TCP) e 8083 (WebSocket) estão disponíveis para testes rápidos no servidor MQTT público.

Posso manter os dados na minha própria nuvem ou on-premises?

Sim. O plano BYOC roda brokers MQTT gerenciados pelo ConnectMQ na sua própria conta de nuvem, e o plano Self Managed Enterprise fornece um broker licenciado que você roda na sua própria infraestrutura.

Artigos relacionados

Broker MQTT BYOC: Bring Your Own Cloud Explicado

Um broker MQTT BYOC roda na sua conta de nuvem, mas é operado por um provedor. Entenda como o modelo funciona, a divisão de responsabilidades e como preparar a sua conta para ele.

9 min de leitura

Alternativa ao Google Cloud IoT Core: Opções e Migração Após o Encerramento

O Google desativou o Cloud IoT Core em agosto de 2023. Este guia compara as alternativas realistas, mapeia os conceitos do IoT Core para MQTT puro e mostra como mover dispositivos para um broker MQTT gerenciado mantendo os dados fluindo para o Google Cloud.

9 min de leitura

Mensagens MQTT por Segundo: Como Estimar e Medir a Vazão

O planejamento de vazão em MQTT se resume a algumas fórmulas e a uma medição honesta. Aprenda a estimar mensagens de entrada e saída por segundo, considerar os picos e associar o resultado a um plano de broker.

8 min de leitura

Todos os artigos →

Seu broker MQTT privado está a poucos cliques de distância

Crie uma conta, receba as credenciais do seu broker e conecte seu primeiro dispositivo — sem servidores para instalar, atualizar ou escalar.