Autoscaling
📈
Automatically scale on demand.
Autoscaling is an option that can be toggled per environment. It is enabled by default and scales components up and down automatically based on usage.
Autoscaling can be enabled and disabled in the dashboard, when creating an app or environment, as well as later on when scaling components.
Where and how autoscaling applies
| Component | Autoscaling available | Metric |
|---|---|---|
| MySQL | ✅ Yes | Storage |
| Traffic | ✅ Yes | Bandwidth |
| Web storage | ✅ Yes | Space |
| PHP | ❌ No | - |
| Jobs | ❌ No | - |
| Backups | ❌ No | - |
| Key-value store | ❌ No | - |
Effects
| Autoscaling | Fixed price | Availability |
|---|---|---|
| On | ❌ No | Stays online |
| Off | ✅ Yes | Goes offline if exceeded |
Autoscaling applies to the components traffic, storage, MySQL. If turned on, your selection will be treated as the lowest plan. Once usage exceeds this booked plan, the next higher plan will automatically be booked. Once the usage goes down again, the matching previously selected plan will be booked again (with some variation, see below).
Recommendations
- Enable autoscaling!
- Choose XS plans to make sure to pay the minimum
- Choose a larger plan for better price stability
- Disable autoscaling for a price guarantee, but keep an eye on metrics
Possible price fluctuation
With autoscaling turned on, price fluctuation is not likely, although possible. The tiered pricing is designed to offer price stability for most of the time.
Autoscaling for web storage
The web storage component measures the space for files stored on disk. This is to some extend within the control of the developer. Files are either directly deployed, uploaded or generated. See storage scaling tips.
Web storage usage is measured live and aggregated for billing on a daily basis, see daily aggregation.
Autoscaling for traffic
The traffic component measures bit and bytes transferred from the environment to the internet. That's a passive component and not directly under the control of the developer. Usage can be monitored in the dashboard. See traffic scaling tips.
Unlike the other autoscaling components, traffic grows over the month. That means, at the end of the month the highest traffic volume is reached. The matching plan for this will be applied for the full month dating back, see postpaid.
Autoscaling for MySQL
The MySQL component measures database storage as the scalable metric. That's a semi-passive component. Usage can be monitored in the dashboard. See MySQL scaling tips.
MySQL also scales with computing power. So there are two reasons to scale the component - storage needs and compute power. It's usually advised to keep scaling for PHP and MySQL in sync.
MySQL storage usage is measured live and aggregated for billing on a daily basis, see daily aggregation.
Email notifications
The platform will write a warning by email to all technical contacts shortly before a limit is reached, when autoscaling is disabled. This warning may only be sent once a month.
Limits
Autoscaling, is only available for MySQL, storage and traffic. Those components that have usage that can easily be measured. We are considering autoscaling for other components, such as PHP, jobs and key-value storage. But here, the signal is not that clear. There will need to be individual thresholds to be set, based on observable metrics. if that is important to you.
Troubleshooting
When your environment uses a lot of resources you are either doing something right, because people come flocking to your website, or you are doing something wrong, as the website is using too much resources because of configuration issues.