EC2 Instance Types
Amazon EC2 provides a wide selection of instance types optimized to fit different use cases
AWS has the following naming convention: example t2.micro
- t: instance class
- 2: generation (AWS improves them over time)
- micro: size within the instance class
General Purpose
General purpose instances provide a balance of compute, memory and networking resources, and can be used for a variety of diverse workloads. These instances are ideal for applications that use these resources in equal proportions
- such as: web servers and code repositories
Compute Optimized
Compute Optimized instances are ideal for compute bound applications that benefit from high performance processors
- such as: batch processing workloads, media transcoding, high performance web servers, high performance computing (HPC), scientific modeling, dedicated gaming servers and ad server engines, machine learning inference and other compute intensive applications
Memory Optimized
Memory optimized instances are designed to deliver fast performance for workloads that process large data sets in memory.
- such as: High performance, relational/non-relational databases, distributed web scale cache stores
Storage Optimized
Storage optimized instances are designed for workloads that require high, sequential read and write access to very large data sets on local storage. They are optimized to deliver tens of thousands of low-latency, random I/O operations per second (IOPS) to applications
- such as: High frequency online transaction processing (OLTP) systems, Relational & NoSQL databases, Data warehousing applications
Accelerated Computing
HPC Optimized
You can take a deeper look at Official EC2 Instance Types
Or you can look at Amazon EC2 Instance Comparison to choose the right instance for your case