Restaurant Tech
Cloud & Infrastructure
Data Engineering

Elasticsearch cluster optimised from 12 nodes to 3, cutting infrastructure costs by 83%.

Stabilised a high-traffic search cluster under heavy load while reducing monthly infrastructure spend from $5,000 to $850.

Service
Cloud & Infrastructure
Industry
Restaurant & Hospitality
Tech stack
Elasticsearch, AWS, Kibana
Timeline
6-8 weeks
ExperLabs
The Situation

A search cluster that cost too much and buckled under load

Restaurant platform that processes high volumes of search queries across a large inventory of restaurant listings, reservations, and availability data. Their Elasticsearch cluster had grown to 12 nodes costing approximately $5,000 per month — but performance wasn't scaling proportionally. Under heavy traffic, CPU and memory utilisation spiked unpredictably, and the engineering team was spending time on firefighting rather than building product.

The root cause wasn't the volume of data — it was how the cluster had been configured over time. Index mappings had accumulated without review, shard and replica counts were set to defaults rather than tuned for actual query patterns, and field types were misaligned with their use cases.

Metric
Before
After
Cluster size
12 nodes
3 nodes
Monthly cost
~$5,000/month
~$850/month
CPU under load
Unpredictable spikes
Stable under heavy load
Performance
Degraded at peak
No degradation at scale
ExperLabs
What We Built

Index-level optimisation and cluster reconfiguration not a replatform

Rather than migrating to a different search technology, we optimised the existing Elasticsearch deployment at the configuration level. The work focused on three areas: index mapping review, cluster topology tuning, and field-type alignment with actual query patterns.

We audited every index, identified field types that were incorrectly mapped (e.g., fields stored as text but only ever used for exact-match filtering), and restructured mappings to align with real-world usage. Shard and replica counts were recalculated based on data volume and query load. Refresh intervals were tuned to balance indexing throughput with search latency. Node distribution was reconfigured so the cluster could handle the same load with fewer, right-sized nodes.

Better query performance
(lower latency)
Fewer, right-sized nodes (same load)
Lower infrastructure
costs
No replatform - built on existing Elasticsearch
The Results

83% cost reduction Zero performance trade-off.

The optimised cluster runs on 3 nodes at approximately $850 per month — down from 12 nodes at $5,000. CPU and memory utilisation remained stable under the same heavy-traffic loads that previously caused unpredictable spikes. No queries degraded. No functionality was lost. The engineering team gained back the time they were spending on cluster firefighting.

$
4,150
/mo

Monthly savings

~$
50
K
/yr

Annualised cost reduction

75
%

Fewer nodes to manage

Search · Data Engineering

ElasticSearch integration, 96% API response improvement

Search API response time from 2.5s to under 100ms.

25× faster
Platform Modernization

Legacy schema migration, 5M+ records, zero downtime

Reservation scheduling schema rebuilt for efficiency at scale.

Zero downtime
Software Engineering

In-house booking automation, 70% to 90%+ success rate

Replaced a third-party tool with a custom system built for their workflows.

90%+ success
Mobile Engineering

React Native to native iOS, 100% session-preserved migration

No re-login friction. No user disruption. Full migration.

100% success
ExperLabs
ExperLabs