An Overview of AWS Instance Purchasing Options
Now that you know the various sizeable benefits of adopting a cloud interface versus using on-premises infrastructure, I’m sure you’re wondering how exactly to go about purchasing computing power. AWS offers you these services through purchasing instances. We previously adopted the AWS definition of an instance as a “virtual computing environment”. What this essentially means is that Amazon has hundreds of thousands of physical servers spread across the globe, and by purchasing an instance you are virtually acquiring space on one or more of those servers for personal use. Based on your specific requirements, you would need to make decisions regarding instance types and instance purchase plans.
As we have seen in our previous article on the most commonly used AWS services, AWS provides you with access to a variety of cloud products under which users can determine the specific service they need to meet their workload requirements. Each of these services can be further divided into instance types to allow you the most flexibility for purchasing a model as per your specifications. For example, game developers may require Accelerated Computing instances to render intensive graphics, whereas data analysts may need Memory Optimized instances to support their significant memory usage. Once you have determined the instance types best suited to your needs, the next step is selecting a payment plan that is cost effective.
The most flexible yet most expensive payment plan is purchasing instances On-Demand or Pay-As-You-Go (PAYG). Through this model you pay nothing upfront and have the flexibility of using and shutting down any instance type at any time. There are no long-term commitments, and you pay by the second for just what you use. While the usage flexibility may be desirable, this plan can be extremely costly, and thus is most suitable for startups who need to determine their performance needs, companies looking to meet part-time or sudden performance spikes, and companies in growth mode who aren’t as concerned with costs.
Due to the high-cost barrier of On-Demand models, AWS launched several payment plans to help reduce company expenditure. One such plan is a Savings Plan. Commitments for Savings Plans are made on a $/hour basis for a period of either one or three years. For example, if a startup purchasing instances On-Demand recognized that their expenditure didn’t exceed $10 per hour, they could commit to a Savings Plan for the same amount, and any usage exceeding the $10 cap would be charged On-Demand. Through this model savings can range to up to 72%, depending on the commitment period of one or three years and the payment option of full upfront, where the entire amount is paid at the beginning of the term with no additional costs, partial upfront, where some amount is paid at the beginning of the term in exchange for discounted billing on the remaining hours, or no upfront payment, where no payment is due at the start of the term and all hours are billed at the same discounted price. Higher upfront payments and longer term commitments provide more savings.
Savings Plans come in two broad types:
- Compute Savings Plans offer the flexibility of transferring workloads across instance families, sizes, regions, operating systems, tenancies, and compute technologies, while still providing the cost-reduction benefit of a Savings Plan. However, they cap at a saving of 66% of On-Demand prices.
- EC2 Instance Savings Plans cap at a saving of 72% of On-Demand prices but require committing to a specific instance family and region, though still allowing changes to size, operating systems, tenancies and compute technologies within that family and region.
Another cost-reducing payment plan to consider is Reserved Instances (RIs). Like Savings Plans, RIs are purchased with a commitment period of one or three years, and can be paid all upfront, partial upfront, or with no upfront cost. However, while Savings Plans are purchased based on a predetermined cost expenditure, RI pricing is determined based on utilization needs. So instead of committing to spending $10 per hour as discussed above, RIs would have you commit to instances or instance families with your specified computing needs, and that computing power would be reserved for your usage throughout your commitment period.
There are two main types of RIs:
- Standard RIs allow you to modify the availability zone, scope, networking type and instance size within a specific instance family. They offer higher savings than Convertible RIs, up to 6%, and can be sold and bought in the Reserved Instance Marketplace. This means that you can sell underutilized or unrequired Standard RIs to reduce total costs; however, the selling price of Standard RIs is determined by the current cost in the market and is often far lower than the price it was bought for. Thus, Standard RIs are more appropriate for companies with fixed computing needs, or the manpower required for forecasting, allowing them to benefit from higher savings without much need for modification.
- Convertible RIs also allow you the same modification flexibility, and additionally can be exchanged for other Convertible RIs of the same or higher value with new instance types, platform, families, scope, and tenancy. Because of the additional flexibility through the ability to exchanging RIs, Convertible RIs are ideal for companies with fluctuating usage and computing needs, or the inability to forecast their usage.
Both RIs and Savings Plans share the same basic philosophy- higher savings in return for long term commitments. However, both plans have their own tradeoffs. RIs can often save 5-8% more than Savings Plans but are more difficult to manage. Conversely, Savings Plans are more convenient and flexible, allowing you to meet your computing needs without spending time exchanging or modifying instances.
In addition to the aforementioned billing models, AWS also offers the possibility of purchasing Spot Instances. Spot Instances are unused EC2 instances that AWS offers for up to a 90% discount from On-Demand prices. However, they can be taken back with just a two-minute notice if AWS requires the additional capacity. These instances provide the most savings but have the highest risk, and thus are only suitable for flexible workloads that aren’t severely affected by sudden loss of computing needs, for example developing features without a critical deadline, or adding computing power to large-scale projects to help save time expenditure.
In order to better understand how these payment plans translate to real-world scenarios, let’s look back at our previous example of a startup creating an ecommerce application. While they project a user-base of 100,00 monthly users within the next six months, they don’t have the data to support this projection and thus begin by purchasing all their instances On-Demand. After six months their growth stops fluctuating, and they find their monthly customer base to have reached 200,000 users, double their initial projection. However, they have another quarterly sale approaching, and don’t have the required capital to stay on an entirely On-Demand Plan. Instead, they choose to adopt a Standard RI plan for the instances required to manage their 200,000 monthly users. Additionally, they purchase a Compute Savings Plan at an hourly budget that would allow them to support an additional 400,000 users. They use this plan to support the infrastructure required for the influx of users during the sales months, and for application testing and development during the rest of the natural business year. They pay for both payment plans all upfront to maximize savings and commit to a one-year term so they can reevaluate their computing needs without being committed to resources they don’t require. If their monthly users suddenly decrease, they sell off unused Standard RIs on the RI Marketplace, and should they acquire more users than projected or need additional infrastructure for development, they use a mix of On-Demand and Spot Instances to pay for the additional infrastructure, focusing more on On-Demand to reduce risk. Through this new payment model, they can make it through the financial year with the infrastructure to support both the development of their application and their customer base, without exceeding their infrastructure budget. This is one potential approach that the company may take, and there are various other payment models that can help reduce infrastructure costs.