Architecture 使用虚拟机进行软件分发的新方法?

Architecture 使用虚拟机进行软件分发的新方法?,architecture,virtual-machine,virtualbox,software-distribution,Architecture,Virtual Machine,Virtualbox,Software Distribution,我在实习期间遇到了这个想法 当时我将我们的web服务器从nginx转移到node.js。我需要做很多修改和“肮脏的工作”,考虑到这种情况,我不确定是否可以在不破坏现有系统(基于nginx)的情况下完成。 因此,我制作了一个包含新的基于nodejs的服务器的virtualbox映像,并将映像交付给其他人进行测试——人们只需使用他们的浏览器连接驻留在我的virtualbox映像中的应用程序的本地端口 我认为,考虑到HTML5、WebGL、Canvas等前端技术的巨大改进,分发普通桌面GUI应用程序是

我在实习期间遇到了这个想法

当时我将我们的web服务器从nginx转移到node.js。我需要做很多修改和“肮脏的工作”,考虑到这种情况,我不确定是否可以在不破坏现有系统(基于nginx)的情况下完成。 因此,我制作了一个包含新的基于nodejs的服务器的virtualbox映像,并将映像交付给其他人进行测试——人们只需使用他们的浏览器连接驻留在我的virtualbox映像中的应用程序的本地端口

我认为,考虑到HTML5、WebGL、Canvas等前端技术的巨大改进,分发普通桌面GUI应用程序是一种很有吸引力的方式

一个巨大的优势是我可以摆脱GUI框架在不同操作系统中的不同外观。(假设我们可以在不久的将来使用浏览器获得统一的外观)

但我需要解决一些问题:

  • 虚拟机映像的大小。我需要一个紧凑的linux发行版来构建一个小尺寸的映像。有什么建议吗?LFS是个不错的选择吗
  • 基于macchine的虚拟应用程序的性能如何?也就是说,以这种方式部署计算密集型应用程序是一个好主意吗
如有任何建议,我们将不胜感激。多谢各位

另外,我知道有一种不同的方法存在类似的想法,比如chakra linux的bundle system()。你能给我一些比较它们的提示吗?

第一个问题:

我经常使用的一个系统是Linux Live发行版(或构建自己的发行版)。这是非常简单的工具,如

debian live

与“真正的”虚拟机相比,它们非常紧凑。这是一个非常小的工作,但它的工作。你必须决定这种方法是否毫无价值。还取决于您的客户以及他们是否接受高达300 MB的下载大小

第二个问题:

如果将CPU与Intel VT或AMD-V结合使用,并与伪半虚拟化linux系统结合使用,则可以获得高达99%的CPU速度(计算)。通过使用真正的准虚拟化linux系统,如KVM或XEN,您可以获得更多。(所有这些通常需要root/admin权限,并且通常不适用于客户计算机)