Skip to main content

Overview

Qovery helps you optimize infrastructure costs through intelligent resource management, auto-scaling, and efficient build processes.

Cluster Auto-Scaling with Karpenter

Qovery uses Karpenter to automatically provision and scale cluster nodes based on your workload demands.

How Karpenter Works

Karpenter monitors pending pods and automatically provisions the right-sized nodes to run them efficiently:
  • Just-in-time provisioning: Nodes are created only when needed
  • Bin-packing optimization: Workloads are efficiently packed onto nodes
  • Fast scaling: New nodes ready in ~2 minutes
  • Cost-optimized instance selection: Automatically selects the most cost-effective instance types

Benefits

Automatic Scaling

Scales cluster up and down based on demand

Cost Optimization

Selects optimal instance types for your workloads

Fast Provisioning

New nodes available in minutes

Efficient Packing

Maximizes resource utilization
Karpenter runs automatically on Qovery-managed clusters with no configuration required.

Pod Auto-Scaling

Automatically scale your application instances based on CPU utilization or custom metrics.

Horizontal Pod Autoscaling (HPA)

Configure auto-scaling for your applications:
1

Navigate to Settings

Go to your Application → SettingsResources
2

Configure Auto-Scaling

Set the auto-scaling parameters:
  • Min Instances: Minimum number of running instances (e.g., 2)
  • Max Instances: Maximum number of instances (e.g., 10)
  • Target CPU Utilization: Scale when CPU exceeds threshold (e.g., 60%)
3

Save and Deploy

Click Save and redeploy your application

How It Works

When CPU utilization exceeds the target threshold, Kubernetes automatically adds more pod instances. When usage decreases, it scales back down to the minimum.
Auto-scaling helps maintain performance during traffic spikes while reducing costs during low-traffic periods.

Spot Instances

Reduce compute costs by up to 70% using Spot Instances for non-critical workloads.

What Are Spot Instances?

Spot instances use spare cloud capacity at significantly discounted prices compared to on-demand instances.

When to Use Spot Instances

Development Environments

Ideal for testing and development

Staging Environments

Perfect for pre-production testing

Batch Processing

Good for fault-tolerant workloads

CI/CD Jobs

Suitable for short-lived tasks

Configuration

Qovery automatically configures Spot instances with intelligent fallback:
  • Spot instances: Used when available (up to 70% cost savings)
  • Automatic fallback: Switches to on-demand if spot capacity unavailable
  • Graceful handling: Manages spot instance interruptions
Don’t use Spot instances for production workloads requiring high availability.

Environment Start-Stop

Automatically stop non-production environments outside business hours to reduce costs.

Scheduling Environments

1

Access Environment Settings

Navigate to Environment → Settings
2

Enable Scheduling

Turn on Environment Scheduling
3

Configure Schedule

Set when the environment should be running:
  • Start time: e.g., 8:00 AM
  • Stop time: e.g., 8:00 PM
  • Days: Monday-Friday
  • Timezone: Your local timezone
4

Save

Click Save to apply the schedule

Cost Savings

Stopping environments when not in use can reduce costs by 60-70% for development and staging:
Example Savings:
Development Environment (runs 24/7): $500/month
Development Environment (scheduled 8am-8pm, Mon-Fri): $150/month
Savings: $350/month (70%)
Schedule development and staging environments to run only during working hours.

Build Optimization

Qovery optimizes your application builds to save time and resources.

Smart Build Detection

Qovery avoids unnecessary rebuilds by:
  • Detecting code changes: Only rebuilds when application code changes
  • Skipping unchanged services: If no changes detected, uses previous build
  • Monitoring Git commits: Tracks which services are affected by commits
This reduces build times and CI/CD costs by avoiding redundant builds.

Docker Cache

Qovery leverages Docker layer caching to speed up builds:
  • Layer caching: Reuses unchanged Docker layers from previous builds
  • Dependency caching: Cached npm install, pip install, etc. if dependencies unchanged
  • Multi-stage build support: Efficiently caches intermediate build stages

Build Cache Benefits

Faster Builds

Reduces build time by 50-80% for unchanged layers

Lower Costs

Fewer compute resources needed for builds

Faster Deployments

Get changes to production quicker

Automatic

Works automatically, no configuration needed

Next Steps