AWS Instance Types by Purpose
- General Purpose: Balanced CPU to RAM Ratio. This is good at a general purpose level
- CPU Optimized: High CPU to RAM Ratio.
- Memory Optimized: High RAM to CPU Ratio
- Storage Optimized: Better Disk speeds
- Accelerated Computing
- HPC
-
Instance Families: Each instance family represents hardware specifications
- Generally an alphabet represents it
t in t2.micro - Instance family will have generations
t2 & t3 - In each family & generation we have instance types
- Generally an alphabet represents it
-
Instance type:
- vCPU
- RAM
- Network Performance
- Instance type Pattern / naming conventions
- Example-1
c7gn.2xlarge
# Summary
# Compute Optimized
# Generation 7
# g – AWS Graviton processors
# n – Network and EBS optimized
# size = 2xlarge
- Example 2
z1d.xlarge
# Summary
# Z – High memory generation 1
# d – Instance store volumes
Azure Vm Sizes by Purpose
- General Purpose: Balanced CPU to RAM Ratio. This is good at a general purpose level
- CPU Optimized: High CPU to RAM Ratio.
- Memory Optimized: High RAM to CPU Ratio
- Storage Optimized: Better Disk speeds
- GPU Accelerated
- FPGA Accelerated.
- HPC
-
VM Family: Each VM family represents hardware specifications
- Generally an alphabet represents it
B in B1s - In each family & Generation we have sizes supported
- Generally an alphabet represents it
- Instance type Pattern / Naming convention
M416ms_v2
# Summary
# M Family
# 416 vCPUS
# m = memory intensive; the most amount of memory in a particular size
# s = Premium Storage capable, including possible use of Ultra SSD (Note: some newer sizes without the attribute of s can still support Premium Storage, such as M128, M64, etc.)
# Version = v2
- Example 2
E96as_v4
# Summary
# E family
# 96 vcpus
# a = AMD-based processor
# s = Premium Storage capable, including possible use of Ultra SSD (Note: some newer sizes without the attribute of s can still support Premium Storage, such as M128, M64, etc.)
# Verison v4
Decision Tree: Selecting Azure VM Size
- Identify Workload Type
- General Purpose (D, B, Av2-series): For common workloads (web/app servers, small-medium databases)
- Compute Optimized (F, Fs-series): For compute-intensive tasks (batch, analytics, gaming)
- Memory Optimized (E, M-series): For large in-memory DBs, data warehouses, memory-heavy apps
- Storage Optimized (L-series): For high disk I/O needs (NoSQL, big data)
- GPU Optimized (N-series): For graphics, ML, deep learning workloads
- High Performance Compute (H, HB, HC-series): For demanding scientific/engineering tasks
- Determine Core Resource Needs
- vCPUs: Evaluate required processing power
- RAM: Estimate memory footprint
- Disk I/O (IOPS/Throughput): Assess read/write storage needs
- Network Performance: Identify necessary bandwidth
- Consider Specific Features
- Premium Storage Support: Needed for high-performance SSDs?
- Accelerated Networking: Required for low latency/high throughput?
- Confidential Computing: Necessary for sensitive data processing?
- Processor Architecture: Preference for Intel or AMD CPUs?
- Evaluate Cost
- Compare VM sizes within your chosen series for cost-effectiveness
- Consider Azure Reserved VM Instances for long-term savings
- Refine and Test
- Select a candidate VM size based on previous steps
- Deploy workload and monitor actual performance
- Adjust VM size as necessary for performance and cost
Example Table (VM Series vs. Workload Type)
| Workload Type | Recommended Series | Notes |
|———————— |———————- |———————————————————————————|
| General Purpose | D, B, Av2 | Balanced CPU:RAM, most common workloads |
| Compute Optimized | F, Fs | High CPU requirements |
| Memory Optimized | E, M | High memory needs |
| Storage Optimized | L | High disk throughput needs |
| GPU Optimized | N | ML, graphics, and visualization |
| High Performance Compute| H, HB, HC | Scientific, engineering, high-performance needs |
