SlideShare a Scribd company logo
1 of 43
Download to read offline
LIGHTWEIGHT AND SCALABLE IOT
MESSAGING WITH MQTT
Dominik Obermaier | CTO @ HiveMQ
Numberofusersinmillions
Numberofusersinmillions
PEOPLE ON THE INTERNET
Source IHS © 2016 IHS
DEVICES ON THE INTERNET
Key Industry Trend:
IoT & Connectivity
Introduction
• HiveMQ CTO
• Strong background in distributed
and large scale systems
architecture
• OASIS MQTT TC Member
• Author of “The Technical
Foundations of IoT”
• Conference Speaker
• Program committee member for
German and international IoT
conferences
Dominik
Obermaier
@dobermai
Web Technologies are
NOT
suitable for IoT
IOT CHALLENGES
➤ Unreliable communication channels (e.g.
mobile)
➤ Constrained Devices
➤ Low Bandwidth and High Latency
environments
➤ Bi-directional communication required
➤ Security
➤ Instantaneous data exchange
HTTP?
➤ Most popular web protocol
➤ Designed for the human web
➤ Request / Response based
➤ Document centric
➤ No Quality of service
➤ Stateless
➤ Text based (binary with HTTP/2)
➤ No Push capabilities
➤ Not possible to get notified when a client
is offline
CoAP
WHAT IS MQTT?
➤ IoT Messaging Protocol
➤ Minimal Overhead
➤ Publish / Subscribe
➤ Easy
➤ Binary
➤ Data Agnostic
➤ Designed for reliable
communication over unreliable
channels
USE CASES
➤ Push Communication
➤ Unreliable communication
channels (e.g. mobile)
➤ Constrained Devices
➤ Low Bandwidth and High Latency
environments
➤ Communication from backend to
IoT device
➤ Lightweight backen communication
PUBLISH / SUBSCRIBE
Scalable communication paradigm for the IoT
PUBLISH / SUBSCRIBE EXPLAINED
MQTT PUB/SUB ADVANTAGES
➤ Space decoupling
➤ Time Decoupling
➤ Synchronization Decoupling
➤ Message filtering based on
subjects (topics)
➤ Push communication
➤ Dynamic Topics
PROTOCOL DETAILS
➤ MQTT requires TCP/IP
➤ IPv4 and IPv6 supported
➤ Also works over websockets
➤ Persistent TCP connections
➤ Heartbeat mechanism
➤ Clean & Persistent Sessions
➤ QoS levels for message delivery
guarantees
➤ TLS in the mix for professional
deployments
MQTT
TCP
IP
5-7
ISO/OSI
Layer
4
ISO/OSI
Layer
3
ISO/OSI
Layer
SCALING MQTT
The journey to millions of devices
CHALLENGE 1:
HUGE AMOUNT OF TCP CONNECTIONS
➤ MQTT uses persistent
TCP connections
➤ Number of concurrent
TCP connections
limited (hard to scale >
1-2 Million on a single
machine)
➤ “Reconnect Storms”
CHALLENGE 2:
SECURITY
➤ TLS for secure communication
➤ TLS handshake is resource
intensive
➤ Brokers accessible over the
Internet
➤ Scalable backend systems for
authentication & authorization
needed
CHALLENGE 3:
MQTT IS STATEFUL
➤ MQTT allows sessions
➤ Subscriptions, Queued
Messages, Message Flow
remembered for offline client
➤ Retained Messages for every
topic possible (dynamic
topics!)
CHALLENGE 4:
HIGH AVAILABILITY
➤ MQTT Brokers are a single point
of failure
➤ Cloud Environments WILL fail
➤ Bridged Brokers (brokers that are
chained via MQTT) do not
support session migration
CHALLENGE 5:
BACKEND CONNECTIVITY
➤ IoT projects are seldom green-field
➤ MQTT brokers must be integrated
into existing infrastructure (DB,
Message Queues, Microservices)
➤ Authentication & Authorization
Backend Applications
➤ Data Ingestion Backends often
need to scale linearly to cope with
incoming data
SCALING MQTT
A solution to the challenges for scaling MQTT
HIVEMQ OVERVIEW
➤ Enterprise MQTT Platform
➤ Elastic Clustering
➤ Linearly scalable
➤ Best-in-class Performance
➤ Open Source Plugin System
➤ Scalable horizontally & vertically
➤ > 1.000.000 MQTT connections
per broker possible
➤https://www.hivemq.com/
benchmark-10-million/
HIVEMQ CLUSTER ADVANTAGES
➤ Elimination of the Single Point
of Failure
➤ Sophisticated message
distribution across cluster
nodes
➤ Clients can connect to any
node to resume their sessions
➤ Linearly scalable
➤ High Availability due to
resilience and fault-tolerance
➤ Zero-Downtime Upgrades
HIVEMQ CLUSTER DETAILS
➤ Masterless Architecture
➤ Highly Resilient
➤ Designed for availability
➤ Elastic. You can add and remove nodes at
runtime
➤ Network partitions are supported
➤ Data distribution across cluster nodes
➤ Configurable Replica Count
➤ Self-Healing mechanisms when merging
network partitions
➤ No Zookeeper :-)
Broker 2 Broker 3
Broker 1
MQTT Broker Cluster
LIGHTWEIGHT MICROSERVICE COMMUNICATION
MQTT for devices AND microservices
Old Architecture
(Flipchart)
PROBLEMS AND PAINS
➤ Orchestration is part of the IoT device AND the
backend
➤ Multiple Steps involved in a business
booking on the client and for microservices
➤ Firmware Update needed for every change in
flow. IoT device updates are hard to deploy
➤ No “You build it you run it” for devices
➤ In case of orchestrating service: can’t send data
to client proactively
➤ Internal microservices need to be exposed to
the Internet
➤ Push and pull communication combined
Broker 2 Broker 3
Broker 1
MQTT Broker Cluster
New Architecture
(Flipchart)
Example:
IoT device -> Backend
Example:
Backend -> IoT device
Example:
Backend -> Backend
SHARED SUBSCRIPTIONS
What about Kafka?
+ = ❤
dc-square GmbH
www.dc-square.de
info@dc-square.de
Dominik
Obermaier
dominik.obermaier@dc-square.de
@dobermai
Get in touch
HiveMQ -
Enterprise MQTT Broker
www.hivemq.com
@hivemq

More Related Content

What's hot

MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT Dominik Obermaier
 
How mqtt 5 makes difficult io t use cases possible
How mqtt 5 makes difficult io t use cases possibleHow mqtt 5 makes difficult io t use cases possible
How mqtt 5 makes difficult io t use cases possibleFlorian Raschbichler
 
MQTT in the Internet of Things | Loop by Litmus Automation
MQTT in the Internet of Things | Loop by Litmus AutomationMQTT in the Internet of Things | Loop by Litmus Automation
MQTT in the Internet of Things | Loop by Litmus AutomationLitmusautomation
 
Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?Eurotech
 
Mqtt – a protocol for the internet of things
Mqtt – a protocol for the internet of thingsMqtt – a protocol for the internet of things
Mqtt – a protocol for the internet of thingsRahul Gupta
 
SSL Implementation - IBM MQ - Secure Communications
SSL Implementation - IBM MQ - Secure Communications SSL Implementation - IBM MQ - Secure Communications
SSL Implementation - IBM MQ - Secure Communications nishchal29
 
Building Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise ComputingBuilding Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise ComputingSilvioGiebl
 
HiveMQ + Kafka: The ideal solution for IoT MQTT data integration
HiveMQ + Kafka: The ideal solution for IoT MQTT data integrationHiveMQ + Kafka: The ideal solution for IoT MQTT data integration
HiveMQ + Kafka: The ideal solution for IoT MQTT data integrationMargarethaErber
 
Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of thingsCharles Gibbons
 
An IOT gateway Architecture using an MQTT bundle transport & LTP Convergence ...
An IOT gateway Architecture using an MQTT bundle transport & LTP Convergence ...An IOT gateway Architecture using an MQTT bundle transport & LTP Convergence ...
An IOT gateway Architecture using an MQTT bundle transport & LTP Convergence ...Alex Kritikos
 
Implementing Docker Load Balancing in Microservices Infrastructure
Implementing Docker Load Balancing in Microservices InfrastructureImplementing Docker Load Balancing in Microservices Infrastructure
Implementing Docker Load Balancing in Microservices InfrastructureDevSecOpsSg
 
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)Open Mobile Alliance
 
Webinar: The Software Matters in Open Networking
Webinar: The Software Matters in Open NetworkingWebinar: The Software Matters in Open Networking
Webinar: The Software Matters in Open NetworkingStorage Switzerland
 
Th hauge rina-workshop-sdn-virtualisation_neil
Th hauge rina-workshop-sdn-virtualisation_neilTh hauge rina-workshop-sdn-virtualisation_neil
Th hauge rina-workshop-sdn-virtualisation_neilICT PRISTINE
 
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....Marcin Bielak
 
Using Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersUsing Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersMirantis
 

What's hot (19)

MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
 
How mqtt 5 makes difficult io t use cases possible
How mqtt 5 makes difficult io t use cases possibleHow mqtt 5 makes difficult io t use cases possible
How mqtt 5 makes difficult io t use cases possible
 
MQTT in the Internet of Things | Loop by Litmus Automation
MQTT in the Internet of Things | Loop by Litmus AutomationMQTT in the Internet of Things | Loop by Litmus Automation
MQTT in the Internet of Things | Loop by Litmus Automation
 
Mqtt 5 meetup dortmund
Mqtt 5 meetup dortmundMqtt 5 meetup dortmund
Mqtt 5 meetup dortmund
 
Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?
 
Mqtt – a protocol for the internet of things
Mqtt – a protocol for the internet of thingsMqtt – a protocol for the internet of things
Mqtt – a protocol for the internet of things
 
MQTT 5 - What's New?
MQTT 5 - What's New?MQTT 5 - What's New?
MQTT 5 - What's New?
 
SSL Implementation - IBM MQ - Secure Communications
SSL Implementation - IBM MQ - Secure Communications SSL Implementation - IBM MQ - Secure Communications
SSL Implementation - IBM MQ - Secure Communications
 
Building Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise ComputingBuilding Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise Computing
 
HiveMQ + Kafka: The ideal solution for IoT MQTT data integration
HiveMQ + Kafka: The ideal solution for IoT MQTT data integrationHiveMQ + Kafka: The ideal solution for IoT MQTT data integration
HiveMQ + Kafka: The ideal solution for IoT MQTT data integration
 
Mqtt presentation
Mqtt presentationMqtt presentation
Mqtt presentation
 
Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of things
 
An IOT gateway Architecture using an MQTT bundle transport & LTP Convergence ...
An IOT gateway Architecture using an MQTT bundle transport & LTP Convergence ...An IOT gateway Architecture using an MQTT bundle transport & LTP Convergence ...
An IOT gateway Architecture using an MQTT bundle transport & LTP Convergence ...
 
Implementing Docker Load Balancing in Microservices Infrastructure
Implementing Docker Load Balancing in Microservices InfrastructureImplementing Docker Load Balancing in Microservices Infrastructure
Implementing Docker Load Balancing in Microservices Infrastructure
 
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)
IETF building block in the LwM2M Ecosystem (IoT World 2017 Workshop)
 
Webinar: The Software Matters in Open Networking
Webinar: The Software Matters in Open NetworkingWebinar: The Software Matters in Open Networking
Webinar: The Software Matters in Open Networking
 
Th hauge rina-workshop-sdn-virtualisation_neil
Th hauge rina-workshop-sdn-virtualisation_neilTh hauge rina-workshop-sdn-virtualisation_neil
Th hauge rina-workshop-sdn-virtualisation_neil
 
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
 
Using Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersUsing Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M users
 

Similar to Lightweight and scalable IoT Messaging with MQTT

Lightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTTLightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTTHiveMQ
 
Scaling MQTT - Webinar with Elastic Beam
Scaling MQTT - Webinar with Elastic BeamScaling MQTT - Webinar with Elastic Beam
Scaling MQTT - Webinar with Elastic BeamDominik Obermaier
 
EMQ Company Deck
EMQ Company DeckEMQ Company Deck
EMQ Company DeckEMQ
 
HiveMQ + Kafka - The Ideal Solution for IoT MQTT Data Integration
HiveMQ + Kafka - The Ideal Solution for IoT MQTT Data IntegrationHiveMQ + Kafka - The Ideal Solution for IoT MQTT Data Integration
HiveMQ + Kafka - The Ideal Solution for IoT MQTT Data IntegrationHiveMQ
 
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...HostedbyConfluent
 
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heavenKafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heavenDominik Obermaier
 
MQTT 5 - Why You Need It and Potential Pitfalls
MQTT 5 - Why You Need It and Potential PitfallsMQTT 5 - Why You Need It and Potential Pitfalls
MQTT 5 - Why You Need It and Potential PitfallsHiveMQ
 
Modernizing the Manufacturing Industry with Kafka and MQTT
Modernizing the Manufacturing Industry with Kafka and MQTT Modernizing the Manufacturing Industry with Kafka and MQTT
Modernizing the Manufacturing Industry with Kafka and MQTT Dominik Obermaier
 
HiveMQ Cloud Webinar
HiveMQ Cloud WebinarHiveMQ Cloud Webinar
HiveMQ Cloud WebinarHiveMQ
 
Best Practices for Streaming Connected Car Data with MQTT & Kafka
Best Practices for Streaming Connected Car Data with MQTT & KafkaBest Practices for Streaming Connected Car Data with MQTT & Kafka
Best Practices for Streaming Connected Car Data with MQTT & KafkaHiveMQ
 
HiveMQ Cloud - The Cloud Native IoT Messaging Layer
HiveMQ Cloud - The Cloud Native IoT Messaging LayerHiveMQ Cloud - The Cloud Native IoT Messaging Layer
HiveMQ Cloud - The Cloud Native IoT Messaging LayerDominik Obermaier
 
Introducing HiveMQ Cloud
Introducing HiveMQ CloudIntroducing HiveMQ Cloud
Introducing HiveMQ CloudMargarethaErber
 
How MQTT 5 Makes Difficult IoT Use Cases Possible
How MQTT 5 Makes Difficult IoT Use Cases PossibleHow MQTT 5 Makes Difficult IoT Use Cases Possible
How MQTT 5 Makes Difficult IoT Use Cases PossibleHiveMQ
 
MQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
MQTT.fx on HiveMQ Cloud Testing MQTT in the CloudMQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
MQTT.fx on HiveMQ Cloud Testing MQTT in the CloudHiveMQ
 
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)PeterNiblett
 
Debugging MQTT Client Communications With MQTT.fx and HiveMQ Cloud
Debugging MQTT Client Communications With MQTT.fx and HiveMQ CloudDebugging MQTT Client Communications With MQTT.fx and HiveMQ Cloud
Debugging MQTT Client Communications With MQTT.fx and HiveMQ CloudHiveMQ
 
Mqtt.fx on hive mq cloud
Mqtt.fx on hive mq cloudMqtt.fx on hive mq cloud
Mqtt.fx on hive mq cloudMargarethaErber
 
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQMachine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQHiveMQ
 
Design Like a Pro - Best Practices For IIoT 2016
Design Like a Pro - Best Practices For IIoT 2016Design Like a Pro - Best Practices For IIoT 2016
Design Like a Pro - Best Practices For IIoT 2016Inductive Automation
 
Design Like a Pro - Best Practices For IIoT
Design Like a Pro - Best Practices For IIoTDesign Like a Pro - Best Practices For IIoT
Design Like a Pro - Best Practices For IIoTInductive Automation
 

Similar to Lightweight and scalable IoT Messaging with MQTT (20)

Lightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTTLightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTT
 
Scaling MQTT - Webinar with Elastic Beam
Scaling MQTT - Webinar with Elastic BeamScaling MQTT - Webinar with Elastic Beam
Scaling MQTT - Webinar with Elastic Beam
 
EMQ Company Deck
EMQ Company DeckEMQ Company Deck
EMQ Company Deck
 
HiveMQ + Kafka - The Ideal Solution for IoT MQTT Data Integration
HiveMQ + Kafka - The Ideal Solution for IoT MQTT Data IntegrationHiveMQ + Kafka - The Ideal Solution for IoT MQTT Data Integration
HiveMQ + Kafka - The Ideal Solution for IoT MQTT Data Integration
 
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...
 
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heavenKafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
 
MQTT 5 - Why You Need It and Potential Pitfalls
MQTT 5 - Why You Need It and Potential PitfallsMQTT 5 - Why You Need It and Potential Pitfalls
MQTT 5 - Why You Need It and Potential Pitfalls
 
Modernizing the Manufacturing Industry with Kafka and MQTT
Modernizing the Manufacturing Industry with Kafka and MQTT Modernizing the Manufacturing Industry with Kafka and MQTT
Modernizing the Manufacturing Industry with Kafka and MQTT
 
HiveMQ Cloud Webinar
HiveMQ Cloud WebinarHiveMQ Cloud Webinar
HiveMQ Cloud Webinar
 
Best Practices for Streaming Connected Car Data with MQTT & Kafka
Best Practices for Streaming Connected Car Data with MQTT & KafkaBest Practices for Streaming Connected Car Data with MQTT & Kafka
Best Practices for Streaming Connected Car Data with MQTT & Kafka
 
HiveMQ Cloud - The Cloud Native IoT Messaging Layer
HiveMQ Cloud - The Cloud Native IoT Messaging LayerHiveMQ Cloud - The Cloud Native IoT Messaging Layer
HiveMQ Cloud - The Cloud Native IoT Messaging Layer
 
Introducing HiveMQ Cloud
Introducing HiveMQ CloudIntroducing HiveMQ Cloud
Introducing HiveMQ Cloud
 
How MQTT 5 Makes Difficult IoT Use Cases Possible
How MQTT 5 Makes Difficult IoT Use Cases PossibleHow MQTT 5 Makes Difficult IoT Use Cases Possible
How MQTT 5 Makes Difficult IoT Use Cases Possible
 
MQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
MQTT.fx on HiveMQ Cloud Testing MQTT in the CloudMQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
MQTT.fx on HiveMQ Cloud Testing MQTT in the Cloud
 
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
 
Debugging MQTT Client Communications With MQTT.fx and HiveMQ Cloud
Debugging MQTT Client Communications With MQTT.fx and HiveMQ CloudDebugging MQTT Client Communications With MQTT.fx and HiveMQ Cloud
Debugging MQTT Client Communications With MQTT.fx and HiveMQ Cloud
 
Mqtt.fx on hive mq cloud
Mqtt.fx on hive mq cloudMqtt.fx on hive mq cloud
Mqtt.fx on hive mq cloud
 
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQMachine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
 
Design Like a Pro - Best Practices For IIoT 2016
Design Like a Pro - Best Practices For IIoT 2016Design Like a Pro - Best Practices For IIoT 2016
Design Like a Pro - Best Practices For IIoT 2016
 
Design Like a Pro - Best Practices For IIoT
Design Like a Pro - Best Practices For IIoTDesign Like a Pro - Best Practices For IIoT
Design Like a Pro - Best Practices For IIoT
 

More from Dominik Obermaier

MQTT Deep Dive Workshop [GERMAN]
MQTT Deep Dive Workshop [GERMAN]MQTT Deep Dive Workshop [GERMAN]
MQTT Deep Dive Workshop [GERMAN]Dominik Obermaier
 
Securing MQTT - BuildingIoT 2016 slides
Securing MQTT - BuildingIoT 2016 slidesSecuring MQTT - BuildingIoT 2016 slides
Securing MQTT - BuildingIoT 2016 slidesDominik Obermaier
 
An introduction to MQTT - Pub / Sub for the masses
An introduction to MQTT - Pub / Sub for the massesAn introduction to MQTT - Pub / Sub for the masses
An introduction to MQTT - Pub / Sub for the massesDominik Obermaier
 
Pub/Sub for the masses- Ein Einführungsworkshop in MQTT [GERMAN]
Pub/Sub for the masses- Ein Einführungsworkshop in MQTT [GERMAN]Pub/Sub for the masses- Ein Einführungsworkshop in MQTT [GERMAN]
Pub/Sub for the masses- Ein Einführungsworkshop in MQTT [GERMAN]Dominik Obermaier
 
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014Dominik Obermaier
 
JAX 2014 - M2M for Java Developers with MQTT
JAX 2014 - M2M for Java Developers with MQTTJAX 2014 - M2M for Java Developers with MQTT
JAX 2014 - M2M for Java Developers with MQTTDominik Obermaier
 
Push! - MQTT for the Internet of Things
Push! - MQTT for the Internet of ThingsPush! - MQTT for the Internet of Things
Push! - MQTT for the Internet of ThingsDominik Obermaier
 
Eclipse Democamps 2013 - M2M for Java Developers with MQTT
Eclipse Democamps 2013 - M2M for Java Developers with MQTTEclipse Democamps 2013 - M2M for Java Developers with MQTT
Eclipse Democamps 2013 - M2M for Java Developers with MQTTDominik Obermaier
 
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...Dominik Obermaier
 
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013Dominik Obermaier
 

More from Dominik Obermaier (10)

MQTT Deep Dive Workshop [GERMAN]
MQTT Deep Dive Workshop [GERMAN]MQTT Deep Dive Workshop [GERMAN]
MQTT Deep Dive Workshop [GERMAN]
 
Securing MQTT - BuildingIoT 2016 slides
Securing MQTT - BuildingIoT 2016 slidesSecuring MQTT - BuildingIoT 2016 slides
Securing MQTT - BuildingIoT 2016 slides
 
An introduction to MQTT - Pub / Sub for the masses
An introduction to MQTT - Pub / Sub for the massesAn introduction to MQTT - Pub / Sub for the masses
An introduction to MQTT - Pub / Sub for the masses
 
Pub/Sub for the masses- Ein Einführungsworkshop in MQTT [GERMAN]
Pub/Sub for the masses- Ein Einführungsworkshop in MQTT [GERMAN]Pub/Sub for the masses- Ein Einführungsworkshop in MQTT [GERMAN]
Pub/Sub for the masses- Ein Einführungsworkshop in MQTT [GERMAN]
 
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
IoT with MQTT and Paho for Webpages - Eclipse Democamp München 2014
 
JAX 2014 - M2M for Java Developers with MQTT
JAX 2014 - M2M for Java Developers with MQTTJAX 2014 - M2M for Java Developers with MQTT
JAX 2014 - M2M for Java Developers with MQTT
 
Push! - MQTT for the Internet of Things
Push! - MQTT for the Internet of ThingsPush! - MQTT for the Internet of Things
Push! - MQTT for the Internet of Things
 
Eclipse Democamps 2013 - M2M for Java Developers with MQTT
Eclipse Democamps 2013 - M2M for Java Developers with MQTTEclipse Democamps 2013 - M2M for Java Developers with MQTT
Eclipse Democamps 2013 - M2M for Java Developers with MQTT
 
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
Bringing M2M to the web with Paho: Connecting Java Devices and online dashboa...
 
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
 

Recently uploaded

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Recently uploaded (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Lightweight and scalable IoT Messaging with MQTT

  • 1. LIGHTWEIGHT AND SCALABLE IOT MESSAGING WITH MQTT Dominik Obermaier | CTO @ HiveMQ
  • 4. Source IHS © 2016 IHS DEVICES ON THE INTERNET
  • 5. Key Industry Trend: IoT & Connectivity
  • 6. Introduction • HiveMQ CTO • Strong background in distributed and large scale systems architecture • OASIS MQTT TC Member • Author of “The Technical Foundations of IoT” • Conference Speaker • Program committee member for German and international IoT conferences Dominik Obermaier @dobermai
  • 8.
  • 9. IOT CHALLENGES ➤ Unreliable communication channels (e.g. mobile) ➤ Constrained Devices ➤ Low Bandwidth and High Latency environments ➤ Bi-directional communication required ➤ Security ➤ Instantaneous data exchange
  • 10. HTTP? ➤ Most popular web protocol ➤ Designed for the human web ➤ Request / Response based ➤ Document centric ➤ No Quality of service ➤ Stateless ➤ Text based (binary with HTTP/2) ➤ No Push capabilities ➤ Not possible to get notified when a client is offline
  • 11. CoAP
  • 12.
  • 13.
  • 14. WHAT IS MQTT? ➤ IoT Messaging Protocol ➤ Minimal Overhead ➤ Publish / Subscribe ➤ Easy ➤ Binary ➤ Data Agnostic ➤ Designed for reliable communication over unreliable channels
  • 15. USE CASES ➤ Push Communication ➤ Unreliable communication channels (e.g. mobile) ➤ Constrained Devices ➤ Low Bandwidth and High Latency environments ➤ Communication from backend to IoT device ➤ Lightweight backen communication
  • 16. PUBLISH / SUBSCRIBE Scalable communication paradigm for the IoT
  • 17. PUBLISH / SUBSCRIBE EXPLAINED
  • 18. MQTT PUB/SUB ADVANTAGES ➤ Space decoupling ➤ Time Decoupling ➤ Synchronization Decoupling ➤ Message filtering based on subjects (topics) ➤ Push communication ➤ Dynamic Topics
  • 19. PROTOCOL DETAILS ➤ MQTT requires TCP/IP ➤ IPv4 and IPv6 supported ➤ Also works over websockets ➤ Persistent TCP connections ➤ Heartbeat mechanism ➤ Clean & Persistent Sessions ➤ QoS levels for message delivery guarantees ➤ TLS in the mix for professional deployments MQTT TCP IP 5-7 ISO/OSI Layer 4 ISO/OSI Layer 3 ISO/OSI Layer
  • 20. SCALING MQTT The journey to millions of devices
  • 21. CHALLENGE 1: HUGE AMOUNT OF TCP CONNECTIONS ➤ MQTT uses persistent TCP connections ➤ Number of concurrent TCP connections limited (hard to scale > 1-2 Million on a single machine) ➤ “Reconnect Storms”
  • 22. CHALLENGE 2: SECURITY ➤ TLS for secure communication ➤ TLS handshake is resource intensive ➤ Brokers accessible over the Internet ➤ Scalable backend systems for authentication & authorization needed
  • 23. CHALLENGE 3: MQTT IS STATEFUL ➤ MQTT allows sessions ➤ Subscriptions, Queued Messages, Message Flow remembered for offline client ➤ Retained Messages for every topic possible (dynamic topics!)
  • 24. CHALLENGE 4: HIGH AVAILABILITY ➤ MQTT Brokers are a single point of failure ➤ Cloud Environments WILL fail ➤ Bridged Brokers (brokers that are chained via MQTT) do not support session migration
  • 25. CHALLENGE 5: BACKEND CONNECTIVITY ➤ IoT projects are seldom green-field ➤ MQTT brokers must be integrated into existing infrastructure (DB, Message Queues, Microservices) ➤ Authentication & Authorization Backend Applications ➤ Data Ingestion Backends often need to scale linearly to cope with incoming data
  • 26. SCALING MQTT A solution to the challenges for scaling MQTT
  • 27. HIVEMQ OVERVIEW ➤ Enterprise MQTT Platform ➤ Elastic Clustering ➤ Linearly scalable ➤ Best-in-class Performance ➤ Open Source Plugin System ➤ Scalable horizontally & vertically ➤ > 1.000.000 MQTT connections per broker possible
  • 29. HIVEMQ CLUSTER ADVANTAGES ➤ Elimination of the Single Point of Failure ➤ Sophisticated message distribution across cluster nodes ➤ Clients can connect to any node to resume their sessions ➤ Linearly scalable ➤ High Availability due to resilience and fault-tolerance ➤ Zero-Downtime Upgrades
  • 30. HIVEMQ CLUSTER DETAILS ➤ Masterless Architecture ➤ Highly Resilient ➤ Designed for availability ➤ Elastic. You can add and remove nodes at runtime ➤ Network partitions are supported ➤ Data distribution across cluster nodes ➤ Configurable Replica Count ➤ Self-Healing mechanisms when merging network partitions ➤ No Zookeeper :-) Broker 2 Broker 3 Broker 1 MQTT Broker Cluster
  • 31. LIGHTWEIGHT MICROSERVICE COMMUNICATION MQTT for devices AND microservices
  • 32.
  • 34. PROBLEMS AND PAINS ➤ Orchestration is part of the IoT device AND the backend ➤ Multiple Steps involved in a business booking on the client and for microservices ➤ Firmware Update needed for every change in flow. IoT device updates are hard to deploy ➤ No “You build it you run it” for devices ➤ In case of orchestrating service: can’t send data to client proactively ➤ Internal microservices need to be exposed to the Internet ➤ Push and pull communication combined Broker 2 Broker 3 Broker 1 MQTT Broker Cluster
  • 35.