Under the Hood
Unparallel Tech Stack
✓ Fastest multi-thread programming language
✓ User-Friendly Frontend
✓ Report by exception, enterprise MQTT broker
✓ Managing all logs, unified log layer
We love lightweight, and after conducting several tests our CTO decided to use Golang. Now we are happy Gophers thanks to less overhead to our code and smaller memory footprints.
Another core value for MaestroHub, open architecture, you should play nice with others! Vue.js and Node.js are our charming team members that play great with Go.
Where are you storing all this data?
Well, MaestroHub stores only metadata of connections, instances, flows, etc. we are currently using MongoDB as our NoSQL DB.
Where is the magic?
The magic is Redis, probably MaestroHub is one of the rare applications that uses Redis this effectively from caching to queue, etc.
Lightweight, report by exception, edge-driven, and open architecture which are quite well-served with an enterprise MQTT Broker such as EMQX.
What drives self-diagnosis?
We keep all the metrics and thanks to Prometheus as multi-dimensional data model with time series data identified by metric name and key/value pairs we generate these beautiful insights.
It should not be that easy to go through logs especially since MaestroHub supports expressions. You are completely right! That’s why we have EFK in our stack as well. Fluentd unifies the log layer, Elasticsearch works its magic, Kibana navigates through Elasticsearch data and visualize.
What is exactly Horizontal Scaling?
Before we get into the details let’s detail how we deploy MaestroHub. MaestroHub runs in a Docker container on a Kubernetes cluster. Once again, we thank Google for sharing Kubernetes with the community as open source, such a great technology. Kubernetes clusters can be auto-scaled with KEDA (Kubernetes Event-Driven Autoscaling).
MaestroHub can be deployed on-prem moreover cloud-ready, so how are you managing continuous delivery?
On the cloud, it is easy but very hard to track the status of on-prem deployments. We came to the conclusion that MaestroHub needs to be a hybrid structure and most of our customers request on-prem deployments, so to maintain this we are using a multi-cluster management solution.
We utilize open-source technologies to fuel MaestroHub and MaestroHub fuels manufacturers’ decision-making with clean, contextualized information as unified namespace.