Prerequisites
ICC must be installed and connected to your deployment environment before enabling application scaling. ICC supports both Kubernetes and AWS ECS. For Kubernetes installation instructions, see ICC installation.
Application runtime
Section titled “Application runtime”Applications must run in Platformatic Watt with these minimum versions:
| Package | Minimum version |
|---|---|
@platformatic/watt-extra | 1.14.0 |
@platformatic/runtime | 3.25.0 |
These versions support both V1 and V2. A newer compatible release is recommended.
Each application instance must run Watt-Extra and be able to connect to ICC. For a Kubernetes deployment example, follow First App Deployment.
Managed controller
Section titled “Managed controller”ICC must discover the resource that manages the application’s desired instance count. The Machinist service exposes this resource to ICC as a controller:
| Environment | Managed resource | Scaling operation |
|---|---|---|
| Kubernetes | Deployment or StatefulSet | Update the replica count |
| AWS ECS | ECS service | Update the desired task count |
Configure the Scaler’s PLT_MACHINIST_PROVIDER for your environment (k8s or ecs). Machinist must have access to discover the application’s instances and update its managed resource. Configure the application’s minimum and maximum instance limits before testing production traffic.
Scaler storage
Section titled “Scaler storage”The Scaler service requires:
- its PostgreSQL
scalerdatabase for controllers, scale events, configuration, signals, snapshots, and Planner records; - ICC Valkey for cooldowns, algorithm state, V2 signal history, and temporary scheduled limits.
See Database Setup and Valkey.
Prometheus
Section titled “Prometheus”V1 reads application metrics from Prometheus when evaluating alerts and performing periodic scale-down checks. Configure PLT_METRICS_PROMETHEUS_URL and ensure Prometheus collects the application’s ELU and heap metrics. Each metric series must identify the application with applicationId and the instance with podId or instanceId.
For Kubernetes, see Prometheus Setup for Kubernetes label and kube-state-metrics configuration. On AWS ECS, ensure your metrics collection provides the application and instance identifiers described above.
V2 makes live decisions from raw Watt-Extra signals. Prometheus remains useful for the wider ICC metrics and event-history views but is not the V2 prediction input.
Infrastructure capacity
Section titled “Infrastructure capacity”ICC changes application instance counts. Provisioning the underlying compute capacity is the responsibility of the deployment platform. Ensure the environment has enough CPU and memory for the configured maximum instance count, or configure infrastructure autoscaling to add capacity quickly enough.
Instance startup and health checks should be stable and reflect when the application can serve traffic. V2 learns observed startup time, but image-pull delays or insufficient compute capacity can still postpone new capacity beyond the forecast horizon.