AWS offers solid-state drives (SSD) in two categories. General purpose SSD (gp2) balances price to performance while provisioned IOPS SSD (io1) offers high-performance SSD volumes—with a premium price point.
Can you potentially save 50% on your AWS EBS IO1 volumes, without losing any performance? Yes.
AWS imposes minimum capacity restrictions on both gp2 and IO1 storage on a per GB basis. IO1 storage can support 50 IOPS per GB. GP2 only supports 3 IOPS per GB. Does this mean that same level of performance can be achieved if sufficiently large gp2 volumes are used? Is it possible to reduce cost with this approach? Let’s analyze.
The table below shows minimum capacity needed for gp2 and IO1 volumes to achieve the same level IOPS and the cost difference.
IOPS Cost using GP2 and PIOPS (no consideration for capacity)IOPSGP2 Min Capacity
|IOPS||GP2 Min Capacity||IO1 Min Capacity||GP2 cost||IO1 cost|
The same level of performance can be achieved using GP2 (by allocating additional storage space) at only 50% of IO1 cost. (NOTE: the table above uses minimum capacity for IO1. The cost savings will be even greater with higher capacity requirements.)
This seems compelling. But there are other factors to consider:
- With io1, AWS guarantees within 10% of your provisioned performance 99.9% of the time, whereas gp2 guarantees within 10% of your expected performance 99% of the time (a difference of about 80 hours a year).
- There is a limit of 10,000 IOPS per volume with GP2, So, if you are trying to achieve more than 10,000 IOPS, you will need to create multiple gp2 volumes and RAID them together.
Take advantage of the cost savings If you are happy with a 99% guarantee instead of 99.9%, and you are willing to RAID them together if you need more than 10,000 IOPS.
Optimization in new environments
You can create gp2 rather than io1 volumes to achieve the same performance levels at half the cost. This is easy to do when new volumes are created. If you want to avoid the side effects of extra space on GP2 (apps will obviously try to write to the extra space available), you may even create dummy space holder files so that available space is limited to expected capacity you would have received with io1. The only note of caution is that users will have to manually monitor the IOPS utilization and make any further changes manually.
Optimization in existing environments
If you already have an environment that has io1 EBS volumes configured, manually optimize by allocating new volumes and moving the data. This is time-consuming, error prone, and requires application down time. The process is impractical when there are multiple EBS volumes attached to a given instance.
Transparent/Automated io1 to gp2 optimization with no user action or application disruption
In this approach a software solution monitors customer environment and decides that an io1 volume could be switched with a higher capacity gp2 volume for significant (50%) cost reduction. It does this in a completely transparent and automated way such that no user action is needed. It also does this in such a manner that no application downtime is needed. It should scale easily and effortlessly to support large scale deployments. It needs to be completely lights out.
A hybrid IT approach offers the best of both on-premises and public cloud by keeping costs and risk low while increasing efficiency and speed. But monitoring and optimizing hybrid environments is complicated.
Apptio® Cloudability provides cost and resource optimization capabilities across all leading public cloud providers (AWS, Azure and Google Cloud) so IT leaders can increase the efficiency of public cloud spending and slash waste from over-purchase and underuse.