Have you ever attended or taught in-person software training? It usually involves flying a group of people to a training lab, where they sit for 6-8 hours per day in a physical classroom as a trainer walks them through lessons and helps with problems students encounter.
And this model was a vast improvement over the prior one, which consisted of shipping a set of instruction manuals!
In-Person Software Training is Complex and Expensive
Training is a critical tool to enable the software innovation economy, particularly for getting people up to speed on complex systems. However, training in software—especially enterprise software—is often an expensive, time-consuming process.
In these labs, students are not free to use their own laptops, mainly due to concerns about inconsistent environments or incompatible hardware. On top of that, there are usually issues with installing the required software on students’ machines due to corporate restrictions.
In order to ensure that each learner has the same exact experience, many training labs have identically configured machines. Each machine must have the same hardware specifications and the image used to clone the OS and software must be set well in advance, so IT can use disk cloning software to push the images out to each student machine.
If at any point during the training, a student’s machine gets into a broken or misconfigured state, the process of “resetting” to a last known good state is a non-trivial one.
Virtualization Soves the Lab Setup Problem
Because software training departments have to rely on their corporate IT for these physical training labs, many have made the shift to using virtual machines, either running on the student machines or hosted in local or cloud infrastructure.
Virtual machines are easier to replicate than physical ones and allow students to use a wider range of hardware, especially if their interaction with the virtual machine is through a web app UI or secure shell.
Unfortunately, VMs still present an issue of management. If the training department needs to set up a new training environment–or even make changes to a course–they need to submit a request to corporate IT, who create, manage, and host the virtual machines.
Cloud-Based Training Labs in the Age of Online Learning
Even with virtualization, students have to travel, can’t take the training environment back to explore on their own, and are locked into a synchronous mode of education with a cohort of other students.
While in-classroom software training is still used, more companies are turning to online platforms to deliver their training. The virtualization of servers coupled with the rise in online education has given companies the ability to create software environments for each student, letting them interact via a web browser with software installed on a remote server. They can even log in to a terminal session on a server via secure shell. All of this is possible without requiring students to install software on their local computers.
However, setting up these virtual environments for online training still requires an IT department, to configure and host the virtual machines that the students access. Smaller organizations may not have access to the IT resources needed to support this type of learning environment. In larger organizations, the IT resources exist, but may not be able to respond quickly enough to requests to provision resources to meet student demand.
Enter the Virtual Software Lab
To address these challenges, we have built a new service: Appsembler Virtual Software Labs. This service, coupled with Open edX, provides software trainers the ability to create high quality, repeatable software learning experiences.
Appsembler Virtual Software Labs let you:
- Create a curated lab environment with the software the students need to learn. The Appsembler Virtual Labs service lets you build the environment with all of the software that students need — for example, a Cloud9 development environment coupled with a web application server. Once created, Appsembler Virtual Labs lets you “snapshot” the environment so each student gets a clean, uniform copy.
- Provide each student with a dedicated software environment. Each student is given their own virtual lab environment–based on the master “snapshot” but isolated from other students–where they can conduct exercises and complete hands-on assignments. Each environment can be kept active for however many days or weeks you want each student to have access to it, meaning their work is saved even if they take a break or close their browser.
- Allow your students to launch the virtual lab directly from an Open edX course. By embedding a widget provided by the Appsembler Virtual Labs, your course authors can give students the ability to launch the virtual lab environment directly from sections within their Open edX course. The widget is provided by using our Container Launcher XBlock.
- Focus on creating top-tier learning experiences without worrying about hosting. Once you have created the software environment for your training, the Appsembler Virtual Labs service handles the hosting, versioning, and backups. This way, you can focus your energies on using the rich suite of course creation tools that Open edX provides, so your students get a great learning experience. Your staff will still have access to the student environments, enabling them to audit them to ensure that the students have completed the work correctly.
- Meet the needs of a growing training program by automatically scaling up to meet student demand. Especially for on-demand software training, you may not know how many students at one time will need access to the lab environment. Appsembler Virtual Labs scales up automatically to meet the demand, automatically provisioning the servers needed. Our platform also scales up as you create additional courses with new lab environments, and provides your staff with a dashboard to manage them.
How to Get Started with Virtual Labs
If you want to see Appsembler Virtual Labs in action, please contact us or request a demo.