Hello, World! We want to introduce some basics of operating in different cloud environments and share our knowledge from working with customers that operate Qumulo at scale in the cloud. Today’s topic is the use of Reserved Instances in AWS Elastic Compute Cloud (EC2), what they are, and why customers should opt to use them with a Qumulo deployment in AWS.
**Spoiler Alert** Save on the infrastructure costs of Qumulo on AWS!
Cloud Cost Efficiency
By default, when customers fire up an EC2 instance via the AWS console, AWS starts charging them per hour that the instance is booted up and running. This is great for use-cases which are ephemeral in nature, or bursty, where compute resources fluctuate over time. Think stateless web servers or render nodes of a cloud render farm. You create instances when they need them, and are only charged while they are running. As soon as customers shut them down or ask AWS to “stop” the instances, the meter stops.
While this is great for AWS customers with variable workloads, hourly rates are actually expensive for always-on workloads. It makes economic sense for AWS to charge more: AWS keeps spare hardware idle at all times, so that when customers click a button in the console, they will likely get an instance to launch on the other side. Customers pay a premium for this flexibility.
So what if customers are running Qumulo on AWS? At least 4 EC2 instances must be running around the clock. Of course, they can stop the instances and save money, but stopped instances are effectively powered off. Therefore, customers won’t be able to access their data. In an age where finding cost savings without losing impact is everyone’s goal, the question is: Is there a way to save money on instance costs?
Cost Efficient Data Storage: Reserved Instances
Good news, the answer to the above question is a resounding yes! More importantly, it’s easily accomplished with a few clicks. The way customers save money on EC2 instances running around the clock is by committing to paying for an instance running 24/7 for a year. Customers do this by buying an EC2 instance reservation via the AWS console, which is effectively a commitment to pay for an EC2 instance for 1-3 years, in exchange for a discount on the on-demand hourly rate. Note that a commitment means Amazon will charge the customer account for the instance regardless of usage. To demystify the purchasing process, here are the parameters one must specify when purchasing a reservation:
|Parameter||Options||What it means|
|Platform||Linux/UNIX, Windows, RHEL, etc.||Certain OS platforms have different rates per instance hour. For Qumulo select Linux/UNIX.|
|Tenancy||Default, Dedicated||AWS allows a choice between instances running on hardware dedicated to a customer’s account (for a premium) or shared hardware, by default. Qumulo recommends using default tenancy; supported instance types don’t benefit from dedicated hardware.|
|Offering Class||Standard, Convertible||Convertible reserved instances allow customers to switch their reservation to different instance classes later, but offer smaller savings and are generally seen as less impactful. Qumulo recommends standard, as it provides the highest savings, and is also resellable in the reserved instance marketplace.|
|Instance Type||m5.2xlarge, m5.4xlarge, etc.||This is the instance type the commitment applies to. Customers should select the instance type of their Qumulo cluster.|
|Term||1 year, 3 year||This controls the length of the commitment. 3 year terms provide higher aggregate savings/hour, but come with a longer period of inflexibility. . Qumulo recommends a 1 year term to allow users the option to potentially change to newer instance types from AWS as they roll out.|
|Payment Option||No Upfront, Partial Upfront, All Upfront||Paid up front comes with the largest discount. Qumulo recommends paying all upfront. Why? Once a customer’s workload has reached steady state and they are happy with their Qumulo cluster, customers typically don’t touch the instances again until an opportunity comes up to swap some infrastructure around and get to a lower cost point. What’s more, paid-up-front reservations can be resold on the reservation marketplace at a higher rate versus non-paid-up-front reservations. More on that in a second…|
|AZ (optional)||us-west-2a, us-west-2b, etc.||Customers can optionally designate a reserved instance commitment in a specific Availability Zone (AZ), which also has the effect of reserving capacity for that AZ. This is beneficial for customers who want to avoid insufficient capacity errors when launching instances, but provides no additional cost benefit. Qumulo only recommends this if customers tend to create and destroy clusters frequently and want to guarantee there’s enough compute capacity.|
What if I realize I got the wrong reservation?
Good news! AWS offers a reserved instance marketplace, which allows customers to resell reserved instance contracts and recoup some value. This is great if their workload has shifted and a different instance type is now required to support it (i.e. more performance required). Simply change the cluster’s instance type, and sell the reserved instance contract of the old instance type.
How are instance reservations applied to already running instances?
Instance reservations don’t require running instances, as they are contractual billing commitments and not an actual instance per se. While running an EC2 instance, AWS metering will always check if customers have purchased these reservations before metering at the on-demand hourly rate. If the metering system finds an unused reserved instance contract with attributes that match the currently running instance (i.e. instance type, region, AZ), it will consume that reserved instance contract instead of metering at the on-demand rate. That means reserved instances can be purchased at any time for already running instances. The savings will be applied immediately.
Reserved instances are a great tool for Qumulo customers to leverage when trying to control costs related to perpetually running clusters in AWS. This is especially true at smaller capacities, where the cost of the instances is a bigger portion of the bill.