AWS Elastic Container Service(ECS) is a container orchestration service. It helps you deploy containerized applications.Managing containers and the EC2 instances in which containers are run can become a challenge. If you don’t want the hassle of managing the servers and also ensure your usage is optimized then AWS Fargate can help.
AWS Fargate removes the need to choose instance types or manage the EC2 instances. You need to only specify the number of CPU’s and memory required for the container task. Actual provisioning and instance management is taken care of by AWS Fargate.
- Managing container infra like servers and O.S including patches, security updates, etc is a hassle
- Developers are spending their precious time on container and cluster management.
- Capacity management is a pain resulting in over provisioning and increased costs
- You need detailed insights and metrics on container usage to resolve issues quickly.
How to REDUCE your monthly cloud bills by 25% in 7 days ?
5 simple and highly effective suggestions in blueprint to reduce your cloud costs.
No. AWS Fargate is costlier. On an average it is costlier by at least 20%. See table below. But you spend less time managing the infra and your compute sizing is closer to actual need. That should offset the extra costs.
AWS Fargate Price per vCPU/hour : $0.04256
AWS Fargate Price per GB of Memory/hour : $0.004655
Here’s a quick look on the pricing you will incur for the different EC2 instance types and the pricing if you use AWS Fargate.
|AWS ECS using EC2 Instance vs AWS Fargate
Fargate pricing is for same number of cpu’s and memory as EC2 instance
|EC2 Instance Type||EC2 Instance Pricing/hour($)||Fargate Pricing/hour ($)||% Extra you spend for Fargate|
|t3.medim(2 vCPU, 4GB Ram)||0.0448||0.10374||132%|
|t3.large(2 vCPU, 8GB Ram)||0.0896||0.12236||37%|
|t3.xlarge(4 vCPU, 16GB Ram||0.1792||0.24472||37%|
|c5.large(2 vCPU, 4GB Ram)||0.085||0.10374||22%|
|c5.xlarge(4 vCPU, 8GB Ram)||0.17||0.20748||22%|
|c5.2xlarge(8 vCPU, 16GB Ram)||0.34||0.41496||22%|
|c5.4xlarge(16 vCPU, 32GB Ram)||0.68||0.82992||22%|
|r5.large(2 vCPU, 16GB Ram)||0.13||0.1596||23%|
|r5.xlarge(4 vCPU, 32GB Ram)||0.26||0.3192||23%|
Is it easy to use AWS Fargate?
It is quite easy to deploy using AWS Fargate. AWS Fargate appears as a deployment option when you create your clusters in ECS. You choose AWS Fargate instead of EC2 instance option. After that , for each task, you define the CPU and memory needed. Specified number of CPU’s and memory is provisioned and managed by AWS Fargate.
How to find out if AWS Fargate is cheaper and better for my workloads?
You need to do a bit of math here. Find out your current AWS ECS provisioned capacity(EC2) and actual utilization levels. Work out the costs incurred. Compare it with the costs you will incur for AWS Fargate. It will help you know the cost benefits(if any). Also factor in the intangible benefits in terms of reduced efforts and less issues.
The above approach and data points will make it easier to decide.