0

I encountered this idea when I was working as an intern.

At that time I transfered our web server from nginx to node.js. There were great many modifications and "dirty works" I need to do, given this situation I was unsure about whether I can make it without crashing the existing system(nginx based). So I make a virtualbox image that containing new nodejs based server, and deliver the image to others for testing - people just use their browser to connect the local port of the application which resides in my virtualbox image.

I think it is an attractive way to distribute normal desktop GUI application, given the great improvement of front-end technology like HTML5, WebGL, Canvas, etc.

One great advantage is I can get rid of the different appearence of GUI framework in different OS. (Assuming we can get a uniform looking using browser in a near future).

But there are some problems I need to address:

  • the size of the virtual machine image. I need a compact linux distribution to build a small size image. Any suggestions? Is LFS a good choice?
  • how much performance can I expect from a virtual macchine based application? that is, is it a good idea to deploy computation intensive application in this way?

any suggestions appreciated. thank you.

P.S. I know there exists some similar idea with a different method, like chakra linux's bundle system(bundle system). Can you give me some hints on comparing them?

1 Answers1

1

First question:

A system I often use is a Linux Live Distro (or building your own). This is quite simple with tools like

debian-live

and they are very compact compared to a "real" VM. It is a buch of work to get it really minimal, but it works. You have to decide if this approach is worthless or not. Depends also on your customers and their acceptance of download sizes up to 300 MB.

Second question:

If you're using CPUs with Intel-VT or AMD-V in combination with a pseudo-paravirtualized linux system, you can gain up to 99% of CPU speed (computation). You get even more by using real-paravirtualized linux systems like KVM or XEN. (All this normally require root/admin privileges and there are normally not applicable to customer computer)

A.Steinel
  • 176
  • 5