Suggest the right compute type within the ECS cluster


I am currently managing a microservice application comprising 12 microservices. Presently, the application is hosted on EC2 instances, with each service having an individual instance. This setup results in 12 instances for the 12 services.

Our decision is to migrate the application into containers. AWS offers two container orchestration services, ECS and EKS. After careful consideration, we have chosen to proceed with an ECS cluster due to its simplicity and cost-effectiveness. Within ECS, there are two compute options: EC2 and Fargate.

However, we are facing a dilemma in choosing between EC2 and Fargate. Our minimum requirement for deployment includes 8 GB of memory and 4 vCPUs per service, as the application runs continuously, 24/7. Initially, Fargate seems to offer a feasible solution, but upon closer examination, its cost calculations appear exorbitant for our requirements.

Despite recommendations from various sources advocating for Fargate, we are hesitant due to its potentially higher costs compared to EC2.

Therefore, I seek guidance on whether I have overlooked any pertinent factors in my cost calculations. Additionally, I would appreciate insights into the optimal approach for selecting the appropriate compute type. Is Fargate truly cost-effective in our scenario? Any recommendations or advice would be greatly valued.

1 Answer

Choosing between EC2 and Fargate essentially comes down to the level of control you need over your server environment and the associated costs. EC2 instances allow you to handle specific details about your server environment and are generally more cost-effective for continuous applications. Fargate, while more simple and automatically scalable, does come at a higher cost, especially for applications with high memory and CPU requirements.

For 24/7 applications with the minimum requirements of 8GB memory and 4 vCPUs, EC2 instances are often more cost-effective. However, Fargate's pricing can be economical if you only pay for the resources you need. It's crucial to balance cost, control, and simplicity in your decision.

answered 2 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions