Run a Hackathon or Classroom Labs in Azure

Kumar Allamraju
4 min readDec 27, 2020

Are you planning to conduct a hackathon or hands-on-labs in your organization but are short of time to procure hardware, licenses etc. Look no further — Azure Lab Services helps you to quickly set up a development, test, hackathon, or a classroom lab for your team or students in the cloud.

Some salient features of Azure Lab Services are

  1. Automatic management of Infrastructure and scale: Azure Lab Services is a managed service, which means that provisioning and management of a lab’s underlying infrastructure is handled automatically by the service. Scale your lab to hundreds of virtual machines with a single click.
  2. Simple experience for students/users: Invite your students/users via a registration link. Upon successful registration, they’ll directly access the lab VMs.
  3. Cost Optimization and tracking: Keep your budget in check by controlling exactly how many hours your lab users can use the virtual machines. Set up schedules in the lab to allow users to use the virtual machines only during designated time slots or set up reoccurring auto-shutdown and start times.
  4. Integration with Microsoft Teams: Azure Lab Services can be leveraged within Microsoft Teams using Azure Lab Services Teams App. Provides Single Sign On (SSO) from Teams to Azure Lab Services. Educators can set up labs so the students can access their VMs from within Teams.

Getting Started

Setting up Azure Lab Services is a multi-step process. You first create a Lab Account in your Azure subscription.

You can also attach a Shared Image Gallery to version your custom images as well as peer a virtual network to access resources in your VNet. For this demo, I’m going to skip these two options.

Once the lab account is created, go to https://labs.azure.com The Lab VMs are running in Microsoft’s managed tenant so you’ll not see any VMs in your subscription.

  • Create a new Lab, provide VM credentials and set the Lab policies. The lab creation will take at least 20 minutes.

Make sure to pick the right VM size that supports your lab.

Once the lab is provisioned, you should see something like below

Click on the lab that you just created.

You will see the Lab’s Dashboard. From here you can work on the Template, add VM pool, add Users and the Lab schedule.

Click on Template. Initially the template will be in Stopped State. Go ahead and start the template. RDP in to the template VM. This is like a base image VM in which you’ll install all your custom software. Now you’ll see an option to Publish the VM. This is the image that you’ll use to create Lab VMs or create new Labs in the future.

You can set the max VMs now or you can set the max VMs after the template is published.

Invite Students/Users to the Lab

You’ll see options to manually add users or upload a CSV.

Click on Invite all to send an invite to your students. Once the user completes the registration, they’ll get access to https://labs.azure.com and RDP into their Lab VM.

Set a Lab Schedule

As an example I created a lab schedule for a week from 8 am to 5 pm.

This is a just quick overview of Azure Lab Services. There’s an excellent documentation on Azure Lab Services. I highly recommend you to go through the docs and consider using Azure Lab Services to conduct any hackathon or classroom labs in the Cloud.

References

Azure Lab Services architecture

Azure Lab Services Product team’s Blog

Classroom Types in Azure Lab Services

Azure Lab Services integration in Microsoft Teams

--

--