VerneMQ 1.0, "Earth to Moon".

Earth to Moon CannonEarth to Moon Florida

Today, the VerneMQ Mission reaches an important milestone: The 1.0 release.

Wow. T minus 3...2...1... and there you go. It's very easy to make your Open Source product go 1.0, right? You just tag it "1.0" on Github and build new packages. But on the other hand, with a 1.0 release one has to shoulder the responsibility and take backward compatibility of interfaces, data storage formats, and cluster communication seriously.

Of course, you can never be perfect, which is the reason software evolves and goes from 1.0 to 2.0 and so on. You learn, you gain experience, and you get valuable feedback from customers, users, and the community. Also, there will always be new stuff coming up. One good example is the MQTT version 5 being drafted right now by the OASIS MQTT committee. And our backlog is already filled with a lot of features we'd like to implement to improve VerneMQ even more.

So... here it is: VerneMQ 1.0!

From the Earth to the Moon

We wanted to codename this release after Jules Verne's second novel "From the Earth to the Moon" to symbolize the VerneMQ Mission take off. Verne's novel was published in 1865, and it tells a pretty crazy science fiction story: shooting a space crew to the moon with a huge Columbiad space cannon, which of course is impossible, because you wouldn't survive a 100G acceleration. Other than that, Verne's story and calculations proved to be amazingly close to what happened only a century later when finally mankind set foot on the moon. They even named the Apollo 11 command module "Columbia" after Verne's space cannon.

This was almost 50 years ago. As for today, well, who knows what's possible in the age of SpaceX and Hyperloops... The sky is not the limit!

An industrial message broker with a modern approach

VerneMQ 1.0 is still all about the original design goal: build a robust, industrial grade IoT message broker with a modern approach to distributed systems engineering.

Some of our main design principles were and are the following:

  1. Keep it single protocol at the core

  2. Make it fault tolerant and distributed from the beginning

  3. Apply state-of-the-art research and technology

For 1 we chose MQTT, as one of the IoT standard protocols. For 2 we based the VerneMQ software architecture on top of the Erlang VM, known for its outstanding distribution features and soft real-time characteristics. For 3 we decided to rely on peer-to-peer technology for the built-in distributed storage layer. This enables master-less VerneMQ clusters without a single point of failure that can automatically recover from network partitions.

Even though the space of open source message brokers is a hard place to compete, we've put our hearts into it, and we hope VerneMQ may be the same cool and useful open source project to you as it is to us.

TL;DR

Mission 1.0 accomplished! We have built a robust broker with a focus on stability and a modern approach. It's clusterable, has incredible extension flexibility with plugins in Erlang, Lua, Elixir and WebHooks, and many additional non-standard features like shared subscriptions.

Forward, said the engineer!
André F. and the VerneMQ Mission folks