By now, you've probably heard of VMware or Virtual PC and understand some of the benefits that it can bring to your computing environment. In short, virtual machines can make easy work of setting up a lab or creating a development environment on a tight budget. Or, virtual machines replacing physical servers can free up valuable rack space and simplify the systems management process.
With VMware's new offering—VMware ACE, short for Assured Computing Environment—the company is providing a way to help desktop managers take the bite out of constant desktop rollouts through the use of virtual machines.
What about Workstation?
The first questions that sprung to my mind were &quot;What about VMware Workstation? Does that fill the desktop computing need?&quot; The short answer is yes and no. VMware Workstation continues to be the system virtualization software of choice for those that need to simultaneously run other operating systems on their Windows or Linux machines. For example, for most of my writing for TechRepublic, I use VMware so that I don't need to have 18 different computers laying around my house. VMware ACE strives to fill a different void: the consistent desktop in remote enterprise locations or for other more difficult to support desktops, such as those of home workers or contractors.
What does ACE do?
First off, consider ACE to be &quot;Workstation-lite&quot;. Whereas Workstation has a full installer with a lot of complex hooks into the operating system, an ACE-delivered desktop just runs like any other application on the system. In this case, however, that application happens to be a full-blown operating system complete with a custom desktop designed specifically for the needs of that user.
The next question that logically comes to mind asks if this isn't exactly what Citrix does. Both Citrix and ACE do, in fact, have the capability to provide a full enterprise desktop to the masses. However, that's where the similarities end. Whereas Citrix runs applications at the server-side of the equation, VMware ACE truly delivers a full client-side machine, complete with the same computing power as the host system.
ACE has a working model very different from other VMware products. First, you have the ACE Manager, which is the tool used to manage the whole process. From this utility, you create a new ACE project, populate the project with a virtual machine, and then create a package containing that virtual machine that is then delivered to users as an application.
In other VMware products, such as Workstation and GSX Server, virtual machines are always created and run under the context of the VMware product you're using and are not generally distributed out to others.
VMware ACE Manager installation
The VMware ACE Manager installation is very straightforward, but might have a couple of surprises. First the product cannot be installed inside a virtual machine. My initial attempt to install the manager into a VMware Workstation-hosted machine failed with a message indicating that it needed to be installed on a physical server. My second attempt was to install the product onto the host itself. However, ACE Manager cannot load onto a system that has Workstation running (as per the release notes, neither Workstation nor GSX Server can be installed on the host). Therefore, I installed the product onto a different physical computer altogether. Once I got things running, it was a breeze to install and took only a couple of minutes. After installation, running the VMware ACE Manager program popped up a window that looks a lot like a Workstation interface, but with different headings (Figure A).
|The VMware ACE Manager interface|
Start a new ACE project
To start a new VMware ACE project, click the New Project button in the manager. One of the first steps is to name your new project. As you can see in Figure B, I've named my new project &quot;TechRepublic Demo&quot;. On the next screen, you have the option to add a new virtual machine to the new project by selecting the checkbox indicating that you'd like to do so.
|Name your new ACE project|
Once you decide to add a new virtual machine to your project, the Add Virtual Machine Wizard starts. This is where things get interesting. The first step of the wizard asks if you want to create a new virtual machine or if you'd rather use one you've already created. Any virtual machine created with VMware Workstation 4.x or VMware GSX Server 3.x can be used in an ACE project. Since I don't have any Workstation 4.x/GSX 3.x virtual machines to use, I need to create a new virtual machine. The virtual machine creation process is just about identical to the creation process used by Workstation and GSX Server. See this article to learn about how to create virtual machines.
After you're done creating your virtual machine—remember, you just have the machine, you don't have an OS installed yet—you can set ACE policies that are tied to this machine. In fact, the Add Virtual Machine Wizard's summary screen offers you just this option (Figure C).
|Select the checkbox shown to implement VM policies|
There are a great number of policies available for virtual machines deployed via ACE. For example, you can limit how long a virtual machine is valid and make it expire on a specific date. This could be useful if you have contractors with fixed contracts working on your systems. During their stay, you can provide them with a standard desktop that simply stops working when they're done. Beyond this, you can also control some of the behavior of the virtual machine. The following is a partial list of some of the settings you can control via ACE's VM policies:
- VMware ACE window settings: Determine whether the virtual machine will run in a window or as a full-screen application.
- Modify User Preferences: Allow the ACE user to modify personal user preferences, including the exit behavior of the virtual machine (suspend or power off the virtual machine, for example). Also, upon exit, does the VM revert to a snapshot to provide a clean workspace upon each startup?
- &quot;Hot fix&quot; support: Determines whether the user can request hot fixes for problems including lost passwords and expired ACE machines.
- Decide whether the user is allowed to restart or shutdown running VMs.
- Encryption: Should the contents of the VM be encrypted? If so, how should the encryption option be configured?
- VM expiration: Should a VM eventually expire? If so, when?
- Copy protection: Force a VM to run only from the original package installation location.
- And these are just some of the things you can configure in an ACE-delivered VM. It's nothing if not granular in its control!
When you're done modifying the ACE machine's policies, you'll be returned to the ACE Manager where you'll notice some key differences between Workstation and ACE, as shown in Figure D. First, there are more options for the new machine. You can start the VM, just as you would under Workstation—this is what you should do to install the operating system for the VM (discussed in the next section) as it's an area free from ACE policies and provides you with an unrestricted VM that you can easily configure for your users.
At the bottom of the list, you'll also see an option to run the VM in VMware ACE. This is where you can actually test the &quot;user experience&quot; with the new VM. Running a VM in ACE results in the policies you've set being applied, so you can easily determine whether they are too restrictive or might need to be modified.
|The VMware ACE Manager, sporting new options|
From this window, you can also manage ACE-based VM policies through the appropriate options and, in VMware style, you can edit VM settings such as adding more RAM, etc.
Installing the operating system
After you create the ACE project and virtual machine and determine what kinds of restrictions you'd like to place upon the user that will use this virtual machine, you need to install an operating system, just like you would for VMware Workstation, or for a real machine if you needed to provision one for a new user.
Use the &quot;Start the virtual machine&quot; option shown in Figure D to perform the actual operating system installation. In this context, you have complete access to the VM, just as you would if you were to install it under VMware Workstation.
I'm not going to go over a complete operating system installation, except to remind you to install the VMware tools inside your virtual machine after you're done with the operating system install. If you don't, you won't be able to complete the distribution of your ACE-based desktop later.
Package it up
Up to this point, with the exception of the few minor differences in ACE, you've probably seen little that differentiates the product from Workstation or GSX. However, this is where that changes. When you click on the project name in the ACE Manager window, you'll see options that aren't available in Workstation or GSX. The most interesting of these options is &quot;Create package for distribution to end users.&quot; See Figure E.
|The VMware ACE Manager window showing the package option|
A package is the software that you send out to the end user to whom you'd like to deliver a corporate standard desktop. Clicking this option starts the New Package Wizard.
The first step in the wizard asks you to name your project and provide its location. Since you just clicked on the project name, these details are already filled in. However, this window also provides you with a space for comments to help you keep track of what's what. You can save the contents to a different location—a network share, for example—if you like. The files included in the package will be everything needed to get a user up and running in an ACE environment.
The screen with the meat is next. This is where you decide exactly what you'd like to provide to the end user. The two main options are the VMware ACE environment itself and the virtual machine you've selected to provide that user. You don't have to provide everything, though. For example, if you've previously supplied a user with an ACE environment, you could opt to just push an updated virtual machine to them, or provide them with an updated set of virtual machine policies. For my example, I'm providing both the environment and a virtual machine, as shown in Figure F.
|Decide what to provide to your user|
Next, decide how you want to package the files. You can either save the image to an accessible network location, or have the package wizard save the files in multiple folders to make it easy to burn a DVD or CD with the image which you can then mail to a remote user, for example. For this example, I'm saving the image to a network location, as shown in Figure G.
|Where would you like to save your new package?|
With a network package saved and ready to go, I can deploy the package to a different machine on my network and have a useable desktop running in just a few minutes. To do so, locate the package folder you configured during the package creation process. Inside that folder is a file called setup.exe that handles the whole client installation process.
One of the questions you're asked during the installation is the installation location. I've opted to install my ACE environment to c:\TechRepublicDemo. The installation can take just a few minutes, or it can take a long time, depending on how large the files inside the package are. During this time, the AVE environment is installed in order to provide your virtual machine with an environment in which it can run. After that, your virtual machine is deployed. To start it, go to Start | All Programs | VMware | name of your virtual machine. The VMware ACE environment will start and your operating system will start up. In Figure H below, I've shown a Windows 98 environment. I know it's named XP, but this one is smaller and easier to demonstrate.
|VMware ACE running Windows 98|
With the exception of a user preferences menu accessible via the VMware ACE menu at the top of the screen, the user can't do too much to this machine.
ACE is the place
VMware ACE is absolutely a step in an interesting direction for desktop managers. In its present form, it will probably be of huge value to companies that need to securely support outside people and for telecommuters.
What I would love to see from VMware is a similar product that runs on top of a small Linux kernel rather than needing to run on a Windows host. Running on a small Linux kernel could allow desktop managers (and possibly server administrators) to deploy a standard desktop image to every desktop in the enterprise, regardless of hardware configuration inside the machine. On the server side, such a configuration could provide immediate disaster recovery benefits without the expense and complexity of ESX server.