As we all know, pre-setup Virtual Appliances is an excellent way of testing and evaluating applications and setting up lab environments. Utilizing the same technology as a distribution method also has lot of additional advantages over traditional software distribution:
Reduced complexity
The end user doesn't have to set up complex dependencies and wrestle with software versions and incompatibilities.
Better optimization
The software is alread configured by the people who knows it best. Download and run functionality that leaves the end users with the task of actually testing the software, not testing the installation routine. If done correctly, Virtual Appliances are mean, lean, virtual machines.
Cross Platform
Until Microsoft does something regarding their licensing terms, using Windows as a base for a Virtual appliance is pretty much out of the question. Virtual Appliances could, however, be used to give Windows users access to Linux applications, without the need to install Linux on their computers.
Better resource utilization
End the one app, one box race. In theory you can multiple applications on one server, but normally you end up running dedicated servers for dedicated applications. By using Virtual Appliances, you can combinine multiple appliances on one physical box. With the growing concern regarding server power consumption, combining servers into fewer physical boxes makes a lot of sense. Power consumption is reduced, and computer resources more efficiently utilized as most standalone servers today are rarely utilized to their maximum potential. This leads to less power usage for the actual servers and subsequently less heat generation which in turn reduces the need for cooling. Cramming Virtual Appliances into less physical boxes, also reduces the need for space.
Increased portability
Since the hardware is virtualized, Virtual Appliances are portable. Get some generic hardware installed, run the virtualization engine installer and start the Virtual Appliance. Thats an advantage the hardware appliances just don't have.
A typical hardware appliance would be a firewall, right? Now, if your firewall decides it's time to leave the planet and give up, what do you do? You have to replace the physical box with a new one, in most cases an identical one. Normal procedure would then be to get it configured with the correct network settings and then restore the policy set from backup (Unless you have the whole config saved somewhere and dump it to directly to the new box). This will take some time, and you might not even be able to get a new firewall delivered the same day.
Now imagine the same scenario with a Virtual Appliance firewall. The hardware that runs the firewall crashes, what do you do? You have a few choices here. Since the Virtual Appliance runs on some generic hardware, you can probably replace the faulty hardware on your own. How often can you do actual hardware maintenance on a hardware appliance?
If thats not possible and you need to get up and running again fast, you install the virtualization layer (VMware Player/Server) on anther computer and boot the appliance from there (after all, you do have backups right?). My point is quite simple, it's much easier to get up and running again quickly if you base your infrastructure on virtual appliances instead of hardware ones.
Price
Running virtual appliances can be dirt cheap. Get some decent hardware (ram is important!), stick a few network cards in it and some storage and you have a nearly instant firewall/webserver/mailserver/storage server big enough to run a small office. If you run VMware Server on Linux you could end up only having to pay for the hardware itself. The rest is available for free (and yes, like in beer).
Building your own appliances
Most Open Source development teams are built around volunteers and passionate developers and users, like Gallery. This also means that most projects like this doesn't have the means to get a custom hardware appliance built nor any interest in doing so. By creating the Official Gallery Appliance we could distribute a pre-configured Gallery Appliance, without having to deal with the hardware.
Thanks to the people over at rPath we were able to build and distribute a fully fledged Gallery install, certain to work just about everywhere! I'm sure more services like this will become available in the future, Moka5 springs to mind.
Future of Virtualization
We'll just have to wait and see where we end up with this whole virtualization craze. Some people has really started to think big about the future of virtualization and what we might have in store. Intriguing thoughts, and perhaps Gartnes is correct and Microsoft Vista will be the last monolithic OS from Redmond after all?