In this How-To, we’re going to look at a specific Catchpoint synthetic monitor that helps you analyze the health of systems built around the Internet of things (IoT).
Now, IoT is obviously a huge category, so in this case, we’re going to look at systems that utilize the Message Queuing Telemetry Transport or MQTT for short. MQTT was designed in 1999 to ensure energy-efficient, minimal-data communication between devices, especially when access to those machines was limited, as with industrial devices, for instance. Twenty years later, we’re seeing it employed in IoT architecture, largely because it is extremely effective when applied to applications or services that need to scale with many users and since data/energy is considered a premium.
What Is MQTT And Why Should I Care?
So what do oil rig satellites, Facebook Messenger, CASO kitchen appliances, and Germany’s high-speed trains have in common? They all implement MQTT to ensure reliable IoT communication. To understand why they use this protocol instead of implementing an HTTP-based system, let’s look at a real-life example.
Let’s say I’m a company like Matternet, a startup that uses drones to transport medical samples between hospitals and testing labs. In order to get this kind of system approved, I need to prove that my devices are accessible in real-time, with information such as drone status and geographical location.
To build such a system using HTTP would not be practical or scalable. The system will quickly get overwhelmed as the size of my drone fleet expands (or at the very least come with high CAPEX/OPEX). Additionally, each of those drones would need to individually connect to a server (Fig 1), and maintain multiple sessions simultaneously, which would consume a huge amount of data and energy, something you don’t want for your fleet of drones flying hundreds of feet above the ground (the same principle also applies to mobile applications that don’t want to be a battery hog).
On the other hand, an MQTT-based system uses a publish/subscribe architecture that relies on a third-party, also called a broker, to deliver messages between clients (Fig 2). This allows communication to happen asynchronously, as everyone can simply check in with the broker when they need to send/receive messages.
MQTT is a standout protocol for systems and services that need to deal with a lot of users and is widely used to connect smart/IoT devices. When implemented properly, MQTT enables you to:
- Eliminate vulnerable and unsecured client connections.
- Easily scale systems to thousands of devices.
- Track connection states (including security credentials).
- Reduce Network strain.
Catchpoint has a dedicated test type for the MQTT publish/subscribe architecture, which lets you monitor the performance and availability of IoT devices. Over the course of this video, we’re going to cover how to design and deploy an MQTT test using Catchpoint, and how to apply that data effectively towards troubleshooting your IoT service or application.
Let’s hop in!