• Docs
  • Login
Talk to an expertTry for free

Scale without rebuilding your infrastructure

Add instances, tune resources, or let autoscaling do the work, all from the same Git, CLI, Console, or API workflow you already use.

The problem

Static infrastructure can't keep up. Most teams hit the same three walls:

Fixed sizing fails under load

Spikes overwhelm what's deployed, and the rest of the time it sits idle.

Overprovisioning is expensive

Sizing for the worst case all year round costs more than it should.

Autoscaling stopped at the app tier

Most platforms autoscale apps but route database scaling to a third-party engine, a Kubernetes operator, or a manual upgrade workflow. Capacity at the database tier never caught up.

Scaling for every workload

Scaling and performance on Upsun allow teams to adjust application capacity through the console, CLI, or API. 

  • Horizontal and vertical scaling for apps, workers, and managed PostgreSQL and MariaDB
  • Native autoscaling across applications, background workers, and managed database read replicas
  • No third-party database engine or Kubernetes operator to manage
  • CPU and memory-based autoscaling
  • Configurable thresholds and instance limits per environment
  • Container profiles for any workload type
  • Guaranteed CPU for resource-intensive workloads
  • Manage from Git, CLI, Console, or API

How scaling works on Upsun

Add or remove instances on demand

Run more copies of your app or worker in seconds. New instances are added without downtime and start serving traffic immediately. Trigger it from the CLI, Console, or API.

Tune resources vertically

Increase CPU, memory, or storage for your app, databases, background jobs, and other services. Choose from four built-in sizes that cover most types of work.

Set CPU or memory thresholds

Upsun adds and removes capacity automatically across apps, workers, and managed PostgreSQL or MariaDB read replicas, with no restart or downtime.

Scale workers independently

Worker processes scale separately from your application. Add worker instances to handle background jobs and queues without touching your app's capacity.

Scaling built around your business growth

Reliability and availability

Every app and service runs in its own container with allocated CPU, memory, and storage. Guaranteed CPU reserves dedicated compute for resource-intensive workloads.

Cost control

Resource allocation can be tuned per environment to balance performance and cost, especially for non-production workloads.

Operational simplicity

Apps, workers, and managed databases share one autoscaling primitive, one platform, and one bill. The same controls apply across the stack, with the integration managed by the platform.

Capacity matched to demand

Set autoscaling rules before peak periods. Capacity grows when load rises and shrinks when it falls, across apps, workers, and managed database read replicas.

Per-environment resource control

Run preview and staging at smaller profiles, reserve larger ones for production. Non-production work never carries production costs.

Growth without migration

As your application grows, add more CPU, memory, and instances on the same platform. No infrastructure migration or application rewrites needed.

Scale your application without the complexity

Start a free trialSchedule a demo