← All case studies

Futurepump: IoT Telemetry From Google Cloud to Stable Bare Metal

Industry
IoT: Solar Water Pumps
Location
United Kingdom
Workload
MQTT + TimescaleDB Telemetry

“Lithus made our setup much simpler, and it’s now far easier for our team to get things done. Moving off the big US cloud platforms was a bonus, and our costs haven’t changed in two years.”

Toby Hammond, CEO, Futurepump
600ms → 300msDashboard analytics and API query latency cut in half immediately after moving TimescaleDB from Google Cloud disks to local enterprise NVMe.
0%Price increase over more than two years on Lithus, after Google Cloud bills had been climbing by roughly 20% per year with regular spikes.
10,000sSolar-powered irrigation pumps in the field streaming continuous MQTT telemetry into high-availability PostgreSQL and TimescaleDB.

The Situation

Futurepump manufactures solar-powered irrigation pumps for smallholder farmers across developing countries, and tens of thousands of their pumps in the field stream continuous telemetry data back to a central pipeline for remote monitoring, warranty diagnostics, and fleet analytics.

Their ingestion and analytics platform was running on Google Cloud, where bills were growing by roughly 20% per year with frequent cost spikes as time-series data accumulated. Because Futurepump is a hardware and product company rather than an infrastructure shop, nobody on the team had the specialist cloud engineering time to diagnose why queries were slowing down or why monthly spend kept climbing.

What We Built

MQTT ingestion and high-availability TimescaleDB on local NVMe

We migrated Futurepump’s entire telemetry pipeline from Google Cloud to a multi-node European bare-metal cluster running our managed Kubernetes stack (RKE2 and Cilium). Incoming pump telemetry arrives through an MQTT broker, passes through Python and Django processing workers, and is stored in a high-availability PostgreSQL and TimescaleDB cluster managed by StackGres.

Time-series chunk scans and continuous aggregations across years of pump telemetry are heavily bound by disk I/O and memory. On Google Cloud, shared vCPUs and network-attached persistent disks throttled IOPS as the dataset grew. By allocating dedicated memory and running StackGres directly on local enterprise NVMe storage (OpenEBS ZFS-LocalPV and Mayastor NVMe-oF), we eliminated network-disk I/O wait and cut dashboard and analytics query latency in half, from 600ms down to 300ms, as soon as traffic switched over.

Pipeline observability and EU sovereignty

We deployed our full observability stack (Prometheus, Loki, and Grafana) alongside their Metabase analytics environment so Futurepump’s engineers can see queue depth, MQTT ingestion rates, and database performance in real time. Moving the platform from a US hyperscaler to ISO 27001-certified European data centres also simplified their data governance while locking in a flat monthly price that has not increased in over two years.

Before & After

AreaBefore (Google Cloud)After (Lithus Bare Metal)
Dashboard & query latency~600ms average query time on network-attached cloud disks~300ms (50% faster) on local enterprise NVMe storage
Monthly cost trajectoryGrowing by ~20% per year with unpredictable billing spikesFlat, predictable monthly rate with 0% increase over two years
Time-series databaseCloud-hosted database throttled by shared IOPS limitsHA StackGres PostgreSQL + TimescaleDB with dedicated RAM and NVMe
Pipeline visibilityLimited visibility into MQTT ingestion bottlenecks or slow queriesFull Prometheus, Loki, and Grafana observability with 24/7 engineering alerting
Data jurisdictionUS hyperscaler cloud platformISO 27001-certified European data centres with Lithus engineers on-call

Talk directly with an engineer who runs production clusters.

  1. 1Book a 30-minute call with one of our engineers to walk through your current stack
  2. 2Optionally share a recent cloud bill so we can model your exact hardware and savings
  3. 3Receive a costed migration plan, a fixed monthly price, and a candid view on whether we are a good fit

Locked into a cloud contract right now? Ask us to check back in 3, 6, or 12 months →