In this episode of the Cloud Commute Podcast, Chris Engelbert talks with Dominik Obermaier, CTO and co-founder of HiveMQ. They delve into the technical aspects of MQTT, a lightweight communication protocol designed for the Internet of Things (IoT), and much more.
In this episode of Cloud Commute, Chris and Dominik discuss:
- Introduction to HiveMQ and MQTT for IoT and automotive industries
- Scaling challenges of MQTT and its advantages over traditional messaging systems
- HiveMQ's role in mission-critical systems and industrial IoT applications
- The future of unified namespaces and connecting physical assets with cloud infrastructure
Interested to learn more about the cloud infrastructure stack like storage, security, and Kubernetes? Head to our website (www.simplyblock.io/cloud-commute-podcast) for more episodes, and follow us on LinkedIn (www.linkedin.com/company/simplyblock-io). You can also check out the detailed show notes on Youtube (www.youtube.com/watch?v=BK55D6olTw4).
You can find on Dominik Obermaier X @HiveMQ and Linkedin: /dobermai.
About simplyblock:
Simplyblock is an intelligent database storage orchestrator for IO-intensive workloads in Kubernetes, including databases and analytics solutions. It uses smart NVMe caching to speed up read I/O latency and queries. A single system connects local NVMe disks, GP3 volumes, and S3 making it easier to handle storage capacity and performance. With the benefits of thin provisioning, storage tiering, and volume pooling, your database workloads get better performance at lower cost without changes to existing AWS infrastructure.
👉 Get started with simplyblock: https://www.simplyblock.io/buy-now
🏪 simplyblock AWS Marketplace: https://aws.amazon.com/marketplace/seller-profile?id=seller-fzdtuccq3edzm
01:00:00
Every architect who would designs
01:00:02
a resilient system knows that the
01:00:04
queuing system have one
01:00:06
big advantage, your decoupler load
01:00:08
systems in order for scale, but
01:00:10
usually queuing systems
01:00:11
have one big issue.
01:00:14
What are you going to do if your
01:00:15
central point, your central
01:00:16
communication broker is going
01:00:18
down or is slow or whatever, or
01:00:21
you have a service degradation.
01:00:26
You're listening to simplyblock's Cloud Commute Podcast,
01:00:28
your weekly 20 minute
01:00:30
podcast about cloud technologies,
01:00:31
Kubernetes, security,
01:00:33
sustainability, and more.
01:00:35
Hello, one, welcome back to this
01:00:36
week's episode of simplyblock's,
01:00:38
cloud commute podcast today.
01:00:40
As always another
01:00:41
incredible guest.
01:00:43
You know me, I say that every time
01:00:44
I don't have stupid guests.
01:00:46
Why would I invite them anyways?
01:00:48
Right.
01:00:48
So another incredible guest,
01:00:50
Dominik from HiveMQ, a nice
01:00:53
German startup in
01:00:54
a slightly different area than we
01:00:57
normally have. So
01:00:59
we, most of the time
01:01:00
we talk about security, cloud,
01:01:02
stuff like that.
01:01:03
So there is cloud aspect to that
01:01:06
and I'm bet Dominik
01:01:07
will introduce that.
01:01:10
But HiveMQ is mostly like MQTT.
01:01:13
So Dominik, maybe just introduce
01:01:16
yourself and say a
01:01:17
few words about you.
01:01:18
Who are you?
01:01:18
Where are you from?
01:01:19
What you do and
01:01:20
we'll take it from there.
01:01:23
Yeah, thank you, Chris.
01:01:24
And thank you for
01:01:24
inviting me to this podcast.
01:01:27
So my name is Dominik Obermaier.
01:01:28
I am CTO and one of the founders
01:01:30
of a company called HiveMQ.
01:01:32
We're a company, as you mentioned,
01:01:34
originated in Germany, but these
01:01:36
days we're all
01:01:38
around the globe, mainly focusing
01:01:39
on the US market and the
01:01:41
European market.
01:01:43
And we built the, we believed the
01:01:48
world's best MQTT platform.
01:01:50
And this is mainly used by
01:01:52
customers, many Fortune 500
01:01:54
customers that are building
01:01:56
use cases from connected cars to
01:01:59
logistics use cases, to big energy
01:02:01
grids, to industrial
01:02:03
IoT.
01:02:04
And so we, we're truly a
01:02:06
horizontal platform that's
01:02:08
connecting like devices,
01:02:11
physical assets
01:02:11
with our digital world.
01:02:14
And we do that
01:02:15
since quite some time.
01:02:16
So we started the company in 2012.
01:02:20
We're mainly focusing on the
01:02:21
automotive space.
01:02:22
So if one of our listeners
01:02:25
happens to drive in a German car,
01:02:28
you are either using
01:02:30
HiveMQ while you drive, or you
01:02:32
very likely would have HiveMQ
01:02:33
being used while the car
01:02:34
was manufactured.
01:02:36
The same is true for most US cars.
01:02:38
And it's also a bit
01:02:41
true for Asian cars.
01:02:43
So we really did a
01:02:44
lot of work here.
01:02:46
And in the last few years, we
01:02:47
focused also mainly on logistics.
01:02:49
So if one of the listeners
01:02:51
sometimes gets a parcel
01:02:52
delivered, also chances are that
01:02:54
HiveMQ is being used while the
01:02:57
parcel was delivered.
01:02:59
And we do a ton of manufacturing,
01:03:02
especially in the US these days.
01:03:04
And the key words here are really
01:03:06
the unified namespace.
01:03:08
And I'm happy to talk about this
01:03:09
this day, what it means.
01:03:11
But yeah, we do a lot of
01:03:13
technology, deep technology, we do
01:03:14
pretty high scale.
01:03:16
And yeah, I happen to
01:03:20
run all the product and the
01:03:21
engineering at this company.
01:03:24
All right.
01:03:25
You basically already answered the
01:03:27
next question, which was like,
01:03:28
what is HiveMQ?
01:03:29
But that's fine.
01:03:30
That's how it works.
01:03:31
That's how we roll.
01:03:33
So, you mentioned that you're
01:03:35
pretty big or that you basically
01:03:37
started with like the
01:03:38
automotive industry.
01:03:40
I think, I mean, I know a little
01:03:42
bit more about MQTT than probably
01:03:44
a lot of the audience.
01:03:47
And I think the automotive
01:03:48
industry makes a lot of sense for
01:03:50
that reason, because you
01:03:51
have like a lot of different,
01:03:52
well, you could call them devices
01:03:55
with a lot of different
01:03:56
data points.
01:03:57
But maybe you can give a
01:03:59
little bit of an introduction,
01:04:00
like why is MQTT different
01:04:03
from platforms like Kafka or NATS
01:04:06
or stuff like that. Stuff that
01:04:08
you probably know
01:04:10
more commonly when you work on
01:04:12
cloud infrastructures.
01:04:13
Yeah, right.
01:04:15
So let me quickly introduce MQTT
01:04:16
for the listeners who haven't
01:04:18
heard of that or are
01:04:21
really trying to
01:04:22
understand where does it fit in.
01:04:25
So MQTT is a technology, a
01:04:27
standardized technology.
01:04:28
And we tend to think about
01:04:31
it, that what HTTP is for the
01:04:34
human web, MQTT is for the
01:04:36
Internet of Things.
01:04:37
So on its core, it's a
01:04:39
communication protocol.
01:04:40
It's an open
01:04:40
communication protocol.
01:04:42
Obviously, all communication
01:04:43
protocols should be open.
01:04:45
In a sense, it is an ISO standard.
01:04:47
It's not like a single
01:04:49
implementation or single vendor
01:04:50
implementation standard.
01:04:52
For example, I mean, if you look
01:04:54
at Kafka as an example, there
01:04:55
seems to be a few companies
01:04:57
who are driving that, but it's not
01:04:58
an ISO standard.
01:05:00
But still you can be compatible,
01:05:01
of course, but, but like the
01:05:03
underlying protocol can
01:05:04
change.
01:05:07
Basically, so this is an ISO
01:05:08
standard similar to most
01:05:10
communication standards.
01:05:11
And it's been around for
01:05:13
quite some time.
01:05:14
So it's been around since 1999.
01:05:16
So which is really, really old
01:05:18
for a computer age.
01:05:21
And it's really interesting.
01:05:23
It got a renaissance since 2010.
01:05:26
So MQTT was a technology that's
01:05:28
based in a publish, subscribe
01:05:29
architecture pattern.
01:05:31
So many of the listeners who are
01:05:32
familiar with enterprise
01:05:33
architectures might know
01:05:34
about queues and these kinds
01:05:37
of things that would be couple
01:05:38
actual communication.
01:05:40
And MQTT is also one of these
01:05:42
invented in 1999 for one specific
01:05:44
program, monitoring
01:05:46
and acting for oil pipelines.
01:05:49
And if you think about it, oil
01:05:50
pipelines go
01:05:53
through very remote areas.
01:05:56
Where, especially in 1999, you
01:05:58
definitely do not have mobile
01:06:00
connectivity and forget
01:06:01
that you have any kind of cable.
01:06:02
This means satellite communication
01:06:04
was the main way to connect stuff.
01:06:07
And even today, satellite
01:06:08
communication is
01:06:09
extremely expensive.
01:06:11
Back then it was
01:06:12
even more expensive.
01:06:14
And so the task was
01:06:16
for two gentlemen.
01:06:18
One of them is called Arlen Nipper,
01:06:20
who's another
01:06:21
company called Cirrus Link,
01:06:22
and the other one is Andy
01:06:24
Stanford-Clark, who is
01:06:28
working with IBM.
01:06:30
And they invented a communication
01:06:32
protocol that saves bandwidth and
01:06:34
also gives an almost
01:06:36
like, quote-on-quote, real time
01:06:37
experience, even over
01:06:38
various low networks.
01:06:40
And then it was pretty much
01:06:42
buried, was not used a lot outside
01:06:45
of IBM projects.
01:06:46
In 2010, IBM decided to make it
01:06:48
open, like just open a standard,
01:06:51
promise to don't sue
01:06:52
anybody who's
01:06:53
implementing a specification.
01:06:55
And it was not a real
01:06:57
standard, right?
01:06:58
So it's not an open standard.
01:06:59
And then, you have to make a very
01:07:02
long story short.
01:07:04
We decided that this is exactly
01:07:07
the kind of technology that we
01:07:09
believe can power the
01:07:12
Internet of Things because the web
01:07:13
technology really don't work for
01:07:15
many reasons when it
01:07:16
comes to a lot of devices.
01:07:18
And I mean, anybody who's who ran
01:07:21
some Java enterprise applications
01:07:23
with tens of thousands
01:07:24
of users knows the struggle.
01:07:27
The struggle is real.
01:07:27
And now I mentioned you have
01:07:28
multiple millions of devices
01:07:30
connected 24/7
01:07:32
without downtime
01:07:33
on the single deployment.
01:07:34
So it's a really tough problem.
01:07:36
And we believe MQTT is
01:07:37
the solution for this.
01:07:38
So we build a company around this,
01:07:40
and it worked pretty well.
01:07:42
And so, yeah,
01:07:45
since then it got an ISO standard.
01:07:48
I helped also with that together with
01:07:49
some other gentlemen at IBM and
01:07:51
other companies.
01:07:53
And yeah, and since 2016
01:07:55
or 2017, also the big cloud
01:07:57
vendors, Microsoft as
01:07:59
well as AWS, pick picked it up with
01:08:02
their own version, with their own
01:08:04
support and backed in a
01:08:07
bit more preliminary.
01:08:08
This is also a pretty specific
01:08:09
that support the specification.
01:08:13
And this is where
01:08:14
MQTT really goes from a niche use
01:08:16
case technology to a
01:08:18
mainstream technology
01:08:19
that's being used every day.
01:08:21
But all of your listeners for
01:08:22
pretty much everything that's
01:08:24
connected with a physical
01:08:26
device to a data center.
01:08:28
Chances are that you use MQTT
01:08:30
without even
01:08:31
knowing similar to that.
01:08:32
You don't know that
01:08:32
you use HTTP every day.
01:08:33
That's interesting.
01:08:34
I didn't know the history of MQTT.
01:08:36
I knew it was like super old, but
01:08:38
the oil industry, that
01:08:40
was news to me.
01:08:41
But it makes sense.
01:08:42
As you said, even today, MQTT
01:08:45
compared to like the other
01:08:46
things that I mentioned,
01:08:47
like Kafka stuff, is like a
01:08:49
super, super lightweight protocol
01:08:51
because it is designed,
01:08:53
or that's why it is used in the,
01:08:55
in the IoT
01:08:58
industry so much because it
01:09:00
is so lightweight.
01:09:00
It is low overhead, works on slow
01:09:03
connections and,
01:09:05
and, all of that.
01:09:06
And it's specifically designed for
01:09:08
like scaling out in terms of the
01:09:12
numbers of connected
01:09:13
devices.
01:09:14
And HiveMQ did some magic to
01:09:16
make it even broader.
01:09:19
Yeah.
01:09:19
I mean, I've used MQT in the past
01:09:21
and I've tried some other tools
01:09:22
and they all have their
01:09:25
issues.
01:09:26
So, yeah.
01:09:27
Yeah.
01:09:27
This is very interesting.
01:09:28
Like, especially the scaling part
01:09:29
was, I mean, MQTT
01:09:31
itself has a few problems.
01:09:32
Like if you look at the
01:09:33
specification itself, like the
01:09:35
most obvious one is and everybody,
01:09:38
every architect who would designs
01:09:41
a resilient system knows that the
01:09:43
queuing system have one
01:09:45
big advantage, your decoupler load
01:09:47
systems in order for scale, but
01:09:49
usually queuing systems
01:09:50
have one big issue.
01:09:53
What are you going to do if your
01:09:54
central point, your central
01:09:55
communication broker is going
01:09:57
down or is slow or whatever, or
01:09:59
you have a service degradation.
01:10:01
And so this is, I think one of the
01:10:03
reasons why MQTT really never
01:10:05
picked up in the enterprise,
01:10:08
let's say for enterprise
01:10:10
customers, because I mean, they're
01:10:13
were open source brokers out there.
01:10:14
So today, like many people get
01:10:16
started with
01:10:16
something called Mosquito.
01:10:18
You can on any Linux machine, you
01:10:19
can get it as open source.
01:10:20
It's awesome.
01:10:21
It's small.
01:10:23
Roger Light, who was one of
01:10:25
the first people actually
01:10:26
implementing MQTT outside of
01:10:29
IBM and he's still
01:10:30
doing this to this day.
01:10:31
So this is great.
01:10:33
He did such a great service to the
01:10:34
community and to everybody by
01:10:36
doing this, maintaining
01:10:36
it super small, super lightweight.
01:10:39
And there is also
01:10:40
other software out there.
01:10:42
But what really was one of the
01:10:43
problems we discovered is that if you
01:10:45
run around this in a
01:10:47
mission critical system, like in a
01:10:48
connected calculate
01:10:49
form or in a factory.
01:10:51
So for example, a public case
01:10:52
study we have is Mercedes-Benz
01:10:54
since 2014, they run HiveMQ
01:10:56
in their factories.
01:10:57
They cannot go down.
01:10:59
So you don't have a
01:11:00
maintenance window.
01:11:02
You cannot update
01:11:03
the software easily.
01:11:04
And there is one real big problem
01:11:07
with MQTT in itself.
01:11:10
It has standing TCP connections,
01:11:12
similar to, I mean, most people
01:11:13
know their smartphone.
01:11:15
They have a push notification
01:11:15
service, either Apple
01:11:17
or Android and so on.
01:11:19
And how these things work is they
01:11:21
have an open TCP connection connected to a cloud at
01:11:22
all times, which allows the cloud
01:11:26
pretty much to push data
01:11:27
immediately to a device with a
01:11:30
very low latency.
01:11:31
So you don't need
01:11:32
to poll the data.
01:11:34
The problem here is from a tech
01:11:36
standpoint, a same TCP connection
01:11:39
is very hard to scale
01:11:40
to big numbers.
01:11:43
And the second thing is what's
01:11:45
happening if you update things.
01:11:48
So this can lead to
01:11:50
service disruptions.
01:11:51
And so what we built was we pretty
01:11:53
much invented clustering for MQTT.
01:11:57
And this was much harder, like in
01:11:59
hindsight, much, much harder than
01:12:00
we thought, much,
01:12:01
much harder.
01:12:03
But once we got it right, this
01:12:04
really helped us immediately get
01:12:06
to big customers.
01:12:08
As I said, all of the German
01:12:10
carmakers reached out to us.
01:12:14
And yeah, since then, we were
01:12:15
pretty much in all the connected car
01:12:17
platforms for most
01:12:18
companies on the globe.
01:12:19
Because it's a
01:12:20
really, really hard problem.
01:12:21
And I mean, just to give you a few
01:12:23
things on scale, when I say scale.
01:12:25
I mean, scale is
01:12:26
usually something many companies
01:12:28
want to have scale.
01:12:30
Most people don't need scale, but
01:12:31
with IoT, you actually need scale.
01:12:34
One deployment, and
01:12:36
this is a single customer, one
01:12:38
installation on one cloud.
01:12:41
They have I just looked at the
01:12:43
numbers before this conversation.
01:12:45
They have more than 20 million
01:12:50
devices connected to the platform.
01:12:52
This means we talk about 20
01:12:53
million standing TCP connections.
01:12:56
They have billions of queued
01:12:58
messages at any point of time.
01:13:00
And they have 30 million topics.
01:13:05
So the topic is similar to if you
01:13:07
look at whatever Kafka also is a
01:13:08
concept of topics.
01:13:09
So they have 30
01:13:10
million individual topics.
01:13:12
And this is also where you asked
01:13:13
about other technologies.
01:13:14
MQTT has one thing that's very,
01:13:17
very different towards event
01:13:19
stream platforms like Kafka,
01:13:21
or traditional messaging systems
01:13:23
like JMS-based systems.
01:13:26
Or there's RabbitMQ,
01:13:29
for example, which has been
01:13:31
used a lot in enterprise
01:13:32
architectures.
01:13:33
These things are very queue
01:13:34
centric, usually.
01:13:36
And you don't have
01:13:37
millions of queues.
01:13:38
This is very unusual.
01:13:39
You usually have a few of them. Also with Kafka, it's I mean, you
01:13:43
can have a lot of topics, but
01:13:45
likely like whatever
01:13:47
hundreds of thousands or so.
01:13:49
But I've never seen a deployment
01:13:51
that has what there are tens of
01:13:52
millions of Kafka topics.
01:13:53
This is not what you want to do.
01:13:55
I think, Kafka
01:13:56
will not be your friend anymore.
01:13:59
No, it's like, site reliability
01:14:02
engineers hate if it if you put
01:14:05
so many topics into a Kafka.
01:14:07
It's not designed for that.
01:14:07
Like Kafka is great. Kafka is an
01:14:10
awesome, great big pipe.
01:14:13
And this is why it's so great for
01:14:15
system integrations,
01:14:16
especially on the IT side.
01:14:18
You don't have
01:14:20
30 million of
01:14:20
applications you connect with.
01:14:22
If you have microservices
01:14:23
communication module, Kafka, how
01:14:25
much do you have?
01:14:25
Whatever 10, 20, 100, 500.
01:14:28
But sometimes even more, some
01:14:30
companies are going
01:14:30
crazy in microservices.
01:14:32
But it's not like you would have
01:14:33
tens of thousands of individual
01:14:35
applications speaking to each
01:14:35
other. I mean, you can, but you uncommon.
01:14:40
With MQTT, tens of
01:14:42
thousands of devices, easy.
01:14:44
20 devices,
01:14:45
this is not even scale.
01:14:46
We don't even start
01:14:47
talking about you.
01:14:47
You can do this on a, I mean, on a
01:14:50
Raspberry Pi, and an
01:14:51
old generation once.
01:14:52
It's like not scale at all.
01:14:55
And so think of MQTT as many small
01:14:58
thin pipes to
01:14:59
individual deployments.
01:15:01
What's really important is
01:15:04
think of an actual use case, connected
01:15:05
car is great for that.
01:15:07
If you have 20 million cars
01:15:09
running around with actual people
01:15:10
in there, and you could
01:15:13
have mentioned functionality, like
01:15:14
I can open the car remotely with
01:15:16
basically use it as
01:15:17
a key.
01:15:18
This is a very popular use case,
01:15:19
this deals with cars.
01:15:21
And just imagine it works for
01:15:24
everybody else, but
01:15:25
for you, it doesn't work.
01:15:26
The problem is, this is an actual
01:15:28
user that will call your calls and
01:15:30
then says, "Your
01:15:30
software sucks.
01:15:31
Your car sucks.
01:15:32
Your premium brand is not
01:15:33
delivering on the
01:15:34
premium promise."
01:15:35
This means even if you
01:15:36
say, "Oh, you know what?
01:15:39
It's okay if I have whatever 0.1%
01:15:42
message loss, or if 1% of all
01:15:45
users have high latency."
01:15:47
No, it's not, because
01:15:47
these are actual users.
01:15:49
And so it's a really tough problem
01:15:53
to bring it to scale and also have
01:15:54
predictable latencies,
01:15:55
also the're high scale.
01:15:58
This would be a probably deep dive
01:16:00
conversation, but it's a very
01:16:01
challenging problem.
01:16:02
We worked many years on to
01:16:03
actually get this right.
01:16:05
And now it's the other thing.
01:16:07
With MQTT, you are not
01:16:09
in control of the client.
01:16:10
If you use Kafka or JMS or other
01:16:12
things, usually you have
01:16:14
end-to-end control, because it's
01:16:16
not based on open standards.
01:16:17
If you look at JMS as an example,
01:16:20
the Java Messaging Service for
01:16:21
people who are not familiar
01:16:22
with the term.
01:16:24
It's pretty much an API.
01:16:25
It doesn't dictate the
01:16:27
underlying wire protocol.
01:16:29
So if I build a JMS application
01:16:30
based on IBM software, chances are
01:16:33
that it will not work
01:16:34
out of the box
01:16:35
with Oracle software.
01:16:36
Although I don't need to change my
01:16:38
Java implementation if I use it,
01:16:40
but the underlying wire protocol,
01:16:43
the language changes.
01:16:46
And also with Kafka, Kafka has a
01:16:51
Kafka client and a Kafka server.
01:16:53
This means if you add, there's
01:16:54
more functionality on the Kafka
01:16:56
server available in new versions,
01:16:58
the Kafka client
01:16:59
can also be updated.
01:17:00
So it's an end-to-end system.
01:17:02
With MQTT,
01:17:04
everybody can implement it.
01:17:05
There's no
01:17:05
control over the client.
01:17:07
So the server implementation is a
01:17:09
really tough problem being
01:17:10
compatible with pretty much
01:17:11
every implementation out there you
01:17:13
don't even know about.
01:17:14
And this is another thing why it's
01:17:17
not easy to build
01:17:18
an MQTT platform.
01:17:20
You would be surprised to see what
01:17:22
kind of MQTT clients people are
01:17:23
building out there.
01:17:25
And there's a lot of behavior that
01:17:29
is not allowed to happen, but you
01:17:31
will see it happening
01:17:32
a lot.
01:17:33
I know.
01:17:34
Yeah.
01:17:36
It's funny, you
01:17:37
mentioned Mosquitto earlier.
01:17:38
I think Mosquitto is the to-go MQTT
01:17:42
thing for home assistant and
01:17:44
anything in general like
01:17:46
home automation deployments.
01:17:48
I'm actually running it myself.
01:17:51
The other thing that I think you
01:17:54
didn't really mention, which I
01:17:56
find very interesting about
01:17:57
MQTT, it's very, what is the term?
01:18:02
It's very resilient towards
01:18:04
disconnects as well.
01:18:06
If we're talking about connected
01:18:07
cars, there's a good chance, at
01:18:10
least if you're in Germany,
01:18:11
that you actually lose connection
01:18:12
to mobile networks for a bit, and
01:18:15
then you just reconnect.
01:18:18
For Kafka, that
01:18:19
would be a disaster.
01:18:22
It really hates that.
01:18:24
For MQTT, you
01:18:25
reconnect and you keep pushing.
01:18:28
Yeah.
01:18:29
You actually make
01:18:29
a great point here.
01:18:32
The ultimate test is if people,
01:18:35
especially here in Europe, or in
01:18:37
Germany in particular,
01:18:38
go to a German train system and
01:18:42
try to move there, you will
01:18:45
challenge every application.
01:18:47
Usually, MQTT connectivity works
01:18:50
much, much better than most others
01:18:52
because it's so slim
01:18:53
and lightweight.
01:18:54
As long as we have a TCP
01:18:55
connection that is not aborted,
01:18:58
you can still use it.
01:19:00
It's very, very efficient here.
01:19:03
You mentioned a
01:19:04
great feature of MQTT.
01:19:05
It was designed for programmers
01:19:08
that don't need to care about, "Am
01:19:10
I connected or not?"
01:19:13
You can resume with the
01:19:14
application if you have a
01:19:17
connection because
01:19:17
it queues locally,
01:19:19
it queues in a
01:19:20
client on the server.
01:19:24
It actually resumes.
01:19:25
The only thing you do is similar
01:19:27
to other messaging protocols.
01:19:28
You pretty much tell the
01:19:31
underlying transport, "Oh, I want
01:19:32
to have a fire and forget because
01:19:34
I truly don't care about the
01:19:35
data," or "I want to deliver it at
01:19:40
least once, but I don't
01:19:41
care if it's duplicate," or make
01:19:44
sure, your protocol makes sure
01:19:46
that the piece of data
01:19:48
arrives exactly once.
01:19:51
I think what I also didn't mention
01:19:53
is everything is in order.
01:19:55
The protocol makes sure that the
01:19:56
data is in order.
01:19:57
It would be for many
01:19:58
use cases a disaster.
01:20:00
Again, let's assume I would lock
01:20:02
and unlock my car.
01:20:03
If this message would arrive out
01:20:05
of order, I actually unlock lock.
01:20:08
I would lock it first and then
01:20:10
unlock it and then
01:20:11
move away from my car.
01:20:12
This would be pretty bad.
01:20:14
This might sound like trivial use
01:20:15
cases to you and people say,
01:20:17
"Yeah, you should do this
01:20:18
otherwise," and so on.
01:20:19
Yes, this is true, but the
01:20:21
guarantees the communication
01:20:22
protocol gives you is extremely
01:20:24
important.
01:20:26
I think the last one, what I want
01:20:28
to mention, what many people don't
01:20:30
really appreciate a
01:20:31
lot is if you go with, as an example,
01:20:33
MQTT, you can change your
01:20:35
implementation on the
01:20:36
server at any point of time.
01:20:38
As an example, if you are
01:20:40
building, again, a car and you
01:20:41
have for 10 to 15 years, you
01:20:43
have a very hard time actually
01:20:45
changing the software.
01:20:47
The interface, almost
01:20:49
API, it must be compatible.
01:20:53
In our case, if we don't do our
01:20:55
job properly and one of our
01:20:56
customers decides that they
01:20:58
are discontinuing their work with
01:20:59
us and replacing us with some
01:21:01
other protocol-compliant software,
01:21:04
they can do that
01:21:05
because there's no lock-in.
01:21:08
This is very different to most
01:21:09
messaging systems.
01:21:11
I remember when I started my
01:21:13
career, I was working with other
01:21:15
software, queuing software.
01:21:17
They were selling you actual
01:21:18
client implementations and so on
01:21:20
so that the business model really
01:21:22
was different.
01:21:23
You always had a lock-in effect.
01:21:26
MQTT is one of the few
01:21:28
communication protocols that tries
01:21:30
actually to be standards compliant
01:21:33
and not rely on the vendor.
01:21:35
I think this is great.
01:21:36
The reason why the internet is
01:21:37
great, the reason why we have all
01:21:38
this innovation is
01:21:39
because we built that
01:21:41
communication network as humans.
01:21:43
We call it internet, it's based on
01:21:44
open standards and so on.
01:21:46
This is also, I think, why MQTT
01:21:48
gets so much popularity.
01:21:50
We now see, by the way, what we
01:21:51
see 2010 to 2020 in
01:21:54
the IoT age, I would say.
01:21:58
We now see basically switching
01:22:01
towards industrial IoT inside
01:22:03
factories and all of these
01:22:06
legacy technology, all these
01:22:07
legacy protocols.
01:22:09
Vendors will sell you gladly their
01:22:14
client implementations for a lot
01:22:15
of old school proprietary
01:22:16
protocols just to connect things.
01:22:19
People already get fed up by that.
01:22:22
Why would you do that in 2024?
01:22:25
MQTT is now getting
01:22:27
a lot into factories.
01:22:28
We do a lot of work here.
01:22:30
If you look at Fortune 500
01:22:32
companies from pharma to
01:22:34
automotive to
01:22:35
package storing centers,
01:22:36
to logistics, discrete
01:22:38
manufacturing and process
01:22:39
manufacturing, all
01:22:41
of them are looking
01:22:43
to MQTT-based architectures.
01:22:46
The promise they are building is
01:22:47
what they call unified namespace.
01:22:49
It allows you finally to connect
01:22:51
all of your applications and
01:22:52
physical assets together
01:22:54
in a way that you can exchange
01:22:55
data without, number one, paying a
01:22:58
lot of money and without
01:23:01
actually waiting multiple months
01:23:02
or even years to get
01:23:04
some data flows changed.
01:23:06
This is something
01:23:07
that's really exciting.
01:23:08
MQTT now goes full circle from oil
01:23:10
pipelines, satellites, to cars and
01:23:14
connector toothbrushes
01:23:15
and whatnot, to actual factories,
01:23:18
and finally again,
01:23:20
back to oil pipelines.
01:23:21
Things go full
01:23:22
circle in this 20 years.
01:23:23
We already crossed
01:23:25
for 20 minutes mark.
01:23:26
That was super, super fast.
01:23:28
There's two questions I
01:23:29
want to ask you still.
01:23:31
Sorry for the audience.
01:23:32
It's going to be a longer episode.
01:23:34
Again, I think I've
01:23:36
never had the 20 minute mark.
01:23:39
First of all, you
01:23:41
can install it on-prem.
01:23:43
I think that was always an option,
01:23:44
but there's also HiveMQ Cloud.
01:23:47
We're a Cloud podcast, or also
01:23:49
Kubernetes podcast.
01:23:50
Does that run on Kubernetes?
01:23:53
So HiveMQ, we love Kubernetes.
01:23:58
On-premises, a lot of our
01:24:02
customers are
01:24:02
running it on Kubernetes.
01:24:03
If you look at modern connected
01:24:05
cloud platforms, a lot of them are
01:24:06
using Kubernetes.
01:24:09
HiveMQ Cloud itself, we have a
01:24:12
lot of Kubernetes expertise.
01:24:14
I cannot share too much about
01:24:15
this, but Kubernetes is a
01:24:17
first-class citizen
01:24:18
for everything we do.
01:24:20
We have a Kubernetes operator
01:24:21
that's pretty sophisticated.
01:24:25
What we do is we dog food
01:24:26
everything ourselves.
01:24:28
So also our own cloud runs on the
01:24:29
same technology that we
01:24:31
sell to our customers.
01:24:34
What companies are building is
01:24:35
this kind of
01:24:36
edge-to-cloud central nervous system.
01:24:38
You really want to
01:24:39
connect the data flows.
01:24:40
You can do that with
01:24:41
HiveMQ very easily.
01:24:45
By the way, for the listeners who
01:24:46
say, "You know what?
01:24:46
This MQTT thing looks great, but I
01:24:49
don't want to
01:24:49
install stuff at home."
01:24:51
We have something called HiveMQ
01:24:52
Cloud Serverless.
01:24:54
It's completely free,
01:24:55
no credit card required.
01:24:57
It's really like this is what we
01:24:59
give back to the community that
01:25:00
gave so much to us.
01:25:02
And it really helped us
01:25:03
also grow as a company.
01:25:04
This is our gift to the community.
01:25:06
It's free up to 100 devices.
01:25:08
You can connect whatever you want.
01:25:10
It will be free forever.
01:25:12
And you will even get some
01:25:14
integrations to other services.
01:25:15
I believe Kafka is
01:25:16
available in others.
01:25:17
So you can just hook it up, use
01:25:19
it, have an endpoint in the cloud
01:25:20
that's secure and
01:25:22
doesn't cost you a dime.
01:25:24
And it's probably the easiest way
01:25:25
to get started with MQTT.
01:25:27
Oh, that's cool.
01:25:27
I didn't know about that.
01:25:29
It was not around when I
01:25:30
look last at HiveMQ.
01:25:33
Good to know.
01:25:35
All right.
01:25:36
So final final question.
01:25:41
That is a thing.
01:25:43
What do you think, it's basically
01:25:45
always the last question, like
01:25:46
what do you think is
01:25:47
like the next big thing in terms
01:25:48
of cloud for you,
01:25:50
probably like message
01:25:51
communication, message-based
01:25:52
communication, database, AI?
01:25:57
I don't know.
01:25:58
Yeah.
01:25:58
So I try to keep it brief,
01:26:02
especially the AI thing
01:26:03
is what is interesting.
01:26:06
But I won't go into it.
01:26:07
I won't go into LLM and that thing.
01:26:08
I'm not going to say
01:26:09
my opinion on this.
01:26:12
What's really big is the whole
01:26:15
unified names of
01:26:16
this topic for me.
01:26:17
I'm really excited that companies
01:26:20
are thinking of making data
01:26:21
available to the
01:26:23
users that actually can benefit
01:26:24
from a data also of
01:26:25
data lakes and so on.
01:26:27
For the last, I mean, forever,
01:26:29
since I'm working in the
01:26:32
industry, everybody wants
01:26:35
to want to move the
01:26:35
data to the cloud.
01:26:37
And you have data lakes and all of
01:26:38
that and it's
01:26:39
great and it's awesome.
01:26:40
But actually making the data
01:26:43
available to the people on the
01:26:45
shop floors, working
01:26:46
every day and not only to data and
01:26:48
this is something
01:26:49
that's really, really
01:26:51
interesting for me.
01:26:52
And so it's about really spilling
01:26:53
a scum of central nervous system.
01:26:55
I really care about this.
01:26:56
I do see this as a really big
01:26:58
trend, even
01:26:59
outside of manufacturing.
01:27:00
We see it in the energy and the
01:27:02
energy and so on.
01:27:02
We don't see it in, let's say, the
01:27:04
traditional cloud technology
01:27:06
business so much.
01:27:09
I hear what the trends are.
01:27:10
I think there's other people who
01:27:11
can talk about it.
01:27:13
I really care about the customer
01:27:14
use cases and how the industries
01:27:17
are transforming.
01:27:18
I can just tell
01:27:18
you, I'm so excited.
01:27:20
If I look at, for example in
01:27:24
the energy grids,
01:27:25
how sustainable energy
01:27:26
grids are being built these days
01:27:28
to get us away
01:27:29
from, let's say, these
01:27:31
unsustainable way of
01:27:32
doing stuff on our earth.
01:27:35
This excites me when I see
01:27:36
customers we have are
01:27:38
deploying billions of
01:27:39
infrastructure just to get away
01:27:41
from coal and other things.
01:27:45
Saving energy, and it's humbling, very frankly,
01:27:48
to see that HiveMQ is
01:27:50
being used pretty much
01:27:51
managing those energy
01:27:52
grids and all of that.
01:27:54
So, yeah, it's not an IT trend,
01:27:55
but I'm very, very
01:27:57
thankful that we see with our
01:27:59
customer trends that we make our
01:28:01
world more livable place.
01:28:03
I think that is a perfect sentence
01:28:05
to end the show.
01:28:06
That is brilliant.
01:28:08
We all want to do something better
01:28:09
for the environment, I think.
01:28:12
We know our industry creates a lot
01:28:14
of, like, well, CO2
01:28:17
footprint and there's
01:28:18
ways to optimize that and I think
01:28:20
that is a big trend
01:28:22
that needs to go onwards.
01:28:24
All right, cool.
01:28:25
Yeah, as I said, we're
01:28:26
way over time already.
01:28:28
That doesn't matter though.
01:28:30
As long as people are listening
01:28:31
in, it's all fine.
01:28:33
Thank you, Dominik.
01:28:33
Thank you for being here.
01:28:35
That was a delightful chat.
01:28:38
And for the audience, you know
01:28:41
where you find us.
01:28:43
Same place, same time, next week.
01:28:46
I hope you're listening again.
01:28:47
Thank you very much.
01:28:48
Thank you, Dominik.
01:28:49
Thank you, Chris.
01:28:51
The cloud commute podcast is sponsored by
01:28:53
simplyblock your own elastic
01:28:54
block storage engine for the cloud.
01:28:56
Get higher IOPS and low predictable
01:28:58
latency while bringing down your
01:28:59
total cost of ownership.
01:29:01
www.simplyblock.io

