How it works: Training Smart Labs in the cloud
Consider that you need to provide training environments for students (classroom or virtual training). Each student must get their own isolated training environment. Each environment consists of 4 virtual machines. One of them is a virtual network appliance like a load balancer or firewall (that you want to provide training for) and the remaining 3 are servers and/or clients. Lets assume that these virtual machines are running in your VMware based data center with static IPs, and you want to create copies of this environment in AWS for training. Ideally, you want to spin up these environments before a class, and tear them down after the class is completed.
Upload your virtual machines
Use the upload utility to upload your virtual machines (VMware or KVM) to Ravello. They will appear in your private library. Note, that you do not need to convert or change the VMs in any way.
Drag and drop your VMs onto the canvas
Create a new application and drag and drop the VMs that you just uploaded to the application canvas/ workspace. These VMs comprise your “application environment”.
Check/configure your network
Ravello automatically configures the network for you based on the information available in the VM metadata. In this case, click on the network tab and check the automatic network configuration. If the data was not available, or if you want to make any changes, simply edit the network.
Deploy your application environment to AWS or Google cloud
Click on publish and choose AWS or Google cloud. In about 5 minutes, your entire application environment (VMware VMs with the network topology) will be running in the public cloud. You will be able to console, ssh, rdp or connect to your VM as you would normally.
Blueprint for repeatable deployments
Once you have checked that the application environment is working correctly, take a blueprint. A blueprint is a multi-VM snapshot. Ravello saves the state of the VM disks, the network topology and other metadata. Now you will be able to create as many copies of this environment as you need on demand for training.
At this point, you can connect your LMS to Ravello using our API and spin up isolated training environments per student on demand. If you do not have an LMS, you can use our API to write a custom training portal. See here for an example.
The Ravello training portal
The training portal is designed specifically to help software companies easily use Ravello for training. There are 3 roles: student, trainer and administrator.
The trainer creates a "course" (e.g. configuring SharePoint server). A course can have one or multiple blueprints. The trainer can also create a “training class” (e.g. SharePoint training April 2015). The class can have multiple students (Name, email address and password). The trainer can also assign specific permissions for the students (e.g. start application, stop application, console access etc.).
The student does not have access to the Ravello account. Rather, there is a simple portal that shows the name of the class and a list of environments available for the student. The student can then start/stop the application, get console access or get the public DNS of the application environment to connect to it.