title: Scaling Docker containers in the real world
body: <p>I have a few basic questions on scaling Docker containers:</p>
  
  <p>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.</p>
  
  <p>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.</p>
  
  <p>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.</p>
  
  <p>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.</p>
  
  <p>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.</p>
  
  <p>I looked into AWS ECS and am not quite sure if it can satisfy my needs as I outlined it above.</p>
  
  <p>Does anyone know how to achieve this, or is there a better way of managing and scaling my 5 apps which I am missing?</p>
  
  <p><strong>UPDATE:</strong></p>
  
  <p>Via Twitter I have been pointed to <a href="http://kubernetes.io/">Kubernetes</a> and specifically to the docs on the <a href="http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html">Horizontal Pod Autoscaler</a>.</p>
  
  <p>Might be useful for others as well. I will update this question as I learn more.</p>