Restaurant Tech
Cloud & Infrastructure
Data Engineering

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

Stabilized a high-traffic search cluster under heavy load while reducing monthly infrastructure spend from $5,000 to $850.
Elasticsearch cluster optimization case study cover
Service

Cloud & Infrastructure

Industry

Restaurant & Hospitality

Tech stack

Elasticsearch, AWS, Kibana

ExperLabs
The Situation

A search cluster that cost too much and buckled under load

Restaurant technology 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 utilization 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.

MetricBeforeAfter
Cluster size12 nodes3 nodes
Monthly cost~$5,000/month~$850/month
CPU under loadUnpredictable spikesStable under heavy load
PerformanceDegraded at peakNo degradation at scale
ExperLabs
What We Built

Index-level optimization and cluster reconfiguration not a replatform

Rather than migrating to a different search technology, we optimized 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.

Elasticsearch cluster architecture diagram
The Results

83% cost reduction Zero performance trade-off.

The optimized cluster runs on 3 nodes at approximately $850 per month — down from 12 nodes at $5,000. CPU and memory utilization 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

~$50K/yr

Annualized 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
In-house booking automation, 70% to 90%+ success rate
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