Amazon Elastic Compute Cloud (EC2) provides secure, elastic compute capacity (virtual servers) in the cloud. You can think of it like you are renting a piece of a huge server where you can spin up your own independent instances catered to your specific needs.
With Amazon EC2, you don’t have to spend time or resources obtaining new server resources. It allows you to boot up a new server instance in just minutes, and you can quickly scale to capacity as computing requirements change, and only pay for what you use.
Amazon EC2 utilizes virtual computing environments, called Instances, and they can be customized for CPU, memory, storage, and networking capacity (Instance Types).
The data is stored in multiple physical locations called Availability Zones, which then exist within Regions. This helps with redundancy and speeding up user access.
There are many preconfigured templates/images to help spin up an EC2 Instance in seconds, called Amazon Machine Images (AMIs). They package everything you need to stand up and run a server including OS and additional software. I stood up this WordPress website by using a WordPress AMI.
Amazon EC2 Instance Types
Amazon EC2 provides many different types of instances to fit different use cases, each with varying combination of CPU, memory, storage, and networking capacity.
- General Purpose
- Compute Optimized
- Memory Optimized
- Accelerated Computing
- Storage Optimized
- HPC Optimized
Learn more about each Instance type here: Amazon EC2 Instance Types
Amazon EC2 Pricing
There are different options when paying for EC2 instances, depending on your budget and need.
- Low cost and no commitment
- Pay fixed rate by the hour or second
- Use Case
- Applications with short term or unpredictable workloads that cannot be interrupted
- Bid for a price for instance capacity
- Up to 90% cheaper than On-Demand price
- Saves money for needs with flexible start and stop times
- Use Cases
- Applications with flexible start/stop times that need to be very cheap
- When there is urgent need for large amounts of additional computing capacity
- Flexible low pricing for EC2 and Fargate usage in exchange for commitment of consistent usage for 1 or 3 years
- Charged by the hour
- Save up to 72% on compute usage
- Physical dedicated servers
- Reduce costs by using pre-owned server-bound software licenses
- Can be purchased On-Demand (hourly), or Reserved for up to 70% off
- Use Cases
- Regulatory requirements that doesn’t allow multi-tenant virtualization
- Licensing that doesn’t support multi-tenant/cloud deployments
- Placement Group names must be unique within your AWS account, despite the type.
- You should keep the EC2 instance types homogeneous within Placement Groups
- You can’t merge Placement Groups
- You can’t merge existing EC2 instances into Placement Groups
- Cluster Placement Group: grouping of EC2 instances inside a single AZ
- Low network latency, high network throughput
- Only certain instances can be launched into Clustered Placement Group
- Spread Placement Group: grouping of EC2 instances each on distinct and separate hardware
- For applications with small number of critical instances that need to be separate
- Across multiple devices and AZs