The goal of Containers is to fully abstract the application. That can only go so far - the underlying infrastructure is still a huge part of the application. The responsiveness of a web application doesn't just involve efficient algorithms and storage calls, but also backend call latency, and transport time back to the user.
The infrastructure doesn't have to be large, but distributing parts will help the entire service stay online. Front-end nodes could be distributed to different datacenters, and back-end could also be mirrored or replicated between locations. With some kind of global load balancing, users can be routed to the nearest server for the fastest response.
The binaries have to run somewhere, either in the virtualized unit or its host. And Open Source or Proprietary, you're going to have dependency bundles - .NET, Java, etc. It might be more efficient to lump Containers by dependency so fewer of them need to be loaded by a Host.
Comments
The goal of Containers is to fully abstract the application. That can only go so far - the underlying infrastructure is still a huge part of the application. The responsiveness of a web application doesn't just involve efficient algorithms and storage calls, but also backend call latency, and transport time back to the user.
The infrastructure doesn't have to be large, but distributing parts will help the entire service stay online. Front-end nodes could be distributed to different datacenters, and back-end could also be mirrored or replicated between locations. With some kind of global load balancing, users can be routed to the nearest server for the fastest response.
The binaries have to run somewhere, either in the virtualized unit or its host. And Open Source or Proprietary, you're going to have dependency bundles - .NET, Java, etc. It might be more efficient to lump Containers by dependency so fewer of them need to be loaded by a Host.