Validation Lab · Coral on Azure Kubernetes Service · October 2026

How we reduced our own cluster’s machine bill by 58%

Before we ask anyone to trust Coral with their cluster, we run it on ours. In October 2026 we connected Coral to the Kubernetes cluster that runs Zoorik’s own development platform on Azure. Eight days later the cluster cost $154.76 a month instead of $368.65, and every app was still running.

12 October 2026 · Published by Zoorik

−58%machine bill

$213.89saved every month, about $2,567 a year

10 → 6CPU, on 2 machines instead of 3

8 daysfrom connecting Coral to the result

Coral is Zoorik’s Kubernetes cost optimization for AKS and EKS. It right-sizes apps, removes machines a cluster no longer needs, and rebalances onto cheaper machines, all within each app’s safety limits.

The starting point

Our development cluster runs Coral’s own API, our consoles and our deployment tooling. It is a typical small team cluster: a system machine that Azure requires, and two worker machines for the apps. Like most clusters, it was sized for safety, not for what the apps actually used.

StaysSystem machineAzure requires it$73.73 a month2 CPU
WorkerWorkerfor the apps$147.46 a month4 CPU
WorkerWorkerfor the apps$147.46 a month4 CPU

On 4 October 2026, when Coral was connected3 machines · 10 CPU · $368.65 a month

Connecting Coral

One zoorikctl command installed Coral’s agent in the cluster. Two days later we gave Coral permission to remove machines, in this cluster only. From then on Coral worked on its own, and we watched.

Workload optimization

Sets each app’s CPU and memory to what it really uses, and raises it when an app needs more.

Node optimization

Spots a machine the apps no longer need, moves the apps off it and removes it.

Rebalancing

Swaps machines for a cheaper set that still fits every app, new machine first.

What Coral did

Node optimization: a spare worker removed

6 Oct

Coral worked out that the apps would fit on fewer machines. It moved them to the remaining machines and removed one 4-CPU worker, on its own, in under 10 minutes. Nobody switched anything on. Apps that run a single copy restarted once on another machine, and every app was running again afterwards.

StaysSystem machine$73.73 a month
StaysWorker$147.46 a month
RemovedWorker$147.46 a month−$147.46 a month
−$147.46 a month

Workload optimization: apps sized to what they use

from 8 Oct

We switched workload optimization to automatic. By 12 October Coral had right-sized 14 of the cluster’s apps. Most were reserving more than they used; one app needed more memory, and Coral gave it more.

Less reserved, more room on every machine

Rebalancing: one click, a cheaper machine

12 Oct

With one click, Coral swapped the remaining worker for a cheaper machine of the same size, chosen from Azure’s prices. Azure built the new machine in under 2 minutes; Coral moved the apps one copy at a time and then removed the old machine. 8 minutes 36 seconds from start to finish.

BeforeWorker4 CPU, Intel$147.46 a month
AfterNew worker4 CPU, AMD, same size$81.03 a month
−$66.43 a month

How the apps came through

Moving an app to another machine means stopping it in one place and starting it in another. Here is what that meant for our apps during the rebalance on 12 October, measured from the moment the old copy stopped to the moment the new one was ready.

Apps that run a single copy: each restarted onceseconds until back up

0 seconds for the 6 apps that run two copies, including Coral’s API and both of our consoles: one copy was always running while the other moved.

What this means: an app that runs a single copy is down for a short time whenever it moves, with Coral or without it. Here that was 5 to 82 seconds. Apps that must never pause should run two copies, and Coral keeps one of them running. When the spare worker was removed on 6 October, single-copy apps also restarted once; those times were not measured.

How the apps stayed safe

New machine first

Nothing was removed until its replacement was ready and its apps had moved.

One copy at a time

Every move kept within each app’s own limits, so apps that run two copies always kept one running.

Checks before every move

Where a faster move could have put an app at risk, Coral chose the safe one.

The result

What the cluster’s machines cost each monthAzure list prices
Before and after
Measure4 Oct12 OctDifference
Machines321 fewer
CPU1064 fewer
Per month$368.65$154.76$213.89 less
Per year$4,423.80$1,857.12$2,566.68 less
Share of the machine bill removed
58%less

$213.89 of $368.65 a month

How we reduced our own cluster’s machine bill by 58%Case study · PDF · 5 pages · 0.2 MB

Zoorik’s own development cluster on Azure Kubernetes Service, 4 to 12 October 2026. Costs are Azure pay-as-you-go list prices for the cluster’s machines at 730 hours a month. App figures cover the cluster’s own apps. Results depend on each cluster’s apps and machines.

Find your own number

One line in your cloud console. One PDF report with your estimated saving at list price.

Estimate your saving

Talk to the builders

Thirty minutes with the people who build Coral.

Book a demo (opens in a new tab)

Or write to founders@zoorik.com