Blog

Dynamic cost/performance optimization with volume shaping

An IT staff considers many aspects of cloud computing to decide which cloud services to use for their infrastructure. Apart from security, availability, reliability, scalability, and performance, they also consider elasticity as the key benefit in the cloud. Elasticity matches the resources allocated with the actual amount of resources needed at any point in time. The elasticity comes in handy in an environment with ever-changing demand on the infrastructure services. Compute elasticity is a well-known feature of the AWS cloud. NetApp provides the key feature of volume shaping, which enables dynamic storage price/performance optimization so that you can minimize costs while getting the performance you need. Volume shaping provides a hassle-free way for IT staff to manage changing demand in a planned, organized way. This blog post provides an overview of NetApp® Cloud Volumes Service for AWS and the advantages of volume shaping.

Cloud Volumes Service Metered Version: Pay for What You Use

The Cloud Volumes Service metered model provides a pay-for-what-you-use subscription with a pay-as-you-go approach to pricing. With Cloud Volumes Service metering, you pay only for the capacity allocated or used per service level; It’s just like paying for electricity. You pay only for what you consume, and when you flip the off switch, you don’t incur extra costs or termination fees. You can subscribe to the metered Cloud Volumes Service with a minimum volume size of 100GB.

Pay-as-you-go pricing allows you to easily adapt to changing business needs without overcommitting budgets. With this model, you can respond quickly to actual needs, rather than abstract forecasts, reducing the risk of overprovisioning and under provisioning capacity. By paying for services on an as-needed basis, you can focus on innovation and invention, reducing procurement complexity and enabling your business to be fully elastic.

Volume Shaping 101

There are two ways to achieve volume shaping. One method is to dynamically change the allocated capacity to achieve the required performance, and the other is to dynamically change the service level. Cloud Volumes Service for AWS provides three different service levels: Standard, Premium, and Extreme. These levels offer up to 16, 64, and 128MiBps/TiB, respectively, and you can change levels nondisruptively without needing to move the data. You can carry out the two volume-shaping methods together or separately. Both changes can be made when needed, with no downtime or impact to data protection.

Volume Shaping with Dynamic Allocated Capacity Sizing

Here’s an example of volume shaping. Suppose you have an e-commerce application that requires peak performance at a specific time and lower performance the rest of the time. With other storage offerings, you must provision enough performance to meet peak need and pay for that performance even during nonpeak times. In this situation, you can take advantage of the volume-shaping feature to help optimize the cost.

According to business requirements, you determine the required base storage capacity and starting performance. You then determine peak or increased performance requirements and calculate the allocated capacity required to satisfy the performance increase. With this information, you can tune the allocated capacity so that it’s increased at a particular time by using REST API calls or the Cloud Volumes Service UI.

Figure 1 shows how you can manage the allocated capacity according to the demand. In this example:

  • You require a base storage capacity of 5TB. That capacity at the Cloud Volumes Service for AWS Standard service level provides 80MBps bandwidth.
  • At 9 a.m., there is an increased demand for performance, so you increase the allocated capacity to 20TB to get 320MBps bandwidth.
  • At 11 a.m., the performance requirement decreases, so you decrease the allocated capacity to 10TB, and you receive up to 160MBps bandwidth.
  • When the performance requirement decreases, you can reduce the allocated capacity back to the starting 5TB base level.

Figure 1) Increasing allocated capacity to 20TB, then decreasing to 10TB and 5TB.

Volume Shaping

Cost Benefits of Volume Shaping

Suppose you require 320MBps bandwidth for 8 hours on a business day, and 80MBps bandwidth for the rest of the day and the weekends. Taking January 2020 (20 business days) as an example, Figure 2 gives an overview of how volume shaping helps you optimize cost.

January month cost:
Standard 20TB = $20 units * 1TB = $2,000 (720 hours)
Standard 5TB = $5 units * 1TB =$500 (720 hours)

Figure 2) Increased bandwidth for business hours.

Volume Shaping using allocated capacity

Using volume shaping:
20 TB of standard level for a month will cost $2,000 (1TB_Standard Tier X 20 Units=$2000.00)
Business days in a month = 20 days = 480 hours (160 hours are business hours)
160 hours (320MBps bandwidth) = $445
320 hours (80MBps bandwidth) = $223
Holidays = 10 days = 240 hours (Standard tier) = $167
Monthly cost using volume shaping = $445 + $223 + $167 = $835
Monthly savings = $2,000 - $835 = $1165

Volume Shaping with Dynamic Change of Service Level

Suppose you have an e-commerce application that requires peak performance only for a certain time period, not 24/7. You can adjust Cloud Volumes Service for AWS service level dynamically to achieve the required performance for the required time; then the service can fall back to Standard. In this example, you require 2560MBps bandwidth for 8 hours on a business day, and 80MBps bandwidth for the rest of the day and the weekends. You use the Extreme service level for 8 hours on a business day, and Standard for the rest of the time.

Figure 3) Extreme tier required during a specific time.

Volume Shaping Using Dynamic change of Level

January month cost:
Extreme 20000GB = $6,000 (720 hours); Standard 20000GB = $2,000 (720 hours)

Using dynamic sizing:
Business days = 20 days = 480 hours
160 hours (Extreme tier) = $1,334
320 hours (Standard tier) = $889
Cost during business hours = $2,223
Cost during holidays = 10 days = 240 hours (Standard tier) = $667
Monthly cost after dynamic sizing = $2,223 + $667 = $2,890
Savings = $6,000 - $2,890 = $3,110

Hassle-Free Storage Management with REST APIs

You can use Cloud Volumes Service RESTful APIs to control every feature through an API call. For example, you can provision cloud volumes, shape volumes, create NetApp Snapshot™ copies and instant copies, and change performance levels nondisruptively. You can shape volumes and change performance while clients are mounted and actively performing reads and writes to greatly reduce total storage cost. This industry-leading feature helps you optimize costs and use more capacity only when you need to increase the performance

Volume Shaping with AWS Lambda

The architecture in Figure 4 shows how AWS Lambda triggers volume shaping using the REST API. In this example, Rules is a cron expression that matches only once per day at 9 a.m. and 11 a.m. to optimize the performance for the required peak workload. The Lambda function is the target, which calls the REST API to update the volume with the Extreme service level and required allocated capacity. 

Figure 4) Volume shaping with AWS Lambda and the REST API.

Volume shaping with AWS Lambda and the REST API

The following video explains an example of using volume shaping to optimize cost and performance by tuning and changing the allocated capacity and service level. It uses Lambda functions and the REST API; it also uses Flexible I/O (FIO) test runs in the Amazon Elastic Compute Cloud instance in the background to show how the IOPS performance changes according to the dynamic service level and the allocated capacity.

serviceLevelChange_cronjobcmproj

Learn More

To learn more about NetApp Cloud Volumes Service for AWS, visit our Extreme Performance for File Services page on NetApp Cloud Central.

-