7 September, 2023

Why is flespi not in AWS, Azure or GCP?

The reasons behind the non-obvious choice: building an in-house server infrastructure over using the cloud giants.

Is flespi hosted in Microsoft Azure or Amazon AWS?” - this is the question we receive regularly from potential customers. The answer is often unexpected to them.

Flespi rents out its own racks at the data center and hand picks all the hardware components for its servers - CPUs, hard drives, RAM, etc. This is usually baffling to almost everyone, given the convenience cloud computing platforms offer these days (I can tell you it was really baffling to me personally too, when I joined the flespi team in 2020). In this article, I will explain flespi’s very deliberate and firm position on this infrastructure choice. 

Over the last decade the largest cloud computing platforms - Azure, AWS, GCP - have invested billions of marketing dollars to convince the general public in the technology sector that building out a hardware infrastructure in order to run a cloud-based solution is akin to using CD Drives or Nokia cell phones in 2023. And for the average technology company going with AWS, Azure or GCP is usually a smarter decision relative to burdening themselves with managing the server infrastructure. 

With the third-party cloud infrastructure, there are no upfront costs and no ongoing maintenance costs. The infrastructure is easy to scale up or down depending on the needs. There are strong security features that are natively built into the cloud infrastructure. The service is fully managed - there’s no need to invest in human resources to oversee it. So why is flespi not interested, when so many others are?

There are two key considerations that were critical in picking the path of managing our own infrastructure. One is to be able to provide service at an unbeatable price. Second is to create a differentiator relative to AWS, Azure and GCP in that flespi’s cost is reliably predictable. Let’s review these considerations in detail:

Unbeatable price

Flespi’s pricing is quite complex. The main reason behind this complexity is the wide range of use cases that flespi can be leveraged for. On the most basic level, flespi is a middleware that abstracts away the challenges around telematics data ingestion and decoding (typically called normalization). We effectively replace low-level device-to-server (and vice versa) communication with an API-based communication. 

On the most advanced level flespi can serve as a full-blown back-end. There are capabilities to store data in the high-performance time-series database, aggregate telematics messages into functional intervals, enrich and transform data, automate various actions, build dashboards, etc. We have numerous customers, who fully outsource their solution’s back-end to us and only develop and maintain user-facing web and mobile apps.

At scale, the per-unit cost of flespi comes out to somewhere between €0.10 - 0.20 per month for an absolute majority of the customers. Naturally, the most basic middleware use cases are at the low end of this range, whereas advanced back-end-oriented use cases are at the high end of the range. This pricing is unparalleled and the most aggressive in the industry.

If you look at the market for an API service to simplify telematics devices integration, you will see that there’s quite a range. The lowest cost we’ve come across in the past was $0.50 per device monthly, and on the high end we’ve seen $5 MSRP monthly price (we can’t mention the vendors, as that pricing is not public). Keep in mind that these prices are for hardware-specific API service that is equivalent to flespi’s basic middleware use case.

If flespi was hosted in third-party computing platforms, we would not be able to charge prices this competitive and run a sustainable business, as our infrastructure costs would be substantially higher. Our goal is to scale into many millions of connected devices over time by making it appealing to outsource to flespi non-differentiating back-end functionality in the IoT and telematics projects. Having recently reached 700K connected devices we are well on the way to achieving that in the coming years.

Cost predictability

There are plenty of horror stories on the Internet similar to the ones you see above (those are clickable screenshots in case you are interested to learn the details). A random mistake or logical inefficiency in the code can produce a skyrocketing bill. Just last week I had a conversation with a telematics start-up in the US. They hired an intern this summer to help with some feature experimentation. A few unfortunate tweaks in the code that ran overnight added close to a thousand dollars to their typical invoice! Sometimes appealing to customer support allows to reverse such charges. But, as you can imagine, there has to be a limit to that leniency on the part of the providers.

AWS, Azure, and GCP pricing models are based on computing resource utilization. This is often hard to measure from the outset. There are tariffication components based on allocated memory, network traffic, number of requests for Lambda functions, write rates for the databases, such as MongoDB, and many other “moving targets”.  Despite the availability of (quite complex) pricing calculators, developing accurate cost estimates is often extremely challenging. And you are never fully protected from runaway costs because of possible mistakes in the code, as shown above.

What’s different about flespi’s pricing is that it’s not based on hard-to-control computing resources. In flespi you strictly pay for the elements you create in the system, and don’t pay for the elements you don’t create, therefore there are no runaway costs. You added 5 channels to your account? That will add 5 x €40 = €200 to your bill. You deleted 6 streams? That will reduce your bill by 6 x €20 = €120. You assigned calculators to 1000 devices? 1000 x €0.02 = €20 will be added to your bill. Just remember to keep an eye on the restriction limits to ensure all functional modules perform without interruption. The key takeaway is that you can confidently and reliably predict your flespi costs.

This is not to suggest that flespi is a replacement for a cloud computing platform with numerous specialized services. In fact, many of our customers use one of those platforms in conjunction with flespi to create an optimal solution architecture for their custom projects. For those customers, flespi has very convenient connectors to easily pass pre-processed data to AWS, Azure, and GCP. But our strong recommendation is - always look for opportunities to run more data enrichmentaggregation, as well as automation tasks on flespi. Remember that you will sleep better knowing that you will never wake up to the surprise flespi bill.

BONUS CONTENT: If you are interested in learning more about flespi’s custom infrastructure, here is an article that goes over many technical details.

As I wrap up, I’d like to remind everyone about the flespi conference we will hold in Vilnius on September 12th. It will be an intense one-day event with the focus on technical details of flespi implementation and various practices to maximize the ROI. Representatives from the largest aftermarket telematics hardware companies Teltonika, Queclink, Ruptela, Concox/JimiIoT, Howen will also be present and will showcase their telematics products there. This will also be a great networking opportunity with other flespi customers. Register through your flespi.io account before it’s too late!