Announcing dynamic performance scaling with OCI Block Volume auto-tuning

August 30, 2022 | 6 minute read
Max Verun
Senior Principal Product Manager
Text Size 100%:

Our strategy in the Oracle Cloud Infrastructure (OCI) Block Volume service has provided the simplest, most reliable, best performing, most secure, and most cost-effective storage with a single volume type and many flexible performance options. Our customers have been managing the performance of all their volumes on-demand easily across the entire performance range, starting from the Lower Cost option up to Ultra High Performance (UHP), with 120 VPUs per GB and industry-leading 300,000 IOPS per volume. They can seamlessly adjust the performance of any of their volumes, even ones created years ago, while the volumes are online without any downtime, using the command line interface (CLI), application programming interface (API), software developer kit (SDK), Terraform, and the OCI Console. They pay independently for the storage and performance of their volumes, take advantage of cost savings, and pay for the performance only when needed. For more information, see the documentation.

Our vision has been to enrich this experience by enabling automatic monitoring and changing of dynamic volume performance and cost configuration without any involvement from customers. They already worry about their applications, workloads, and businesses on the cloud. Storage performance versus cost optimization and savings shouldn’t be another worry. In the first phase, we enabled auto-tuning for detached volumes.

Dynamic performance scaling with OCI Block Volume auto-tuning

With this new update, we’re excited to announce the second phase in our vision: Dynamic performance scaling with OCI Block Volume auto-tuning for attached block storage, based on criteria that we monitor in the service, using volume throttling that impacts IOPS, throughput, and latency. You now have this capability for all your existing and new volumes when they’re attached with multipath configuration. Boot volumes and single path attachments don’t currently offer this new capability, but support for this feature is coming in a future update.

Block Volume auto-tuning for dynamic performance scaling is an industry-first capability available only on OCI. Other cloud providers offer temporary storage performance burst, which isn’t predictable, steady, or sticky. Their burst performance is limited to specific storage tiers, isn’t comprehensive across their multiple storage tiers, and doesn’t come with a performance service level agreement (SLA).

In OCI, the dynamic performance scaling range for a volume is customizable across the entire performance options that you configure and are sticky, predictable, and steady with submillisecond latencies as your workloads demand. The performance of a volume dynamically scales up or down across the entire performance options you configure and control. You now have a choice to manage the performance of each of your volumes for your dynamic workload demand: Either manually set, monitor, and adjust the performance as before, or enable Block Volume auto-tuning and let us manage it for you. Regardless of which option you choose and the settings you configure, you can always revise them anytime as needed without impacting your running workloads. When a volume is adjusted to a certain performance level, the performance of the volume is covered by the performance SLA as before. Dynamic performance scaling with Block Volume auto-tuning (responsiveness of adjustment) is provided as a best effort with this feature release.

How this feature impacts your workloads and use cases

You can now enable and configure auto-tuning parameters without worrying about monitoring and adjusting volume performance yourself. For example, workloads with seasonal or event-based spikes, such as promotions and sales during holidays or special events, or daily fluctuations in business between night and day, continuous integration and delivery (CI/CD) pipelines, artificial intelligence (AI) and machine learning (ML) workloads, and many more applications with varying performance demand all benefit from this new capability.

Customers who had configured UHP performance with high VPUs per GB settings before this capability can also benefit. Now they don’t need to commit to and keep a high VPUs per GB configuration and its associated cost for their storage. For example, if you need a volume with UHP 60 VPUs per GB performance setting (with a cost of $0.1275 per GB per month), you can now enable Block Volume auto-tuning ranging from 10 VPUs per GB (with a cost of $0.0425 per GB-month) to 60 VPUs per GB for cost savings. Volume performance automatically scales down to lower VPUs per GB levels when not needed and scales up only when needed with significant cost savings as outlined in the OCI Cloud Storage Pricing. For this example, depending on the performance variation for your workload demand, you can get up to 2–3X cost savings.

If a volume is throttled and doesn’t get the desired performance at its current performance setting, Block Volume auto-tuning gradually increases and continues to monitor the volume’s performance in increments of 10 VPUs per GB, up to the maximum VPUs per GB value that you configured for that volume.

After the volume is idle or not throttled at its current setting, Block Volume auto-tuning gradually decreases and continues to monitor the volume’s performance in decrements of 10 VPUs per GB, down to the default VPUs per GB that you configured for that volume. The minimum default VPUs per GB that we offer for this capability is 10 VPUs per GB in the Balanced storage configuration.

The performance setting of a volume stabilizes in between the default VPUs per GB and maximum VPUs per GB settings and continues to change automatically as needed. Timing is flexible and can change as we monitor the service usage and feature adoption in the future. With this initial launch, increasing the performance is fast-acting, repeating actions within 15 seconds for each level adjustment to provide steady performance increase as needed, while decreasing the performance is slow-acting, with the initial decrease taking effect in an hour and subsequent decreases in minutes to avoid reducing volume performance abruptly while the performance is still needed.

Block Volume auto-tuning and your application performance characteristics that change over time can result in unexpected usage and charges for storage performance. Understand your application demand, usage patterns, and budget before enabling and configuring this capability for your volumes. When you enable Block Volume auto-tuning for your highest performance volumes, such as UHP volumes with a high VPUs per GB setting of 30 or more, you have cost savings as they automatically scale down to lesser performance when not needed. If you prefer, you can set a fixed performance level acceptable for your workload as before and monitor and adjust performance yourself. Alternatively, you can enable and configure dynamic performance scaling with auto-tuning for your volume, and our service adjusts its performance for you automatically as needed.

How to enable Block Volume auto-tuning for dynamic performance scaling

This capability is available from the API, SDK, CLI, Terraform, and the Oracle Cloud Console. Enabling it for a volume in your Console experience is as simple as clicking a checkbox and using a slider on the Edit Volume dialog.

In the Edit Volume dialog, check the Performance-based Autotune option, and on the performance slider, select the default VPUs per GB and maximum VPUs per GB values.

A screenshot of the Edit Volume page showing the option for performance-based autotune.

You can also change the Detached Volume Autotune setting as previously announced.

For details of different volume performance levels based on VPUs per GB, and guaranteed IOPS and throughput for all options, see the OCI Block Volume performance documentation and the 300,000 IOPS per volume blog post.

You can monitor the performance characteristics and settings for a volume using the volume metrics and audit logs.

A screenshot of the graphs for autotune metrics in the Oracle Cloud Console.

Try it for yourself

We want you to experience this new feature and all the enterprise-grade capabilities that OCI offers. It’s easy to try them out with OCI Free Tier. For more information on taking advantage of these performance updates, see the Block Volume service overview, Ultra High Performance (UHP) volumes, Block Volume performance, dynamic performance scaling with auto-tuning, CLI examples, and FAQ.

We value your feedback as we continue to make our service the best in the industry. More feature updates and advancements are on the horizon for our cloud storage platform. Send your thoughts on how we can continue to improve or if you want more details about any topic.

Max Verun

Senior Principal Product Manager

Previous Post

How to Integrate Oracle Real Application Security with APEX on Oracle Autonomous database

Leona Dsouza | 13 min read

Next Post

Kafka Connect with Oracle Streaming service on Oracle Kubernetes Engine

Nitin Soni | 6 min read