Un broker MQTT en tant que service vous fournit un endpoint de broker opérationnel et sécurisé sans que vous ayez à installer, corriger ou superviser un serveur vous-même. Cet article explique précisément quelles responsabilités passent au fournisseur, lesquelles vous restent, et comment construire les éléments qu'un broker n'inclut pas, afin de fixer les bonnes attentes avant de vous inscrire.
Ce que signifie « broker MQTT en tant que service »
« En tant que service » signifie que vous consommez le broker comme un endpoint, et non comme un logiciel que vous exécutez : c'est le principe d'un broker MQTT managé. Vous recevez un nom d'hôte, des ports, des identifiants et un portail de gestion. Le fournisseur exploite les machines, le logiciel du broker, les certificats TLS et les processus opérationnels qui les accompagnent. Vous connectez vos appareils et applications en MQTT standard, exactement comme vous le feriez avec un broker que vous hébergez vous-même.
Ce dernier point est important. MQTT étant un standard ouvert, les mêmes bibliothèques clientes, firmwares et outils fonctionnent, que le broker tourne sur un Raspberry Pi dans votre bureau ou dans le cloud d'un fournisseur. Si le protocole est nouveau pour vous, commencez par ce que fait un broker MQTT.
La répartition des responsabilités
Le tableau ci-dessous présente une répartition typique. La colonne de droite prend ConnectMQ comme référence concrète.
| Domaine | Fournisseur | Vous | Comment ConnectMQ gère la part du fournisseur |
|---|---|---|---|
| Serveurs et système d'exploitation | Oui | Exploite l'infrastructure pour Serverless et Dedicated ; la gère dans votre compte pour BYOC | |
| Logiciel du broker et correctifs | Oui | Broker MQTT managé avec MQTT 3.1.1 et 5.0 | |
| Certificats TLS | Oui | Certificat Let's Encrypt sur TLS 8883 et WebSocket sécurisé 8084 | |
| Endpoints et ports | Oui | TCP 1883, TLS 8883, WebSocket 8083, WebSocket sécurisé 8084 (chemin /mqtt) | |
| Émission des identifiants | Oui | Les stocker en sécurité | Nom d'utilisateur, mot de passe et client ID générés par broker |
| Protection contre les abus | Oui | Quotas par offre, protection contre les inondations, blocage d'IP après des échecs de connexion répétés | |
| Isolation des tenants | Oui | Isolation multi-tenant sur les offres partagées, clusters isolés en Dedicated | |
| Outils de visibilité | Oui | Les utiliser | Client intégré au navigateur, explorateur de topics en direct, tableau de bord, vue des appareils, alertes à seuil |
| Firmware et bibliothèques des appareils | Oui | ||
| Conception et nommage des topics | Oui | Le portail détecte les topics ISA-95 et Unified Namespace si vous les utilisez | |
| Format et validation des payloads | Oui | Décode Sparkplug B pour l'affichage et le republie dans des topics ISA-95 | |
| Stockage et historique des données | Oui | Non inclus ; vous exécutez votre propre abonné et votre base de données | |
| Intégrations avec d'autres systèmes | Oui | Non incluses ; connectez des outils comme Node-RED ou Telegraf en tant que clients MQTT | |
| Fiabilité côté client | Oui | Reconnexions, mise en tampon, choix de la QoS |
Ce que vous obtenez
Aucun serveur à exploiter
Vous n'installez jamais Mosquitto, ne configurez pas d'unités systemd, ne relevez pas de limites de descripteurs de fichiers et ne planifiez pas de correctifs système. Sur les offres Serverless, vous n'avez même pas à penser au dimensionnement des machines ; vous choisissez une offre dont les limites correspondent à vos besoins.
Des réglages de sécurité par défaut difficiles à rater
Le TLS est prêt dès le premier jour avec un certificat reconnu publiquement, les identifiants sont générés plutôt que choisis à la main, et les client ID sont liés aux identifiants émis pour eux. Les tentatives de connexion par force brute entraînent un blocage d'IP. Les brokers auto-hébergés démarrent souvent sans certaines de ces protections et les ajoutent plus tard. Notre article sur les bonnes pratiques de sécurité MQTT couvre le versant client du sujet.
Des limites prévisibles
Les offres s'accompagnent de limites publiées. Chez ConnectMQ, l'offre Serverless (Free) autorise jusqu'à 25 connexions, une QoS jusqu'à 1 et des messages de 256 Ko ; l'offre Serverless payante autorise jusqu'à 1 000 connexions, la QoS 2, des messages de 1 Mo et les abonnements partagés. Dedicated, BYOC et Self Managed Enterprise couvrent les déploiements isolés et contrôlés par le client.
Des outils pour voir ce qui se passe
Un broker dont on ne voit pas l'intérieur est difficile à déboguer. Un bon service vous permet de publier des messages de test, d'observer les topics en direct, de voir quels appareils sont connectés et d'être averti lorsque des valeurs franchissent un seuil, le tout depuis un navigateur.
Ce que vous n'obtenez pas
Être clair sur ce point évite les déceptions par la suite.
Un broker n'est pas une base de données. Il route des messages ; il ne conserve pas d'historique. Les retained messages ne stockent que la dernière valeur par topic. Si vous avez besoin de graphiques dans le temps, il vous faut une base de séries temporelles ou un historien.
Un broker n'est pas une plateforme d'intégration. Certaines plateformes IoT intègrent des moteurs de règles, des webhooks et des connecteurs vers des bases de données ou d'autres clouds. Un pur broker en tant que service, ConnectMQ compris, ne le fait pas. Vous construisez les intégrations en exécutant un client qui s'abonne et relaie.
Un broker ne rend pas les clients fiables. La logique de reconnexion, la mise en tampon locale, les commandes idempotentes et des choix de QoS judicieux relèvent de votre code. Consultez la haute disponibilité d'un broker MQTT pour les schémas côté client.
Un broker ne conçoit pas vos topics. Un namespace clair est votre affaire, et il détermine la facilité de tout le reste.
Le schéma d'intégration : s'abonner et relayer
La façon honnête et portable de relier un broker en tant que service au reste de votre stack est un petit processus abonné. Il fonctionne avec n'importe quel broker et vous laisse libre de changer de base de données ou de fournisseur plus tard. Voici un exemple Python complet qui stocke chaque message de télémétrie dans SQLite. Remplacez SQLite par PostgreSQL, InfluxDB ou un fichier selon vos besoins.
# store_telemetry.py - s'abonne à la télémétrie et la stocke dans SQLite
import json
import sqlite3
import time
import paho.mqtt.client as mqtt
DB = sqlite3.connect("telemetry.db", check_same_thread=False)
DB.execute("""CREATE TABLE IF NOT EXISTS telemetry (
ts REAL, topic TEXT, payload TEXT)""")
DB.commit()
def on_connect(client, userdata, flags, reason_code, properties):
print("connected:", reason_code)
client.subscribe("acme/+/+/+/+/telemetry", qos=1)
def on_message(client, userdata, msg):
try:
payload = json.dumps(json.loads(msg.payload)) # valider le JSON
except ValueError:
print("skipping non-JSON message on", msg.topic)
return
DB.execute("INSERT INTO telemetry VALUES (?, ?, ?)",
(time.time(), msg.topic, payload))
DB.commit()
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2,
client_id="YOUR_CLIENT_ID", protocol=mqtt.MQTTv5)
client.username_pw_set("YOUR_USERNAME", "YOUR_PASSWORD")
client.tls_set()
client.on_connect = on_connect
client.on_message = on_message
client.connect("broker.connectmq.com", 8883, keepalive=60)
client.loop_forever()
Le même schéma s'applique aux outils low-code. Node-RED se connecte avec un nœud de configuration mqtt-broker, Telegraf utilise son entrée MQTT consumer, et Home Assistant son intégration MQTT. Chacun n'est qu'un client MQTT de plus pour le broker.
Choisir le bon niveau de service
| Si vous avez besoin de | Envisagez |
|---|---|
| Apprendre, faire des démos et des tests rapides | Le serveur MQTT public gratuit broker.connectmq.com (tests uniquement, jamais de données de production) |
| Un broker privé pour un prototype ou un petit pilote | Serverless (Free) |
| Une flotte en croissance, la QoS 2, des messages plus gros, des abonnements partagés | Serverless (Paid) |
| Une isolation vis-à-vis des autres tenants | Dedicated |
| Le broker dans votre propre compte cloud | BYOC |
| Exploiter le broker vous-même avec le logiciel de l'éditeur | Self Managed Enterprise |
Si vous hésitez entre un service et votre propre hébergement, lisez broker MQTT auto-hébergé ou managé et les options d'hébergement de broker MQTT comparées. Le guide sur le broker MQTT cloud offre une vue d'ensemble de tout ce sujet.
Les questions à poser avant de choisir un fournisseur
- Quelles versions de MQTT et quels transports sont pris en charge ?
- Quelles sont les limites exactes de connexions, de taille de message et de QoS pour chaque offre ?
- Comment les identifiants sont-ils émis, renouvelés et révoqués ?
- Comment le service signale-t-il les dépassements de quota aux clients ?
- Quels outils de visibilité sont inclus ?
- Qu'est-ce qui n'est pas inclus, comme le stockage, les moteurs de règles ou les connecteurs ?
- Quelles options d'isolation existent au-delà des offres partagées ?
- Quelles sont les conditions du SLA, par écrit ?
- Est-il facile de partir, sachant que les appareils ne connaissent qu'un nom d'hôte et des identifiants ?
Essayez MQTT en tant que service avec ConnectMQ
ConnectMQ exploite le broker, le TLS et les quotas pour que vous puissiez vous concentrer sur vos appareils et vos données. Inscrivez-vous sur app.connectmq.com, créez un broker avec l'offre Serverless gratuite, sans carte bancaire, et connectez votre premier client en quelques minutes.
Questions fréquentes
Que comprend un broker MQTT en tant que service ?
Généralement le logiciel du broker, les serveurs, les correctifs, les certificats TLS, les endpoints, les identifiants, les quotas et un portail de gestion. Les appareils, les topics, les payloads et le stockage des données restent sous votre responsabilité.
Un broker MQTT managé stocke-t-il mes données ?
Un broker route les messages et ne conserve que la dernière valeur retenue par topic. Pour l'historique, exécutez un abonné qui écrit les messages dans une base de données que vous contrôlez.
Puis-je connecter Node-RED ou Telegraf à un broker en tant que service ?
Oui. Ils se connectent comme des clients MQTT ordinaires avec le nom d'hôte, le port et les identifiants du portail, puis relaient les données là où vous en avez besoin.
Est-il difficile de quitter un broker MQTT en tant que service ?
MQTT étant un standard, les appareils n'ont besoin que d'un nouveau nom d'hôte et de nouveaux identifiants. Éviter les fonctionnalités propriétaires maintient les coûts de changement à un niveau bas.



