MQTT gestionado en la nube

¿Qué es un broker MQTT gestionado? Ventajas, costes y cómo elegirlo

Un broker MQTT gestionado te permite operar la mensajería IoT sin administrar servidores, certificados ni parches. Compara la opción gestionada con la autoalojada, elige un modelo de despliegue y conecta tu primer cliente en cinco minutos.

Diagrama de dispositivos IoT conectándose mediante TLS a un broker MQTT gestionado en la nube
Pruébalo en tu propio broker MQTTConsigue un broker MQTT privado y gestionado con el plan Free y empieza con ejemplos de código listos para usar.
Pruébalo gratis Ejemplos de código Sin tarjeta

Un broker MQTT gestionado es un servidor MQTT que otra empresa opera por ti: recibes un hostname, unos puertos y unas credenciales, y el proveedor se encarga de los servidores, los certificados, las actualizaciones y la capacidad. En esta guía verás qué hace realmente por ti un broker MQTT gestionado, cómo se compara con operar tu propio broker, qué modelo de despliegue encaja con tu proyecto y cómo conectar tu primer cliente en unos cinco minutos.

Si MQTT es nuevo para ti, empieza por ¿Qué es un broker MQTT? y vuelve aquí cuando estés listo para pensar en el alojamiento.

¿Qué es un broker MQTT gestionado?

MQTT es un protocolo ligero de publicación/suscripción. Los dispositivos y las aplicaciones nunca se comunican directamente entre sí: se conectan a un broker, publican mensajes en topics y se suscriben a los topics que les interesan. El broker es la única pieza de infraestructura por la que pasan todos los mensajes, lo que lo hace a la vez sencillo y crítico.

Un broker autoalojado implica instalar el software del broker en una máquina virtual o en un clúster de Kubernetes y asumir todo lo que lo rodea. Un broker MQTT gestionado (a veces llamado «MQTT broker as a service» o broker MQTT en la nube) traslada esa responsabilidad a un proveedor. En la práctica recibes:

  • Un endpoint público como mqtts://your-broker:8883, además de endpoints WebSocket para navegadores.
  • Credenciales (usuario, contraseña, client ID) generadas para cada broker.
  • TLS con un certificado válido que se renueva automáticamente.
  • Una consola web para crear brokers, inspeccionar topics, ver conexiones y configurar alertas.
  • Límites por plan para conexiones, tamaño de mensaje y QoS que puedes ampliar cambiando de plan en lugar de reconstruir la infraestructura.

Tus dispositivos siguen hablando MQTT estándar. Esto es importante: no quedas atado a un SDK propietario y cualquier librería cliente de MQTT 3.1.1 o MQTT 5.0 funciona.

Broker MQTT gestionado frente a autoalojado

Poner en marcha un broker de código abierto en una sola VM es fácil el primer día. El trabajo aparece después: renovaciones de certificados, parches del sistema operativo, la primera vez que una flota entera de dispositivos se reconecta a la vez y la pregunta de las 3 de la madrugada sobre si el broker sigue funcionando. Así se reparten las responsabilidades.

Operación y parches

Con un broker autoalojado tienes que seguir los avisos de seguridad del broker, de la librería TLS y del sistema operativo, planificar ventanas de mantenimiento y probar las actualizaciones. Con un broker MQTT gestionado, el proveedor aplica las actualizaciones a toda la flota de brokers y tú sigues trabajando con el mismo hostname y las mismas credenciales.

Escalado

Un único nodo autoalojado tiene un techo marcado por su CPU, su memoria y sus límites de descriptores de archivo. Subirlo implica redimensionar, ajustar el kernel y, a veces, rediseñar. En un servicio gestionado escalas pasando a un plan con límites más altos o a un clúster dedicado. ConnectMQ protege además la infraestructura compartida con cuotas por plan, protección contra avalanchas de conexiones y protección adaptativa frente a sobrecarga, de modo que un cliente que se comporta mal no puede tumbar a todos los demás.

Certificados TLS

MQTT cifrado en el puerto 8883 requiere un certificado en el que confíen los clientes. Autoalojar significa obtenerlo, automatizar su renovación y reiniciar los listeners. ConnectMQ sirve TLS en el 8883 y WebSocket seguro en el 8084 con un certificado de Let's Encrypt, así que los clientes estándar confían en él sin configuración adicional. Para profundizar en la seguridad del transporte, consulta Buenas prácticas de seguridad en MQTT.

Monitorización

Un broker sin más te da logs y, como mucho, topics $SYS. Sigues necesitando paneles, alertas y una forma de saber qué dispositivo está conectado. El portal de ConnectMQ incluye un panel de control, un explorador de topics en tiempo real, un cliente MQTT en el navegador, una vista de dispositivos organizada por niveles ISA-95, reglas de alerta por umbral y un registro de alertas.

Coste total de propiedad

La factura del servidor rara vez es lo más caro. La tabla siguiente compara dónde se va el esfuerzo.

Área Broker autoalojado Broker MQTT gestionado
Servidores y sistema operativo Tú los aprovisionas, dimensionas y parcheas Los opera el proveedor
Actualizaciones del broker Tú las pruebas y despliegas Las despliega el proveedor
Certificados TLS Tú los emites, renuevas y despliegas Incluidos y renovados
Autenticación Tú configuras usuarios y almacenamiento Credenciales generadas en el portal
Protección frente a abusos y sobrecarga Tú construyes límites de tasa y bloqueos Cuotas, protección contra avalanchas y bloqueo de IP incluidos
Monitorización y alertas Tú montas paneles y alertas Panel, explorador de topics y reglas de alerta incluidos
Escalado Redimensionar, ajustar, rediseñar Cambiar de plan o pasar a dedicado
Guardias Tu equipo El proveedor para el broker; tú para tus aplicaciones
Tiempo hasta el primer mensaje De horas a días Minutos

Autoalojar sigue teniendo sentido cuando los datos nunca deben salir de tu red, cuando tienes requisitos estrictos de aislamiento físico (air gap) o cuando ya cuentas con un equipo de plataforma con capacidad disponible. Para la mayoría de los equipos que lanzan un producto, un broker MQTT gestionado convierte una carga operativa recurrente en una suscripción predecible.

Modelos de despliegue de un broker MQTT gestionado

«Gestionado» no es una sola cosa. El modelo adecuado depende del aislamiento que necesites y de dónde deban residir tus datos. ConnectMQ ofrece cuatro modelos que se corresponden con sus planes.

Modelo de despliegue Plan de ConnectMQ Quién opera la infraestructura Encaje típico
Serverless (compartido) Serverless Free / Serverless Paid ConnectMQ, en un clúster multiinquilino compartido Prototipos, pilotos y flotas de producción pequeñas y medianas
Dedicated Dedicated ConnectMQ, en un clúster aislado solo para ti Cargas de producción que necesitan recursos propios
Bring Your Own Cloud BYOC ConnectMQ gestiona los brokers dentro de tu cuenta cloud Residencia de datos, compromisos de gasto cloud existentes
Autogestionado Self Managed Enterprise Tú, con un broker de ConnectMQ con licencia Instalaciones on-premises, reguladas o aisladas físicamente

Serverless (clúster compartido)

Obtienes un broker en segundos sin elegir tamaños de máquina. Los topics de cada inquilino están aislados de los demás inquilinos y del área pública. El plan Serverless gratuito está pensado para pruebas y prototipos: hasta 25 conexiones simultáneas, QoS hasta 1, mensajes de 256 KB, retained messages y suscripciones con comodines. El plan Serverless de pago eleva esto a límites de producción en el mismo clúster compartido: hasta 1.000 conexiones, QoS 2, mensajes de 1 MB y suscripciones compartidas.

Dedicated

Un plan Dedicated te da un clúster de brokers aislado y propio. Los vecinos ruidosos desaparecen de la ecuación y la capacidad queda reservada para tu carga de trabajo, mientras ConnectMQ sigue encargándose de operarlo.

BYOC (Bring Your Own Cloud)

Con BYOC, los brokers se ejecutan en tu propia cuenta cloud y ConnectMQ los gestiona. Resulta útil cuando tu equipo de seguridad exige que los datos permanezcan dentro de los límites de tu cuenta o cuando quieres aprovechar el gasto cloud que ya tienes comprometido.

Self Managed Enterprise

Para fábricas, empresas de suministros y otras instalaciones donde el broker debe residir en tu propio hardware, el plan Self Managed Enterprise ofrece un broker con licencia que ejecutas en tu infraestructura. Encaja bien en entornos industriales; lee MQTT Sparkplug B y Unified Namespace para ver cómo gestiona ConnectMQ las estructuras de topics ISA-95 y Sparkplug B.

¿No sabes cuál elegir? Nuestra guía sobre cómo elegir un broker MQTT para IoT repasa los criterios de decisión.

Guía rápida: tu primer broker MQTT gestionado en 5 minutos

Puedes probar MQTT antes de crear una cuenta y luego pasar a un broker privado con credenciales.

Paso 0: prueba de forma anónima en el broker público

broker.connectmq.com funciona también como servidor MQTT público gratuito, con un área pública pensada para pruebas y prototipos, nunca para datos de producción. Conéctate sin usuario ni contraseña y con un client ID único y no vacío. Todo lo que hay en el área pública lo puede leer cualquiera, así que usa un prefijo aleatorio y nunca envíes datos personales o sensibles.

Abre una terminal y suscríbete:

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

En una segunda terminal, publica:

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

El suscriptor muestra connectmq/demo/7f3k/room1/temp {"temp":22.5}. Los límites del área pública son 64 KB por mensaje, 10 mensajes por segundo por cliente, 10 suscripciones por cliente y hasta 8 niveles de topic. Suficiente para probar; para producción conviene tener tu propio broker.

Paso 1: regístrate y crea un broker

  1. Ve a app.connectmq.com y regístrate. El plan Serverless gratuito no requiere tarjeta de crédito.
  2. Elige un plan y crea un broker.
  3. Copia el usuario, la contraseña y el client ID generados. Tu client ID está restringido al valor emitido y a sus variantes con _suffix (por ejemplo YOUR_CLIENT_ID_sensor1), lo que te permite ejecutar varios clientes con un mismo broker.

Paso 2: conéctate por TLS con mosquitto

Usa el puerto 8883 para MQTT cifrado. Como el certificado lo emite Let's Encrypt, basta con apuntar el cliente al almacén de CA del sistema. En Linux y 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

En Windows, pasa un archivo de paquete de CA con --cafile en lugar de --capath.

Paso 3: conéctate desde Python

Instala el cliente con pip install paho-mqtt (versión 2.x) y ejecuta:

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()

Deberías ver Connected: Success seguido de tu propio mensaje. Abre el explorador de topics en tiempo real del portal y verás aparecer allí el mismo mensaje.

Paso 4: observa y configura alertas

Desde el portal puedes inspeccionar los topics a medida que llegan, comprobar qué clientes están conectados y añadir una regla de alerta por umbral (por ejemplo, avisar cuando spindle_rpm supere un límite). Si trabajas en VS Code, la extensión de ConnectMQ muestra los reason codes de CONNACK, SUBACK y PUBACK y representa en gráficos en tiempo real los campos numéricos de JSON.

Qué comprobar antes de elegir un broker MQTT gestionado

Evalúes el proveedor que evalúes, hazte estas preguntas:

  • Soporte de protocolo: ¿admite tanto MQTT 3.1.1 como MQTT 5.0? Funciones de MQTT 5 como session expiry, message expiry, topic aliases y reason codes facilitan la operación de las flotas.
  • Opciones de transporte: TCP, TLS y WebSocket (incluido WebSocket seguro para paneles en el navegador).
  • Aislamiento entre inquilinos: ¿son tus topics invisibles para otros clientes en un clúster compartido?
  • Protección frente a abusos: cuotas, protección contra avalanchas y bloqueo de intentos repetidos con credenciales erróneas.
  • Límites anunciados, no adivinados: un broker MQTT 5 puede comunicar sus límites a los clientes en el CONNACK (Maximum QoS, Retain Available, Wildcard y Shared Subscription Available, Receive Maximum). ConnectMQ lo hace, de modo que los clientes pueden adaptarse en lugar de fallar en silencio.
  • Ruta de crecimiento: ¿puedes pasar de un broker compartido gratuito a uno dedicado, a tu propia nube o a on-premises sin reescribir los dispositivos?

Empieza con ConnectMQ

Crea tu primer broker MQTT gestionado en app.connectmq.com. El plan Serverless es gratuito, no requiere tarjeta de crédito y en minutos te da credenciales, TLS y un portal con explorador de topics. Cuando se te quede pequeño, pasa a Serverless Paid, Dedicated, BYOC o Self Managed Enterprise sin cambiar tu código MQTT.

Preguntas frecuentes

¿Qué es un broker MQTT gestionado?

Un broker MQTT gestionado es un servidor MQTT operado por un proveedor. Te conectas con clientes MQTT estándar usando un hostname y unas credenciales, mientras el proveedor se ocupa de los servidores, las actualizaciones, los certificados TLS, la capacidad y la protección.

¿Es un broker MQTT gestionado más caro que autoalojarlo?

La suscripción puede parecer más cara que una sola VM, pero autoalojar también consume tiempo de ingeniería en parches, certificados, monitorización y guardias. Para la mayoría de los equipos el coste total de propiedad es menor con un broker MQTT gestionado, y ConnectMQ ofrece un plan Serverless gratuito para empezar.

¿Puedo usar mis librerías cliente MQTT actuales?

Sí. ConnectMQ habla MQTT 3.1.1 y MQTT 5.0 estándar sobre TCP, TLS y WebSocket, así que librerías como Eclipse Paho, MQTT.js y PubSubClient funcionan sin cambios.

¿Qué puertos debo usar con ConnectMQ?

En producción, usa el 8883 para MQTT sobre TLS y el 8084 para WebSocket seguro. Los puertos 1883 (TCP) y 8083 (WebSocket) están disponibles para pruebas rápidas en el broker público.

¿Puedo mantener los datos en mi propia nube o en on-premises?

Sí. El plan BYOC ejecuta brokers gestionados por ConnectMQ en tu propia cuenta cloud, y el plan Self Managed Enterprise ofrece un broker con licencia que ejecutas en tu propia infraestructura.

Artículos relacionados

Broker MQTT BYOC: el modelo Bring Your Own Cloud explicado

Un broker MQTT BYOC se ejecuta en tu cuenta cloud, pero lo opera un proveedor. Descubre cómo funciona el modelo, cómo se reparten las responsabilidades y cómo preparar tu cuenta.

9 min de lectura

Alternativa a Google Cloud IoT Core: opciones y migración tras su cierre

Google retiró Cloud IoT Core en agosto de 2023. Esta guía compara las alternativas realistas, traduce los conceptos de IoT Core a MQTT estándar y muestra cómo mover los dispositivos a un broker MQTT gestionado sin dejar de enviar datos a Google Cloud.

9 min de lectura

Mensajes MQTT por segundo: cómo estimar y medir el rendimiento

Planificar el rendimiento de MQTT se reduce a unas pocas fórmulas y una medición honesta. Aprende a estimar los mensajes entrantes y salientes por segundo, a tener en cuenta los picos y a trasladar el resultado a un plan de broker.

8 min de lectura

Todos los artículos →

Tu broker MQTT privado, a unos pocos clics

Crea una cuenta, obtén las credenciales de tu broker y conecta tu primer dispositivo, sin servidores que instalar, parchear ni escalar.