What vCPUs in Fargate really mean?
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
Amazon Fargate, a serverless compute engine for containers offered by AWS, abstracts away the need to manage infrastructure, simplifying container management and allowing developers to focus on building applications. However, understanding Fargate's virtual CPUs (vCPUs) is crucial for maximizing efficiency and ensuring your applications perform optimally. In this article, we delve into what vCPUs in Fargate really mean, including technical explanations and useful examples.
Understanding vCPUs in Fargate
Basics of vCPUs
In a traditional environment, CPUs refer to the physical processors in a computer. However, in cloud computing, and specifically in Amazon Fargate, the term vCPU (virtual CPU) is used to describe a unit of computing power. Each Fargate task or pod can be configured to use a certain number of vCPUs, providing predictable performance by specifying the amount of CPU resources allocated to your containers.
Fargate's vCPU Model
Amazon Fargate uses vCPUs as an abstraction of the underlying physical CPU. Here's how it's defined:
- 1 vCPU: Represents a single hyperthread on a 2.5 GHz Intel Xeon Scalable processor (Skylake).
- Provisioning: vCPUs in Fargate are provisioned in increments of 0.25, 0.5, 1, and up to the maximum available cores provided by the Fargate infrastructure.
- Sharing and Isolation: Unlike traditional EC2 instances where multiple tasks might share a single host's CPUs, Fargate schedules tasks on isolated environments where the specified vCPUs are dedicated to your task.
vCPU Allocation
Allocating the right amount of vCPUs is critical to ensuring optimal performance and cost-effectiveness:
- Under-provisioning: If you allocate fewer vCPUs than your application requires, it may lead to throttled performance, increased response times, or even dropped requests under load.
- Over-provisioning: Allocating more vCPUs than needed increases costs without proportional performance benefits.
Example of vCPU Allocation
Consider a scenario where you have a batch processing application that typically consumes 1.5 vCPUs during peak load. In such cases, you might allocate 2 vCPUs to buffer occasional spikes, ensuring smooth performance:

