Azure Lab Services provides many features that help you to minimize costs while providing students lab environments that they can access from anywhere, any time of day. These features are optimized when you structure your labs so that you use one lab per class. Adopting this lab structure when you move from a physical lab will also help you select the appropriate VM size to use.
Usually a physical lab is shared by students from multiple classes. As a result, all of the classes’ software applications are installed together at once on each computer. When a class uses the lab, students only run a subset of the applications that are relevant to their class.
This type of physical computer lab often leads to increased hardware requirements:
A large disk size may be required to install the variety of applications that are needed by the classes that are sharing the lab.
Some applications require a larger VM size compared to others. When all of these applications are installed together in the same lab, each computer must have sufficient hardware to run the most compute-intensive applications. This level of hardware is essentially wasted for classes that only use the lab to run applications that require less memory and compute power.
Azure Lab Services is designed to use hardware more efficiently so that you only pay for what your students actually need and use.
With Azure Lab Services, labs are structured to be more granular:
One lab is created for each class (or session of a class).
On the lab’s image, only the software applications that are needed by that specific class are installed.
This structure helps to lessen the disk size that is needed (Azure Lab Services’ currently supports a disk size of 127 GB). Also, this helps you identify the appropriate VM size based on the workloads that students are expected to perform for each class.
In addition, the following features are designed to minimize costs when you create one lab per class:
Schedules are used to automatically start and stop all VMs within a lab according to each class’s schedule.
Quotas allow you to control the amount of time that each class’s students can access VMs outside of their scheduled hours.
Last but not least, access to each individual lab is controlled - students are only granted access to labs for classes that they are enrolled in.
Let’s assume we’re moving a physical lab to Azure Lab Services and that the physical lab is shared by multiple classes such as:
An engineering class that uses SolidWorks with 100 students enrolled.
A math class that uses MATLAB that also has 100 students enrolled.
Since our physical lab is shared by the above two classes, each computer has both SolidWorks and MATLAB installed along with various other common applications, such as Word, Excel, etc. Also, it’s important to note that SolidWorks is more compute-intensive since it typically requires a GPU.
To move this physical lab to Azure Lab Services, we will:
Create two labs; one for the engineering class and another for the math class.
Create two images; one with SolidWorks installed and another with MATLAB.
Since SolidWorks requires a GPU, the lab for this uses the Small GPU (Visualization) VM size. However, MATLAB only requires a Medium VM size.
The image below shows how the structure changes when moving this physical lab to Azure Lab Services.
An important point from the above example is that the cost per usage hour for the two VM sizes is substantially different:
Small GPU (Visualization) provides high compute-power and as a result, the cost is $1.60 per usage hour (or 160 lab units).
Medium provides less compute power but is suitable for many types of classes; it costs only $0.55 per usage hour (or 55 lab units).
You save costs by creating separate labs using the smallest VM size that is needed for each class.
To see the savings, let’s estimate that each student will use their VM for a total of 10 hours and compare costs for using a single lab vs. separate labs.
A single lab using the Small GPU (Visualization) size that is shared by students from both the engineering and math classes is estimated to cost the following:
10 hours * 200 students * $1.60 = $3200
Separate labs that use the Small GPU (Visualization) size for engineering and Medium size for math are estimated to cost the following:
Engineering class lab
10 hours * 100 students * $1.60 cost per hour for Small GPU (Visualization) = $1600
Math class lab
10 hours * 100 students * $0.55 cost per hour for Medium = $550
The total of both the engineering and math labs is $2150.
By structuring the labs to be more granular, this results in a cost savings of $1050! Also, keep in mind that you only pay for the number of hours that your students actually use their VMs. If students use their VMs less than this, the actual costs will be lower.
When you start using Azure Lab Services, IT and faculty should coordinate early in the planning process to:
Identify the specific software applications that each class requires.
Understand the workloads that students will perform using the lab.
This information is needed to choose the appropriate VM size when you create a lab and to set up the image on the template VM.
To ensure that you choose the appropriate VM size, we recommend starting with the minimum VM size that meets the hardware requirements for your applications. Then, have faculty connect to a lab VM to validate common workloads that students will perform to ensure the performance and experience is sufficient.It’s helpful to refer to the Class Types which show real-world examples of how to set up applications for classes along with the recommended VM size.
Also, Shared Image Gallery is useful for creating and storing custom images. This allows you to create an image once and reuse it to create multiple labs.
We hope that you find this post helpful as you start moving your physical labs to Azure Lab Services.