Technology continues to make our lives as training professionals both easier and more challenging. While many of us have spent a lot of time over the years learning how to best use software such as Flash and Captivate to simulate software applications for training purposes, the fact is that even the best “simulations” are clearly just that. And given the lack of support for depth in current rapid simulation authoring software, anything we can do to enhance realism while not increasing design and development time is a step forward.

In 2004, I was responsible for training a group of software technical specialists to install and configure a new software product my company was introducing to the market. I cringed at the prospect, having recently “sat through” a similarly tasked course that addressed the installation process at a high level, followed by a grueling step-by-step procedure list complete with static screenshots along the way. At the end of the course, the student was required to go through a “simulation” that followed the typical rapid scheme: a caption telling the student what to do, followed by the student clicking the correct button or entering the right text, and then on to the next step.

For those of us who were around back then, this was cool stuff and was (and, unfortunately, remains) the norm for these types of rapid simulations. But the learning was superficial at best. If the student clicked the wrong button or entered the wrong text, they simply received another caption telling them what to click on. But that isn't how software works in the real world. Typically, we get to really torture our misguided selves when we click on or enter the wrong thing. It's just the first misstep in what is often multiple levels of a “hole” that we must later back out, or cancel out, of.

No doubt, there are and have been simulation development products in the market that can increase the depth of software training, but they are very expensive, come with a steep learning curve, and increase the course development timeline. Because of this, they have not been adopted by most organizations.

It was around that time that I first learned about software virtualization. Since then, my colleagues and I have been able to leverage virtualization to enhance the quality of our training offerings, both in the traditional classroom environment and as part of synchronous and asynchronous e-Learning.

What is virtualization?

Wikipedia defines virtualization as "the creation of a virtual (rather than actual) version of something, such as an operating system, a server, a storage device, or network resources." When introducing virtualization to instructors, I simply refer to the typical use case and context: "A machine within a machine," or "a computer running inside your computer, pre-configured by you." I then show them a running virtual machine.

In order to understand how to work with virtualization you need to first know two terms: host, and guest.

Host: the operating system (or "machine", if you prefer) on which the virtualization software runs. This is your PC.

Guest: the virtual machine itself. The guest will typically contain an installation of an operating system such as Windows, along with any applications and data needed for use by the learner.

For example, you may have a RedHat Linux "guest" virtual machine (VM) running on a Windows 7 "host." (See Figure 1.)


screenshot of Red Hat Enterprise Linux

Figure 1. Screenshot of a virtual machine running in a browser window


Leveraging virtualization for training

There are two issues that I’ll address here: costs, and deployment considerations (there may be others, depending on your specific situation).


One of the great things about virtualization is that it can be very inexpensive to leverage, and in some cases it is even free. The only definite costs are in regards to licensing the software that you install and distribute via your guest virtual machines. This is particularly true if you are using Microsoft Windows and/or Office on the guest machines. The virtualization software itself is no cost, with free versions from VMware and the open-source VirtualBox being the most commonly used solutions to create and then run virtual machines.

Deploying your virtual machines to students

Once you have created your virtual machine “template” and installed your operating system of choice into it, you can leverage it in a number of ways for training purposes. In the past, we've done this in the following ways:

  1. In a traditional software classroom, by pre-configuring a copy of the VM on each training PC in advance of the class

  2. By distributing virtual machines to students ahead of a synchronous Web-based class, to be used during (and sometimes after) class

  3. As part of an asynchronous Web-based training environment, to be used as an exploratory training “sandbox” or simply as a place to complete exercises, case methods, etc.

But be forewarned: the biggest hurdle is typically just getting the virtual machine, which is really just a set of files, to the students. This is because some of the VM files can be very large, usually gigabytes in size. You will specify the actual size when you create the VM. It can be as large (or small) as you wish, keeping in mind the space needed for the operating system and additional applications and files you wish to put on the VM.

There are a number of ways to get the VM files deployed to your target hosts. These include:

  1. Burn to DVD

  2. Save to USB "key"

  3. Download via FTP

From there, you, or the student, will need to install a virtual machine "player" application, and then copy the VM files onto the intended PC. Both VMware and VirtualBox applications are available, and run equally well on Mac and Linux. You can even run Windows as a virtual machine guest within a Linux-based host, for example, and vice-versa.

Make no mistake about it – getting your virtual machine files to your student machines is a real hassle because of the file sizes involved, and it often requires IT support, particularly if your students do not have the proper permissions on their PC to install the virtual machine player software. Third-party vendors have noticed this problem and have begun offering cloud-based virtualization solutions. Vendors such as Skytap ( offer a virtualization solution that is completely Web-based both for trainers/administrators, and for the students who will access the virtual machines through their Web browser. (See Figure 2.) This way of deploying virtual machines is often the best approach – virtualization without the IT overhead, but it comes in exchange for licensing/maintenance costs of the cloud-based service. That said, we've found that for e-Learning, both synchronous and asynchronous, cloud-based virtualization is worth the cost.


screenshot of Skytap Cloud displaying users that are logged in

Figure 2. Screenshot of cloud-based Skytap virtual training lab


Although I have used more flexible server-based virtualization solutions for deploying virtual machines, these new cloud-based services are ideal because non-technical users can administer them. And, if used properly, the learner need simply navigate to their provided VM's URL to begin using it.

Returning to Figure 2, this is the administrative view of a typical virtual training lab. Notice that the training lab administrator can run, shut down, suspend, add, remove, and deploy machines as needed for each student. You also have the ability to set permissions and access by user. You can create large virtual labs and make them available to students within minutes.

Use cases for e-Learning

There are four use cases that I believe will be pretty common: synchronous training, asynchronous training, testing, and the sandbox.


During our typical synchronous e-Learning courses, we leverage cloud-based virtualization along with our synchronous learning tool, Adobe Connect. We design our courses in a way that allows learners to leverage the Adobe Connect environment for instruction (demonstrations, slides, polling, etc.), along with designed activities in which they switch browser tabs, go to their assigned virtual machine, and complete a set of tasks as directed. While learners are working in their virtual machines, the instructor can view their machine by simply clicking on a thumbnail in their instructor-view. So if a learner has a question or gets stuck, the instructor can take over the learner's virtual machine and demonstrate as necessary. Once the activity is complete, the class reconvenes in the Adobe Connect environment to recap the activity. With thoughtful consideration and facilitation, we have found that this environment works very well and is much more effective than the typical “slides followed by demonstration” method.


For asynchronous learning we leverage virtual machines as “sandboxes” – safe training environments for learners to use. (See Sandbox below .)

Online testing

We also leverage virtualization for online testing. We conduct certification “Performance Exams,” by preparing a virtual machine with the necessary applications on which the student is trying to certify. The student logs in at a specified time and completes a set of assigned tasks. The virtual machine is available for a limited time, and once that time is up the instructor accesses the machine and “grades” the learner's performance by checking what configurations/tasks were performed successfully in the virtual machine. The Performance Exam tests and certifies the application of the knowledge and skills gained during the certification curriculum that learners must complete prior to taking the exam.


In addition, we make available training “sandbox” environments to students as needed. This can be very useful, and our students much appreciate it, as we can make available software applications, pre-configured as needed, for them to use in a “safe” training environment, both for independent exploration as well as to perform learning assignments.

In closing

My intent in this article was not to be procedural, but simply to spread the word of the maturity of virtualization technology, and how you can leverage it across traditional classroom, blended, and Web-based learning. As many know, just being aware that a technology like this is available is the biggest step.

If you think you can leverage virtualization for your learners’ benefit, I recommend that you download a copy of the latest Vmware Player or VirtualBox applications and give it a try. You just may find that virtualization is a valuable tool to add to your learning toolkit!