courses > Cellular IoT Foundations > Cloud and IoT platforms overview
Cloud and IoT platforms overview
It determines bandwidth, power per transmission, whether the device can receive commands, and integration complexity, so it deserves careful attention early.
Keeping MQTT/CoAP separate from TCP/UDP lets you swap one layer without rewriting the other, which is critical for long-lived deployments.
Its publish/subscribe model over TCP, low overhead, QoS levels, and bidirectional communication make it the most widely used IoT protocol.
CoAP excels on very constrained devices over UDP, while HTTP is simplest for infrequent reporting that does not need cloud-to-device commands.
Running over CoAP and DTLS, it standardizes firmware updates, configuration, and monitoring rather than telemetry streaming.
The protocol is how you send data; the format (JSON, CBOR, Protocol Buffers, raw binary) is what you send, and each trades readability against compactness.
Your device has data to send, a temperature reading, a GPS coordinate, a battery voltage, but how does that data actually reach your cloud application? The answer depends on the messaging protocol you choose. This lesson builds the conceptual mental model you need, covering what each key IoT protocol does, how they differ, and when to use each, with no code or implementation detail.
Choosing a messaging protocol is one of the most consequential decisions in an IoT project. The protocol determines how much bandwidth your device uses, how much power it consumes per transmission, whether the device can receive commands from the cloud, and how complex your integration will be. Get it right and the system runs efficiently for years; get it wrong and you may face a redesign. A critical design principle is to keep your application-layer protocol (such as MQTT or CoAP) separate from your transport choice (TCP or UDP), so you can swap one without rewriting the other.
MQTT (Message Queuing Telemetry Transport) is the most widely used IoT messaging protocol. It uses a publish/subscribe pattern over TCP: devices publish messages to named "topics" (like sensors/temperature), and any application subscribed to that topic receives the message. A central MQTT broker sits between publishers and subscribers and routes messages. Its key advantages are low overhead, built-in quality of service (QoS) levels, and bidirectional communication, since the cloud can publish commands back to devices through the same broker. MQTT defines three QoS levels:
CoAP (Constrained Application Protocol) is designed for very constrained devices with limited memory and processing power. It runs over UDP instead of TCP, eliminating connection-management overhead, and follows a request/response pattern similar to HTTP (GET, PUT, POST, DELETE) but with much smaller packets. Its "Observe" extension lets clients register interest in a resource and receive notifications when it changes, giving it some publish/subscribe-like behavior. HTTP/HTTPS, the protocol of the web, is simple, universally supported, and the easiest to integrate with existing web infrastructure, since any REST API can receive device data. However, HTTP is heavyweight: every request needs a full TCP connection setup, headers are large, and there is no built-in way for the server to push data to the device. It suits devices that report infrequently and do not need to receive commands.
LwM2M (Lightweight Machine-to-Machine) is purpose-built for device management. It runs over CoAP and DTLS and provides a standardized object model for firmware updates, configuration, and monitoring. While it can carry telemetry, its primary strength is device lifecycle management rather than data streaming.
The fundamental difference between MQTT and the other protocols is the communication pattern. In publish/subscribe, the device does not need to know who receives its data; it just publishes to a topic. This decouples senders from receivers and makes it easy to add new consumers without changing device firmware. In request/response, the device sends a specific request to a specific endpoint and waits for a response, which is simpler to understand but creates tighter coupling.
Dual-protocol deployments are common: many real-world systems use LwM2M for device management operations (firmware updates, configuration) while using MQTT or CoAP for telemetry, keeping each protocol doing what it does best. Separately, the payload format is what you send, distinct from the protocol that carries it. Common IoT formats include JSON (human-readable and widely supported, but verbose), CBOR (binary JSON, compact and efficient), Protocol Buffers (strongly typed and very compact, but requires a schema), and raw binary (maximum efficiency, minimum interoperability).
1. Which communication pattern does MQTT (Message Queuing Telemetry Transport) use?
2. Which protocol is designed for very constrained devices and runs over UDP?
3. In a common dual-protocol deployment, which protocol is typically used for device management operations?
Trace data from raw message to queryable insights. Explore the four stages of a telemetry pipeline: ingestion, stream processing, storage, and serving.
Start lesson