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.

https://dash.fortrabbit.com/environments/{{app-env-id}}/components

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

ComponentAutoscaling availableMetric
MySQL✅ YesStorage
Traffic✅ YesBandwidth
Web storage✅ YesSpace
PHP❌ No-
Jobs❌ No-
Backups❌ No-
Key-value store❌ No-

Effects

AutoscalingFixed priceAvailability
On❌ NoStays online
Off✅ YesGoes 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.

Found a tpyo?Edit