INFRA Signal 409
Uber launches ServiceScale controller to decouple scaling intent from execution
Uber introduced ServiceScale and a Service Scale Controller to separate scaling intent from execution, enabling multiple orchestrators to manage scaling safely and support regional failover without reserved idle capacity
The change lets Uber reuse idle capacity across services during failover, reducing waste and improving resource efficiency. It also simplifies debugging by exposing scaling intent as a Kubernetes object, but adds complexity to the controller stack that must be managed carefully
Written by elseif from the cluster below · every claim links back to a sourceThe three things worth knowing
ServiceScale CRD lets multiple orchestrators express scaling desires independently
Service Scale Controller reconciles combined intent into Kubernetes primitives without external coordination
Read-your-own-write consistency guardrails prevent stale state from affecting scaling decisions
THE READ
What the cluster adds up to.
The core change is the separation of scaling intent from execution via ServiceScale and its controller, allowing multiple orchestrators to influence scaling without modifying the existing UDC
Adopting this requires maintaining the new CRD and controller logic, and ensuring stale informer cache data does not cause incorrect scaling actions
The approach stops relying on reserved idle capacity across regions, shifting to dynamic reuse of low-tier workloads during failover
Written by elseif from the cluster below · checked for specifics the sources never containedTHE CLUSTER
↗