I have a few basic questions on scaling Docker containers:
I have 5 different apps. They are not connected to each other. Before having containers I would run 1 app per VM and scale them up and down individually in the cloud.
Now with containers I get the isolation on top of a VM, so now I can potentially run one host with 5 docker containers where each app is isolated in its own container.
As long as I have enough resources on my host I can scale up and down those containers individually as my traffic grows or shrinks. e.g. I have 3 containers running app 1, but only 1 container running app 2.
At peak times app 3 gets a lot of traffic and I need to launch a 2nd host which runs only containers for app 3.
My first question is if the above makes sense what I say or if I have misunderstood something. My second question is what technology is currently available to get this all done in an automated way. I need a load balancer and an auto scaling group which is capable of the above scenario without me having to do manual interventions.
I looked into AWS ECS and am not quite sure if it can satisfy my needs as I outlined it above.
Does anyone know how to achieve this, or is there a better way of managing and scaling my 5 apps which I am missing?
UPDATE:
Via Twitter I have been pointed to Kubernetes and specifically to the docs on the Horizontal Pod Autoscaler.
Might be useful for others as well. I will update this question as I learn more.