Introduction
Students are shown a Windows desktop environment when they start an exam for which Schoolyear AVD is enabled. To enable Schoolyear AVD on an exam, teachers must select which Windows desktop environment students will see. We call these environments from which teachers can select Apps.
Which Apps are available to select from is configured by the service team in the AVD add-on. They have to decide which variations of desktop environments should be available for examination and then create Apps for them. You can bundle multiple desktop applications commonly used together in a single App. Typically, customers end up with 3–5 different Apps, but some may only need one.
Instead of creating a new App for each course, which is inefficient, we recommend creating a few versatile Apps that can serve the requirements of multiple courses. If two courses have conflicting requirements, you will need different Apps. For example, if one course needs spell check enabled, while another course needs it to be disabled.
The general process for publishing an App looks as follows:
-
Decide which desktop applications should be included in the App
-
Build an “Image” for the desktop environment
-
Connect the license servers, if required
-
Configure the App in the AVD add-on
The “Image” is the most important resource you need for publishing an App. It is quite literally a copy of the desktop environment that students will see when they log into their exam. It should have all the software preinstalled and should be ready for the exam.
Most of the complexity of publishing an App is in building the image, and that is what the rest of this chapter focuses on.
Exam image
Section titled “Exam image”A common question from people building images for Schoolyear AVD is whether they can reuse the application packaging infrastructure they already have. The answer is “Partially.”
The scripts you may have already developed to install applications non-interactively can probably be reused.
However, the desktop environment used during the exam is heavily restricted. Its network connection is blocked by default, disabling most “online” app delivery systems. Furthermore, there is no time to dynamically push desktop applications to the machines, because the machine is single-use and needs to boot quickly; It will be deployed and deleted specifically for a single exam.
In summary, the images you need for Schoolyear AVD are very different from the images you may be using for your day-to-day workspaces. We call these specialized images Exam Images.
AVDCLI
Section titled “AVDCLI”Schoolyear AVD includes a specialized avdcli tool for building Exam Images. This tool standardizes the way the installation scripts are structured and automates the building process to enable reproducibility, which is often a requirement in regulated examination scenarios.
This tool is based on the Azure VM Image Builder service.
Layers
Section titled “Layers”The avdcli
tool works by combining multiple Layers.
Each layer is a structured folder of scripts and configuration files that is responsible for a single desktop application.
By splitting individual desktop applications into isolated layers, you can reuse them between multiple images.
Furthermore, it enables you to use the layers developed by other organizations or even share the ones you built yourself.
Image Gallery
Section titled “Image Gallery”The images you build are stored in a single Azure Image Gallery. This Image Gallery will help you track the different images you have and their versions.
It is useful to understand the hierarchy of Azure Image Galleries:
- You have a single
Image Gallery
per Schoolyear AVD implementation. - In an Image Gallery you have multiple
Image Definitions
, one for each image you want to maintain. - An Image Definition can have multiple
Image Versions
, to keep track of all the builds you did for that Image Definition.
App Configuration
Section titled “App Configuration”Once you built your image, you can configure an App in the AVD Add-on to make it available for use. In addition to the image, you can configure a name, the VM type students will get, and how much time in advance the deployment job starts, among other things.