EC2 Instance Types
When you launch EC2 instances, depending on your use case, you have various options. You can launch an EC2 instance on a Dedicated Host, or you can launch Dedicate Instance, Reserved Instance, Convertible Reserved Instance, Scheduled Reserved Instance, On-Demand Instance, or Spot Instance. You also have a choice of choosing the right type of instance based on your resource requirement. Is your workload CPU intensive? Or is it I/O intensive? Or do you need hardware accelerators? In this blog post, we will look into various types of EC2 instances and also touch on pricing.
Table of Contents
EC2 Dedicated Hosts is a physical server with EC2 instance capacity fully dedicated for your use. In addition, Amazon EC2 Dedicated Hosts allow you to use your eligible software licenses from vendors such as Microsoft and Oracle on Amazon EC2. This concept, also known as BYOL (bring your licenses), helps you get the flexibility and cost-effectiveness of using your licenses, along with the simplicity, resiliency, and elasticity of AWS.
An Amazon EC2 Dedicated Host is a physical server fully dedicated for your use. It can help in addressing corporate compliance requirements as well.
With respect to pricing, Dedicated Hosts can be purchased On-Demand at an hourly rate and can be purchased as Reservations with 70% off from the On-Demand price.
Dedicated Instances run in Amazon VPC on EC2 hardware that is dedicated to a single customer. For each AWS account, Dedicated Instances are physically isolated at the hardware level. In other words, Dedicated Instances that belong to different AWS accounts are physically isolated at the hardware level from one another. However, Dedicated Instances may share hardware with other instances from the same AWS account that are not Dedicated Instances. With respect to pricing, Dedicated Instances On-Demand can save you up to 70% by purchasing Reserved Instances or save up to 90% by purchasing Spot Instances.
You cannot use Dedicated Instances for using server-bound software licenses.
Please review difference between Dedicated Hosts and Dedicated Instances
Reserved Instances offer you significant savings on your Amazon EC2 costs compared to On-Demand Instance pricing. For example, Reserved Instances save you up to 75% compared to On-Demand Instances.
Reserved Instances is a billing discount applied to the use of On-Demand Instances in your account — they are not physical instances. Reserved Instanced can be purchased for a one-year or three-year commitment. You get a more significant discount when you choose a three-year commitment offering. When using Reserved Instances, you will be charged for the entire duration, irrespective of your usage.
You cannot use Reserved Instances for using server-bound software licenses. Reserved instances are not interrupted.
Convertible Reserved Instance
Convertible Reserved Instances provide additional flexibility, such as using different instance families, operating systems, or tenancies over the Reserved Instance term. In addition, Convertible Reserved Instances offer you a significant discount compared to On-Demand Instances. You can purchase Convertible Reserved Instances for a 1-year or 3-year term.
Convertible Reserved Instances can be helpful when workloads are likely to change. The Convertible Reserved Instances option enables you to choose an instance (as per the allowed instance family, type of Convertible Reserved Instances) for your workload without paying extra.
Please review the difference between Standard and Convertible Reserved Instances.
Scheduled Reserved Instances
Scheduled Reserved Instances helps you reserve the capacity in advance. It enables you to purchase capacity reservations that recur daily, weekly, or monthly, with a specified start time and duration, for a one-year term. They are a good choice for workloads that do not run continuously but run on a regular schedule.
Standard Reserved instances are a good choice for workloads that run continuously. This is a good option for the production environment to save some money than on-demand instances. Scheduled Reserved instances, however, are designed for workloads that recur daily, weekly, or monthly and are purchased for a one-year term. AWS says that Scheduled Reserved Instances provide a 5-10% savings over On-Demand instances used for this exact purpose.
As the name says, An On-Demand Instance is an instance that you use on-demand. You have complete control over its lifecycle — you decide when to launch, stop, hibernate, start, reboot, or terminate it. There is no long-term commitment required when you purchase On-Demand Instances. There is no upfront payment when using On-Demand instances. You can pay by the hour or the second (minimum 60 seconds) depending on which instances you run, with no long-term commitment.
On-demand instances are not interrupted. On-Demand instances are recommended for the following types of use cases:
• When you prefer the low cost and flexibility of EC2 On-Demand, you can start, stop, hibernate, or terminate an EC2 instance at any time. There is no upfront cost, and there is no long-term commitment.
• When your use case requires a short-term, spiky, unpredictable load pattern, you don’t want the instances to be interrupted.
• When developing or testing an application on an EC2 instance, On-Demand instances can be an optimal choice.
Data transfer into EC2 instances from the Internet is free. However, data transfer OUT to the Internet from EC2 instances is not free.
Data transfer OUT from an EC2 instance to Amazon CloudFront is Free.
Spot Instance lets you use spare EC2 capacity at a meager price – up to 90% off the price of On-Demand instances. Because Spot Instances enable you to request unused EC2 instances at steep discounts, it helps lower your Amazon EC2 costs. You can get Spot Instances at up to a 90% discount compared to On-Demand prices.
You could use Spot Instances for the various stateless, fault-tolerant applications that don’t get impacted if they terminate suddenly. For example, if you have an ETL batch job that can be interrupted and resumed to start from the point where it stopped, you can be a good candidate for using Spot Instances if you are looking to save costs for running these types of jobs. On the hand, since these instances can be terminated at short notice, Spot Instances are not suitable for workloads that need to run at a specific point in time or if the workload result is impacted because of sudden termination of its execution.
Spot Instances can be used in the following scenario:
- Suppose your application has flexibility for its start and stop time. In other words, it’s ok if your application is stopped, interrupted, or terminated at any time. The reason is spot instances are acquired using the bidding process. Therefore, there is a probability that you may not get the spot instance at the price you bid. Additionally, spot instances can be terminated because of the bidding nature of acquiring instances.
- If you are looking for a large number of computing resources, immediately, you can use Spot Instances.
Memory Optimized Instance
The Memory Optimized instances are designed to deliver fast performance for workloads that process large data sets in memory. Memory-optimized instances offer a large memory size for memory-intensive applications such as in-memory applications, in-memory databases, or in-memory analytics solutions.
Compute Optimized Instance
The Compute Optimized instances are designed for compute-bound applications that benefit from high-performance processors. These include compute-intensive applications such as high-performance web servers, distributed analytics, and machine learning inference.
Storage Optimized Instance
The Storage Optimized instances are designed for workloads that require high sequential read and write access to very large data sets. Examples of large data sets could be Hadoop distributed computing, massively parallel processing, data warehousing, and log processing applications. The Storage Optimized instances are optimized to deliver tens of thousands of low-latency, random I/O operations per second (IOPS) to applications. The Storage Optimized instances offer the best/GB-storage and price/disk-throughput across other EC2 instances.
Accelerated Computing Instance
The Accelerated Computing instance family uses hardware accelerators, or co-processors, to perform some functions, such as floating-point number calculation and graphics processing, more efficiently than in software running on CPUs. Amazon EC2 provides three types of Accelerated Computing instances: GPU compute instances for general-purpose computing, GPU graphics instances for graphics-intensive applications, and FPGA programmable hardware computes instances for advanced scientific workloads.
SK Singh is the founder, a software, cloud, and data engineer. He has been involved in the software industry for around 25 years. He has a bachelor's degree in computer science and engineering from India and a master's degree in software engineering from the Pennsylvania State University. SK has been involved in a wide range of software projects for many governments, private, start-ups, and large public companies in various software engineering roles. He has many professional certifications such as AWS, Hadoop, Kafka, Oracle, Unix, Java, Java-related frameworks, and many others related.