Virtual appliances are custom made operating system images for the purpose of serving a particular need like say, a web server appliance. They are built upon abase operating system and the custom selected and configured software installed on top of it. They can be either graphical or can be operated as a headless system. Usually they are run using a virtualization software, such as VirtualBox or more recently can used in one of the supported cloud computing facilities, such as the EC2.
Off-late, I have been exploring BoxGrinder (an article is coming up in Linux Magazine in May, 2012). It makes creating virtual appliances really easy and hence has made me think of a few ways strictly in an academic/research setting how virtual appliances may be useful:
- Provide a Linux based environment in a non-Linux environment – personal desktop to a computing lab. This can be easily achieved using VirtualBox. Each user will have a person copy of your appliance running. No remote login setup. No central server management
- If you are working on a tutorial/book which covers a programming language whose compilers/interpreters are dependent for the correct functioning on a Linux distribution, why not make a virtual appliance available to your readers? It will save you from making sure that the code works on your readers’ OS and will save your readers the pain of installing Linux on their computers. Even if you assume that readers may themselves install a Linux distribution using a virtualization software, providing a virtual appliance makes their life a lot easier.
Specific Use-cases Demo
- Ubuntu JeOS (looks inactive)
- Create your own appliance: An appliance is basically a “virtual” hard-disk file. So, if you want to create an appliance with a base distribution/operating system for which there is no appliance creator, just install the distribution in a virtual hard-disk, install the desired software, remove the non-desired ones and ship.