Um projeto chamado Docker recebeu recentemente muita atenção por tentar resolver este problema.
Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.
Esta tecnologia aproveita os cgroups do Linux e algumas outras coisas para construir "contêineres" que podem conter todos os recursos e configurações necessários para executar um serviço específico, que pode ser gerenciado como pacotes, eles podem ser distribuídos, versionados e usados em uma ampla variedade de ambientes. (Esta é uma simplificação grosseira.)
Veja Quais são os principais recursos do Docker para saber mais sobre como ele realmente funciona .