[ARTICLE]

Understanding Amazon Web Services EC2 Pricing Options

Amazon Web Services (AWS) Elastic Compute (EC2) instances provide the AWS compute service. As with all things AWS, there are many options available regarding how to pay for this service. Let’s look at the options and when they might provide the best value.

Free Tier

For completeness, I will mention the AWS Free Tier. This gives you free access to up to 750 hours a month of Linux and Windows instances for up to one year.  These are the smallest EC2 instances available–  t2.micro in most cases, though you can get  t3.micro instances in regions that do not have t2.micro instances. If you use another instance type, you will start getting charged for all EC2 instances you are using, including the .micro instances.  This is a great service to try out AWS, but it is unlikely that you will be satisfied with this for a production system, so let’s consider what you get when you start paying for your EC2 services if you want to learn more about AWS’ free services here.

On-Demand

On-Demand instances provide the greatest flexibility and control over spending, though, as we will see, they may be more expensive than other payment options, depending on your use case. 

Depending on the specific instance type, AWS will bill you for your EC2 instances by the hour or the second. You only pay for the time per instance that you actually use, and you can freely change the type of instance(s) you are running.

On-demand is the right choice when an upfront payment commitment for a certain amount of compute resources does not make sense. This payment model is useful in application development/testing cases where you are not certain about the best EC2 instance to use for an application. If your workloads cannot be interrupted (see Spot Instance pricing for comparison) are short-term use, highly variable, or unpredictable, on-demand instances are the way to go. 

Spot instances

Spot instances use “spare” Amazon EC2 computing capacity at up to 90% cheaper than the same On-Demand EC2 instance. This allows Amazon to put resources to work currently idle but are actually reserved for another service. While it may or may not happen, if the service that has the instance reserved needs the instance your application is using, your use is terminated.

If you are running an application that is tolerant of potential interruption/failure, using spot instances has the potential for providing substantial cost savings. They can also be a way to scale up an application that suddenly needs a great deal more compute capacity. If your budget is currently limited and you wish to try some of the more expensive EC2 instance types or use more capacity than your budget would allow using on-demand instances, spot instances can also provide a solution. 

Savings Plans

Savings Plans can provide up to 72% discount on EC2 instances compared to equivalent On-Demand instances. The requirement is a commitment to a consistent amount of hourly use for a period of 1 or 3 years.  This can provide great cost savings if you know your applications’ workload profiles and are willing to commit to a longer-term contract.  Using a Savings Plan to cover your baseline workload along with On-Demand or Spot Instances for periods of increased compute demand can provide a balance between cost savings and workload responsiveness.

AWS has a tool, the AWS Cost Explorer, that will help you figure out your actual resource usage and understand where you might benefit from a Savings Plan to purchase your EC2 resources. In the example below, from the AWS Cost Explorer overview page, it is possible to see that most resources for this example system have a fairly constant workload and could see substantial cost savings if a 1 or 3-year commitment makes sense.

Reserved Instances

Reserved Instances are similar to a Savings Plan but are assigned to a specific Availability Zone. Reserved instances guarantee you required resource access in the AZ you have chosen. They can cost up to 75% less than the equivalent On-Demand instance. Much like the Savings Plan, if you have fairly steady workloads and can commit to a 1 or 3-year contract, this model may save you money.  

Dedicated Hosts

A Dedicated Host gives you dedicated access to a physical EC2 server. This means that you are the only “tenant” that will have access to that particular machine. If you are using software that requires their licenses to be tied to a single machine (e.g., Windows Server, SQL Server), the Dedicated Host can provide the necessary single server compliance and save on cost.  The service comes integrated with AWS License Manager.  The manager service ensures that the Dedicated Host instances are compliant with license terms and launch on appropriate instance types. Dedicated hosts can be purchased using the hourly On-Demand model or as a Reserved instance for up to 70% less than the On-Demand cost. 

Summary

While on-demand instances are typically what people start out using, substantial cost savings can be realized using other available EC2 purchase models. Spot instances can provide on-demand-like flexibility at substantial savings as long as your application can tolerate being preempted.  Both Savings Plan and Reserved Instances can save money while providing you the necessary resource coverage for consistent workloads over time. Dedicated Hosts provide a way to launch EC2 instances with software that has licensing restrictions in an On-Demand or Reserved pricing model. Amazon’s integrated Cost Explorer can be used to provide the necessary insight into your system’s resource use to make decisions about which purchase model or combination of models can help you optimize your AWS cloud spend.