Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why do you want to use AWS ECS vs. ElasticBeanstalk for Docker?

I'm planning to use Docker, and associate 1 EC2 instance with 1 Microservice.

Why do I want to deploy Docker in AWS ECS vs. ElasticBeanstalk?

It is said that AWS ECS has a native support to Docker. Is that it?

It would be great if you could be elaborate the pros and cons of running docker on AWS ECS vs. ElasticBeanstalk.

like image 211
ZeusX Avatar asked Oct 25 '17 09:10

ZeusX


People also ask

Why should I use AWS ECS?

Amazon Elastic Container Service (Amazon ECS) allows you to easily deploy containerized workloads on AWS. The powerful simplicity of Amazon ECS enables you to grow from a single Docker container to managing your entire enterprise application portfolio.

What is difference between Docker and ECS?

To sum up, ECS is just about clustering of EC2 instances, and uses Docker to instantiate containers/instances/virtual machines on these ( EC2 ) hosts. All you need to do is launch an ECS , and register/add as much EC2 instances to it as you need.

Is Amazon ECS same as Docker?

Amazon ECS uses Docker images in task definitions to launch containers. Docker is a technology that provides the tools for you to build, run, test, and deploy distributed applications in containers. Docker provides a walkthrough on deploying containers on Amazon ECS.

What is the most effective use of Amazon Elastic container service?

Amazon Elastic Container Service (Amazon ECS) is a highly scalable and fast container management service. You can use it to run, stop, and manage containers on a cluster. With Amazon ECS, your containers are defined in a task definition that you use to run an individual task or task within a service.


1 Answers

Elastic Beanstalk (multi-container) is an abstraction layer on top of ECS (Elastic Container Service) with some bootstrapped features and some limitations:

  • Automatically interacts with ECS and ELB
  • Cluster health and metrics are readily available and displayed without any extra effort
  • Load balancer must terminate HTTPS and all backend connections are HTTP
  • Easily adjustable autoscaling and instance sizing
  • Container logs are all collected in one place, but still segmented by instance – so in a cluster environment finding which instance served a request that logged some important data is a challenge.
  • Can only set hard memory limits in container definitions
  • All cluster instances must run the same set of containers

As of ECS IT is Amazon’s answer to container orchestration. It’s a bit rough around the edges and definitely a leap from Elastic Beanstalk, but it does have the advantage of significantly more flexibility including the ability to even define a custom scheduler.

All of the limitations imposed by Elastic Beanstalk are lifted.

Refer these for more info :

Elastic Beanstalk vs. ECS vs. Kubernetes

Amazon EC2 Container Serivce

Amazon Elasticbeanstalk

like image 54
Kush Vyas Avatar answered Sep 28 '22 08:09

Kush Vyas