How to connect millions of devices every day
Cloud CommuteJuly 19, 2024x
21
00:29:0426.62 MB

How to connect millions of devices every day

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