Using Virtual Appliances in VMware Workstation
Like the Apple App Store has revolutionized the idea of downloading iPhone/iPap apps from an online store, VMware has made the idea of downloading virtual machines from an online store, quick and easy. Certainly downloading “things” is not new but what is new is when there is mass adoption of the concept because it makes something that was difficult, now easy and allows for user submitted content. The VMware virtual appliance marketplace was VMware’s first incarnation of that “VM store” and recently it has been vastly improved and renamed – the VMware Solutions Exchange (or VSX).
In fact, as I write this article, it seems that even the site design of the VSX has been improved with an almost Windows 8/2012 “metro interface” that I really love (I’m sure that VMware wouldn’t like calling it that). Here’s what it looks like:
Figure 1: The New VMware Solutions Exchange (VSX)
The VSX allows VM creators (who don’t have to be developers) and enterprise software companies to submit their virtual machines for user download. Their “VMware Ready” program means that submitted virtual machines have been tested by VMware (those are usually the VMs from the enterprise software companies)- passing specific checks including security. Virtual machines break down into categories like Featured (6), Applications (1012), Cloud (99), Datacenter (691) End User Computing (166), and Virtual Appliances (1089). As you can see there are over 1000 virtual appliance solutions available for download. You can download appliances and import them into VMware Player (which is free), VMware Workstation (30 day evaluation), VMware Fusion (30 day evaluation), VMware ESXi free edition, or the VMware vCloud Suite (which includes the commercial vSphere and has a 60 day evaluation).
There are a ton of really excellent virtual machines out there and I encourage you to try as many as you have time to. For this article, I’ve selected one and I’ll show you how to use it into VMware Workstation, version 9.
Downloading a Virtual Appliance
With over a thousand virtual appliances to choose from, it was tough to pick just one to demonstrate. I’m a big fan of the WordPress open source content management system (a system than the majority of the Internet blogs run on today). Let’s say that you want to create a WordPress blog, locally, on your own computer, to use to test designs, create a site before launch, test plugins, or whatever. I really like how by downloading a WordPress virtual appliance, you don’t have to worry about installing Linux, installing MySQL database, installing PHP, installing WordPress, or even performing the initial WordPress configuration or setup. This virtual appliance is really what they call the LAMP stack + WordPress (where LAMP is Linux, Apache, MySQL, and PHP).
For these reasons, I selected the BitNami WordPress Stack 3.1.2-0 that runs on top of Unbuntu 10.10 (you can find the latest version by searching the VSX).
Figure 2: BitNami WordPress Stack Virtual Appliance
I clicked the Try button on the virtual appliance homepage and was taken to the BitNami App Store. You see, unlike the Apple App Store, the VSX is really more of a “yellow pages directory” where virtual appliances are listed and the creator specifies the URL for their download. However, that URL doesn’t have to be a direct download. It could be the virtual appliance developer’s homepage where you can download the virtual appliance (or, in some cases, fill out a form to evaluate a commercial solution).
From here, I navigated the BitNami store to download apps On Your Servers, to download the WordPress Blog (they have over 66 different open source virtual appliances in their store), and then to download WordPress as a virtual appliance for VMware (note that you can also download it to install directly in your OS, download as a Mac App, or download it as a cloud VM for Azure or Amazon EC2).
Figure 3: Over 66 Different Virtual Appliance Available
Figure 4: Downloading WordPress as a Virtual Appliance
The 441MB download took about 5 minutes. When done, I ended up with WordPress 3.5.1 on Ubuntu 12.04. That’s another differentiator between the Apple App Store and the VMware VSX – because VMware doesn’t verify the virtual appliances (unless they are VMware Ready), you may not end up with the exact same version that was advertised. Still, in most cases, the end result is a very good one. My recommendation is to find a developer that offers free or very cheap virtual appliances and seems to keep them updated over time. Once you find that type of developer, go back to them over and over.
I extracted the ZIP file and ended up with a folder, containing my two most important files – the VMX (configuration for the virtual machine) and the VMDK (virtual machine disk file).
Figure 5: The WordPress Virtual Machine Files
Using the Virtual Appliance
From here, this appliance could be used into a variety of virtualization hypervisors including VMware Workstation, Fusion, vSphere/ESXi, and even Sun/Oracle VirtualBox (by using the OVF file). I opted to use VMware Workstation for this demonstration. Inside Workstation, I went to File -> Open (or you can press Ctrl-O). I selected the VMware virtual machine configuration file for this VM (the VMX file).
Figure 6: Selecting the Virtual Appliance VMX Configuration File
Since the VM that we downloaded is already in VMware format, there is no real “import” or “conversion” that has to be performed.
Once opened, I clicked Power On to power on the virtual machine.
Figure 7: The Powered On WordPress Appliance in Workstation
During the power up, I did get a warning at the bottom right of the screen about the virtual CD/DVD being invalid but that didn’t cause a problem or prevent the appliance from powering on.
Once booted, if you click on the console of the VM, you’ll see directions on how to access the web interface for the appliance, the appliance (determined via DHCP by default), and the username / password credentials that you would use to login.
Figure 8: The WordPress Virtual Appliance Console
By pointing my web browser to the IP of the appliance, I get the web-based console.
Figure 9: Web-based Virtual Appliance Console
From here, I can access the WordPress web page, the administrative webpage for WordPress, or the PHP admin console.
Figure 10: The WordPress Virtual Appliance Homepage
At this point, we have a fully-functioning WordPress web server running in VMware Workstation on our local laptop or desktop. I didn’t have to go through downloading or installing Linux, PHP, MySQL, or WordPress nor did I have to perform the WordPress setup. With this, I can easily test WordPres themes, plugins, or just develop a WordPress site offsite, for later deployment to VMware vSphere.
In fact, the easiest way to get this appliance into vSphere, when you are ready, is to open an ESXi host or vCenter directly from Workstation 9 with the Connect to Server option, or Ctrl-L. Once connected, you can modify this WordPress VM to be VM hardware version 9 compatible (or just ESX compatible) and then drag and drop it to the vCenter server for deployment. Here’s what it looks like when running in vSphere but as seen by VMware Workstation:
Figure 11: Virtual Appliance from Workstation Running in vSphere, Managed by Workstation
The virtual appliance can still be seen, controlled, and the console can all be accessed by Workstation, even though we are now running the appliance in vSphere.
Workstation and vSphere are becoming more and more interoperable and I like it!