Platform Feature

Autoscale Containers to Zero and Back

Save resource costs automatically by scaling down containers to zero when idle, and spinning up instantly on demand.

The Problem

Paying for idle VPS servers and idle databases running 24/7 drains development budgets for side projects and staging tests.

The Kubeletto Solution

Scale containers to zero instances when no HTTP traffic is received, and wake them up rapidly on the first incoming request.

Key Benefits & Workflow

Why Developers Prefer It

  • Scale-to-zero: pay nothing for idle container runtime compute.
  • Dynamic scaling up: add instances horizontally as request volumes surge.
  • Concurrency-based scaling: configure maximum requests per pod.

How It Works

  1. 1

    Enable scaling parameters in your application settings.

  2. 2

    When traffic drops to zero for 10 minutes, compute instances are paused.

  3. 3

    A new request wakes up a container instance instantly and completes routing.

Under the Hood

Knative Serving's Autoscaler (KPA) tracks concurrent requests. When requests hit zero, it suspends active pods and activates the activator node to intercept and queue subsequent incoming requests.

Managed container orchestration layer.

Scale Annotation Settings
metadata:
  annotations:
    autoscaling.knative.dev/min-scale: "0"
    autoscaling.knative.dev/max-scale: "10"
    autoscaling.knative.dev/target: "100"

Frequently Asked Questions

How long does it take to scale down to zero?

The default idle timeout is 10 minutes, but it can be configured in your application settings.

Can I set a minimum instance count?

Yes, you can set min-scale to 1 to guarantee there are never cold starts.