Easily configure and deploy Windows and Ubuntu VMs directly in Codio.
Codio assignments use lxc – this means there is a shared Ubuntu kernel which has caused a couple of limitations:
(1) No other operating systems were available on Codio aside from Ubuntu
(2) Specific tools that need access to kernel-level settings were unusable
To address this, Codio enables you to run Windows VM and other Virtual Machines in the platform:
What is a Virtual Machine?
A virtual machine runs its own operating system and functions separately from any other VMs running on the same system. Each Virtual Machine functions as a normal computer with its own CPU, memory, network interface, etc.
Setting up Virtual Machines in Codio Courses
Unlike Codio’s assignment stacks, a student’s Virtual Machine is used for the entire course. This means that you set the Virtual Machine up at the Course-level.
Virtual Machines can be set to 1, 4, 8, or 16GB of memory, and pre-configured Virtual Machine Stacks can be created and selected (similar to the existing Stacks on Codio).
Virtual Machine Stacks
You can take a snapshot of the state of your Virtual Machine to easily pre-install software and provide starter code or other files like data sets to your students.
To do this, you set up your virtual machine so that it is ready for students to use. Then go to Tools > Virtual Machine > Publish (as pictured above) to create a VM Stack. Due to their size, VM Stacks can take several minutes to be available. Once your VM Stack has been created, you can select it under the Course Settings (as pictured above).
If your students have already started working on the Virtual Machine, when you update the Virtual Machine Stack, students will need to Terminate and Restart the Virtual Machine to be switched to the new stack. This process of terminating the VM and re-starting it on the new stack can take several minutes, and students will lose any work they had on their Virtual Machine.
Using Virtual Machines in Codio Assignments
Within an assignment, you can automatically open either the Virtual Machine desktop or, for Ubunutu VMs, an SSH-connected VM Terminal the same way you open other Codio tools under the Guides Layout settings:
Alternatively, the Virtual Machine can be opened from the top menu via Tools > Virtual Machine > Open:
Windows Virtual Machine
Windows Virtual Machines are particularly useful for IT programs that want to give students hands-on experience with Windows-specific system administration tools. Many popular software tools are only available on Windows, such as PowerBI and Excel.
Ubuntu Virtual Machine
In addition to Windows, we have also released an Ubuntu Virtual Machine. This may seem counter-intuitive since all of our assignment stacks use Ubuntu; however, some technologies that need access to kernel-level settings or larger amounts of computing resources, such as Docker and Kubernetes, will not run in our lxc assignment boxes.
How to get Setup
To enable Virtual Machines for your organization, send an email to email@example.com with the number of students who will require access to Virtual Machines.