É totalmente adequado usar os contêineres de VMs e , especialmente nesse tipo de cenário.
As VMs fornecem uma camada de isolamento segura que é barata e cara: - é barato em mão de obra, porque você não precisa trabalhar muito para conseguir uma boa segurança com VMs; - é dispendioso em recursos, porque a sobrecarga das VMs pode ser significativa, especialmente para serviços pequenos que exigem quantidades modestas de RAM.
(A "taxa de virtualização" pode ser considerada uma constante pequena; para serviços grandes, essa constante é insignificante, mas para serviços pequenos, ela se torna uma fração significativa da área ocupada total.)
Os contêineres, por outro lado, fornecem a você um isolamento de software barato e eficiente e um método de implantação (no sentido de que você pode implantar vários contêineres lado a lado sem se preocupar com versões conflitantes). / p>
Além disso, se você quiser implementar a nuvem híbrida (ou seja, transbordamento de uma nuvem privada para uma nuvem pública), os contêineres são uma maneira muito fácil de unir os dois ambientes, abstraindo suas diferenças.
Minha estratégia pessoal (supondo que estou entendendo suas necessidades corretamente) seria isolar inquilinos com VMs e confiar em uma nuvem privada simples (OpenStack ou outra), implantar em contêineres e mover esses contêineres entre sua nuvem privada e uma nuvem pública, conforme necessário. É claro que você pode redimensionar suas VMs (em qualquer nuvem) para acomodar a flutuação nos requisitos de recursos.