broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT...
Transcript of broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT...
![Page 1: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/1.jpg)
The journey of shifting the MQTT message broker HiveMQ to Kubernetes
Arnold Bechtoldt
v1
![Page 2: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/2.jpg)
Background
![Page 3: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/3.jpg)
Use Case: Fleet Management
3
Backend
MQTT Broker
Clients (Fleet)
![Page 4: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/4.jpg)
● MQTT clients are everywhere
● One fat pet (cluster)
● Manual MQTT broker deployment
● Painful up-scaling
● Antiqued configuration management
Design Flaws
4
![Page 5: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/5.jpg)
The Plan
![Page 6: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/6.jpg)
Docker!
6
![Page 7: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/7.jpg)
Docker + Kubernetes!
7
![Page 8: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/8.jpg)
● Stateless
● Web-based (HTTP interfaces)
● Cloud-ready
Kubernetes works best with an app that is ...
8
![Page 9: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/9.jpg)
● Stateless
● Web-based (HTTP interfaces)
● Cloud-ready
HiveMQ wasn‘t ...
9
![Page 10: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/10.jpg)
![Page 11: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/11.jpg)
● Already in use (for microservices)
● High flexibility
● A lot of knowledge and skills at inovex :-)
● Close collaboration with HiveMQ support
● Easy is not an option!
Kubernetes because ...
11
![Page 12: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/12.jpg)
Facing the Truth: Challenges
![Page 13: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/13.jpg)
● Existing mechanisms not cloud-ready
● Kubernetes API integration was needed
● We’ve created a new HiveMQ plugin
● Final completion & open sourcing by dc-square
Challenge: HiveMQ Cluster Discovery (1)
13
![Page 14: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/14.jpg)
● Cloud’s main language is HTTP
● MQTT works different
● TLS required
● Proxy protocol (v2) for authn & authz
Challenge: Loadbalancing Capabilities (2)
14
![Page 15: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/15.jpg)
● Health: Is it working properly?
● Readiness: Is it ready for clients/traffic?
● No smooth way to find out
● Log event available only
● New HTTP interface in the pipeline (WIP)
Challenge: Determining App Health/Readiness (3)
15
![Page 16: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/16.jpg)
● Kubernetes won’t simplify your IT architecture
● Applications must be verbose (see 12factor app guide)
● Your containers will die
● Overall troubleshooting becomes more complicated
● Already work in progress
Challenge: Missing HiveMQ Application Insights (4)
16
![Page 17: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/17.jpg)
Hands on: Demo
![Page 18: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/18.jpg)
Demo Time
18
You know what happens with live demos? Right, they always fail!
![Page 19: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/19.jpg)
Demo Time: Video!
19
youtu.be/Ly_f221O6Fo
![Page 20: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/20.jpg)
Arnold Bechtoldtinovex GmbH
github.com/bechtoldt youtube.com/inovexGmbH
arbe.io
Feedback & Questions:
sayat.me/arbe
![Page 21: broker HiveMQ to Kubernetes The journey of shifting the ... · Kubernetes won’t simplify your IT architecture Applications must be verbose (see 12factor app guide) Your containers](https://reader036.fdocuments.in/reader036/viewer/2022062607/604f196b86fbbe0e504ed402/html5/thumbnails/21.jpg)
Q&A