AWS - Deep Understanding of EC2 Instance Types

Table of contents
Amazon EC2 instances offer a variety of features designed to enhance performance, flexibility, and cost-effectiveness for different workloads.
AWS has the following naming convention
Ex: m5.xlarge
m: instance Class
5: generation ( AWS takes care of improving hardware then generation will change)
xlarge: size within the instance class.
Here are some Instance Features.
Instance Types:
General Purpose
Compute Optimized
Memory Optimized
Accelerated Computing
Storage Optimized
General-purpose instances provide a balance of
Compute
Memory
Networking
Examples of workloads include web servers and code repositories.
Below are the general-purpose EC2 Instances that can be used.
Compute Optimized Instance type is ideal for high-performance processors.
Below are the categories that are well-suited
Batch Processing Workloads
Media transcoding
High-performance web servers
High performace computing(HPC)
Scientific modeling & Machine Learning
Dedicated gaming servers
Below are the EC2 Instances that can be used.
These are designed to deliver fast performance for workloads that process large data sets in memory
Below are the categories that are most used:
High-performance databases, such as Relational and Non-relational databases
- eg, MySQL, PostgreSQL, MongoDB, etc
distributed web-scale in-memory caches.
Real-time big data analytics.
Electronic Design Automation
SAP HANA Workloads
Machine Learning Model Training
Below are the EC2 instances that can be used for this Instance type
These are used for hardware acceleration or co-processors
Below are the use cases
Floating point number calculations
graphics processing
Data pattern matching
Computer Vision, like image and video analysis
Financial Modeling, like high-frequency trading algorithms.
These are the EC2 instances that can be used
Storage-optimized instances are designed for workloads that require high, sequential read and write access to large datasets on local storage.
These instances are optimized to deliver tens of thousands of low-latency, random I/O operations per second(IOPS) to applications.
Below are some use cases
High-performance databases such as NoSQL databases, Time Series databases, and in-memory databases
Distributed file systems like HDFS ( Hadoop Distributed File System)
Data warehousing
Log and data processing
Data Lakes and many more.
Processor Options:
x86-based processors (Intel and AMD)
Arm-based AWS Graviton processors
Burstable Performance
- Instances like T3 provide a baseline level of CPU performance with the ability to burst above the baseline.
EBS Optimization
- Dedicated throughput between Amazon EC2 and Amazon EBS
Enhanced Networking
- Higher packet per second (PPS) performance, lower inter-instance latencies, and lower network jitter
Auto Recovery
Automatically recover instances in case of system impairments
Placement Groups
- Logical grouping of instances to optimize for networking performance
Elastic Fabric Adapter (EFA)
- A network interface for Amazon EC2 instances that enables low-latency, high-throughput networking
Instance Store
- High-performance, temporary block-level storage
Elastic Inference
- Attach low-cost GPU-powered acceleration to EC2 instances
AWS Nitro System
- A combination of dedicated hardware and a lightweight hypervisor for enhanced security and performance
Hibernation
- Preserve the in-memory state of an instance for quick restarts
When selecting instance types and features, consider your specific workload requirements, performance needs, and cost constraints. Always refer to the official AWS documentation for the most up-to-date information on instance features and availability across regions.
Subscribe to my newsletter
Read articles from Gopala Gabbita directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
