Making TCA - Contest Virtual Machines

Wed, Mar 30, 2022 3-minute read

The SkillsUSA National Leadership & Skills Conference is truly a sight to behold. If you have never experienced it, imagine 15,000 students, teachers, support staff, and career professionals descending on a city all at once. The process of moving in, setting up, running the event, then tearing it all back down involves hundreds of dedicated people.

As a national contest, the Technical Computer Applications contest team plays a small part in that process. However, our work starts well before anyone sets foot in a convention hall. This post is the first in a series about how we put on the TCA contest.

One of the key parts of the contest is ensuring that we have a fair and equitable environment for students to compete in. We have been fortunate that Equinix Metal has sponsored our cloud infrastructure for the past 4 years, which enables us to run a contest in way to makes sure each competitor has access to the same system and resources as all the others.

In order to ensure fairness, we have standardized on a VDI (or Virtual Desktop Infrastructure) setup. This enables us to prepare a single virtual machine image which is accessed by all competitors. This image has the exact same software, with the exact same configuration across every instance. If we need to make changes, we make them in a single location and push them out to every competitor instantly.

When we started using VDI, we setup each part of the system manually. This has historically taken months of effort, and has to be re-done each year (as new versions of Windows, Office, etc. are released). However, the trend in the industry has been around automation, or “Infrastructure-as-Code” for a few years, and starting in 2022 we decided it was time for TCA to embrace that!

Starting with the Contest VM, we’ve decided to use an open-source tool called Packer from Hashicorp to automate the creation of our contest virtual machine. You can see a copy of the scripts we use to create the virtual machine on our GitHub repo.

The benefits of automating this process are numerous - it enables our team to rebuild new environments in about 90 minutes, and supports rapid changes as our infrastructure evolves. It also enables collaboration with other parties that may have a need or interest in utilizing our contest environment.

We are very excited to embrace automation for the TCA contest. Our job as industry partners is to ensure that the contest reflects industry standards, and automation is a big part of that.

If you’d like to work with us on these problems (and more!) we’d love to hear from you. Please reach out!