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 "What
about VMware Workstation? Does that fill the desktop computing need?" 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 "Workstation-lite".
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 model

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).

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 "TechRepublic Demo".
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.

Figure B

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.

VM policies

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).

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?
  • "Hot fix" 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 "user
experience" 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.

Figure D

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 "Start the virtual machine" 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 "Create
package for distribution to end users." See Figure E.

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.

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.

Figure G

Where would you like to save your new package?

Deploy

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.

Figure H

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.