May 2019 was awesome in Belarus. Extremely green, sunny with daily temperatures at the comfortable 16-25°C range. The best month to concentrate on work and deliver the perfect product. And this is what we actually did.
We finished the month with 99.996% uptime. What is interesting is that we discovered that the stable Debian kernel (4.9) is no more stable on our load to the filesystems and refreshed Linux kernel from backports on all our servers. It means that all servers were out of production for a certain period of time and rebooted with the fresher kernel (4.19) that behaves much better. We managed to complete this operation with only 112 seconds of platform unavailability that occurred due to a human factor at the moment of dry running scripts for primary gateway replacement, and we promise to avoid this next time.
Just to note this in history, when I read this changelog article after retirement sitting in a rocking chair with a cup of coffee — on April 1 we had on the platform 11 200 registered devices, next month — on May 1 we had 48 800 devices (4x growth) and now, on June 1, we have 151 000 devices (3x growth). 12x times growth in two months on these volumes sounds incredible, but we managed with delivering zero problems to our users. I believe nobody using flespi via API even noticed that our load has dramatically increased. At least our clever bots continue running each minute performing the same tests with the same duration.
- I already wrote in April changelog about one big GPS tracking system currently migrating to flespi that actually brought us 100 000+ devices. So far everything goes smooth and I hope in the next two months they will release their new system in production running in parallel to the old one and will start the migration of users.
- In May we finally did it — we released an automatic real-time analytics engine — the one that will change everything you know about telematics data processing. The one that provides unbeatable capabilities to deliver cool applications on top of it at the shortest time possible. Currently, the system is running in experimental mode — we are tuning it and adding new features almost every day. Whenever you have any doubts or fail to understand if it is applicable for your projects, please shoot a question to the embedded flespi chat. We are here almost 24/7 ready to help you. By the way, we modified our terms of use page to include pricing and limitations for the analytics entities (calculators and assigned devices) and also updated pricing for subaccounts.
- Our dashboard tool — MQTT Tiles got some new widgets with custom mathematics supported, so it can visualize the results of the analytics engine. Later we will also add special telematics-oriented widgets to it — like track/location on the map, etc.
- To support developers making their first steps with flespi, we developed open-source HTTP stream handlers in a few programming languages. Please check the article for more details.
- For those who missed our universal configurator tool, we published a small video overview of it. The configurator is built on top of our universal PVM engine dealing with bidirectional protocol parsing. In May we added a lot of settings to various devices mostly by Teltonika, Queclink, and Concox. We also integrated the Suntech protocol and covered Topflytech devices OTA configurator with a nice article.
- By the way, our most long-running project focused on rewriting the heart of our gateway system — the PVM engine — is very close completion and last week we even installed it to work in production in parallel with the old engine. It means that we are already testing and tuning it and we see the light at the end of the tunnel.
In June we plan to continue delivering new features to the flespi analytics engine based on the feedback from its first users and tuning components of the platform to operate even better. Also at the end of the month, we should receive the first servers in our new rack in Russia and will start playing with them to make flespi closer to that part of the world and deliver our first configurable remote location for channels, storage, and MQTT Broker.