17
votes

I understand that ECS has EC2 and fargate launch types that differ in the control they offer over the underlying environment configuration.

Before Fargate, ECS was used to provide detailed control over the container environment, while Elastic Beanstalk was used to abstract those details and just run the containers.

In the FAQ section of AWS ECS it says:

For Beanstalk, You simply specify which container images are to be deployed, the CPU and memory requirements, the port mappings, and the container links. You can work with Amazon ECS directly if you want more fine-grained control for custom application architectures.

Now with Fargate, it seems that the offered functionality is quite similar. So what are the differences between Fargate and docker on Elastic Beanstalk?

1

1 Answers

17
votes

Multi Container Elastic Beanstalk, actually uses ECS to provision your cluster, which make it operate as a Platform-As-A-Service (PaaS) model, as then you can run your images on the cluster it sets up.

Fargate runs on a fully managed server so you dont worry about the cluster or server as you would in Elastic beanstalk. You just manage the Docker container making it more of a Software-As-A-Service (SaaS) model.