Bringing you a flexible and easy-to-use new autoscaling functionality.
We are excited to announce that autoscaling of your deployments based on disk capacity and disk I/O utilization is now available for the following services on the IBM Cloud via the UI, API, and CLI:
- Databases for PostgreSQL
- Databases for MongoDB
- Databases for Elasticsearch
- Databases for Redis
- Databases for etcd
- Messages for RabbitMQ
Our autoscaling functionality is highly flexible, user-definable, and most importantly, easy to use. It’s disabled by default and you can enable it on the Autoscaling panel of the Settings page in our UI or using our API. It can be turned on/off at a moment’s notice.
How does it work?
The feature checks your instance’s utilization over a defined time interval and takes corrective action based on the controls you set. If scaling is necessary, the database scales by the configured amount. Users are also able to set limits to control cost and database size.
Disk utilization is based on the amount of disk you have provisioned for your deployment and the usage of disk reported by the database. We typically recommend that people stay below 80% utilization to provide headroom for sudden spikes, new clients, or unexpected user growth.
Another critical consideration of provisioned disk capacity is the amount of IOPs (Input/Output Operations per second) available to your database. IBM Cloud Databases provides 10 IOPs per every 1 GB of Disk. If you have 100GB of Disk provisioned, then you have 1,000 IOPs available to your database.
Typically, database performance is constrained by IOPs or RAM. We recommend production databases that make use of disk to run above 1,000 IOPs and use I/O autoscaling to ensure your database stays performant all day every day. Our autoscaling functionality allows you to scale RAM and disk-based on disk I/O, letting you add more IOPs to your deployment or provide it more available RAM.
Autoscaling can help mitigate the burden of monitoring and acting on your database consumption pattern. This frees up SRE, DBAs, and developers to spend more time on other parts of the application stack and reduces the risk of database downtime. Typically, unless automation and automatic cloud-based hardware requisition are built for your applications, databases that run out of disk or don’t have enough IOPs will crash, become inoperable, or cause high end-user latency.