Creating On-Demand Labs (ODL)
  • 15 Jan 2025
  • 18 Minutes to read
  • Contributors
  • Dark
    Light

Creating On-Demand Labs (ODL)

  • Dark
    Light

Article summary

On Demand labs are created from the lab requests submitted by requestors of any organization which contains the track requested by them. This track contains the specifications of the labs, i.e., the resources which are to be deployed in the respective Cloud Platform and any kind of configurations which these resources require. The On-Demand lab also contains the time duration for which an environment will be available to the end user and the expiry of the Lab after which the instructors and users will not be able to access the Lab. It will also have the user limit set as per the attendee count that will be given in the lab request. There are self-services and capabilities enabled for the Instructors of the Labs such as view and capabilities on Users Page and Control Panel Page.

  1. Navigate to https://admin.cloudlabs.ai/ and Login to the Admin Centre or follow this detailed guide click here

  2. Select your Tenant

  3. Click on On Demand Labs from the left navigation pane.

  4. Click on + ADD ON DEMAND LAB and fill up the required information.

This document has been divided into 4 sections, each section covering the respective options on the underlined screenshot.

Section 1:

  • ODL Name: Enter a preferred name for your ODL. This will help you identify the labs in the listed ODLs.

Tip: While naming the On Demand Lab, use the following pattern (Track name + Venue Location + Date). This way you can quickly identify the ODLs at ease and will reduce confusion.

  • Template: Select the appropriate template for the lab using the drop-down list.

Tip: Please refer to the Template documentation on steps to create a new template. Upon successful creation of the template, it will appear in the dropdown list under Templates in ODL creation screen.

  • Region: Select the nearest region for the deployment (Available regions will automatically fetch by Selecting a template.)

  • Description: Provide a brief description to describe about your lab, its resources and technologies as well as its learnings and benefits. It will be visible to end users too.

  • Lab Launch Page Description: Lab Launch page is basically where you launch your lab environment. You can add any additional instructions to this page that you think are relevant for the users.

  • Custom Instructions: You can specify any custom instructions or requests you would like lab users to see while performing the lab. The instructions are displayed in a separate yellow-coloured box appearing on top of the screen as soon as the lab launches, and is also separately visible to the lab environments containing a lab guide.

Section 2:

  • Tags: Tags help you add keywords to your ODL, generally useful to identify the ODL and are displayed in the registration page as well

  • Status: Select the appropriate Registration/Activation status for your ODL. You are provided with the following options to choose from:

  • Registration Open: It means that the registration for your lab is open and anyone with the link can register for the lab and then, launch it. Also, admin can directly register a user through the CloudLabs Admin Portal instead of using a link.

  • Registration Closed: If chosen, it will close the registration of your lab and the users will no longer be able to register for it to launch the lab. However, the already registered users will still be able to launch the lab in case they have not done it. The admin can still directly register a user through the CloudLabs Admin Portal instead of using a link.

  • Registration and Activation Closed: If chosen, it will block any attempt for any user to register for the lab as well as to launch the lab. This means that the users who have already registered for the lab but couldn't launch it at that point of time, will not be able to do so after this configuration is applied. However, the admin can still directly register a user through the CloudLabs Admin Portal instead of using a link.

  • Admin Registration and Activation Closed: If chosen, it will also block admin's attempt to register for a new user from the CloudLabs Admin Portal, and no existing users who have not launched the lab, will be able to do so after this confguration is applied.

  • Registration Open and Activation Closed: If chosen, the users will be able to register for the lab through the link, but they will not be able to launch the lab. It is particularly useful when you have a lab starting at a particular time only, and don't want any user to access it before the stipulated time.

  • Channels: This is particularly useful when you have a large number of labs, and want to group them into different categories, also known as Channels. For instance, out of 10 labs you have, you can group them by departments, like a few under Engineering, and others under Management etc.

  • Approval: Select how would you like to approve the requests.

    • Anonymous: When you choose the anonymous approval method, users do not have to provide registration details and will be able to launch the lab directly.

      • CloudLabs will automatically create the Anonymous User whenever user will click on the Launch Lab button.

    • Registration Required: When you choose the Registration Required approval method, users must provide details such as their first name, last name, email, organization, etc.

      • Users need to fill out the registration form by providing the necessary details and then click on submit button to Launch the lab.

    • Registration and Approval Required: When you choose the Registration and Approval Required method, users must provide details such as their first name, last name, email, organization, etc., and they will only be able to launch the lab after their request is approved by an admin or the instructor.

      • Users need to fill out the registration form by providing the necessary details, and once admin approves the request user will receive an automated email on the registerd email id with necessary details for launching the lab.


    • Invite Only: When you choose the Invite Only approval method, admins or instructors can add users and send them an invitation.

      • Instructor/Admins can add the users and sent the invite to the users.

        • Steps for adding and inviting the users:

          • Navigate to the Users under Actions.

          • If there are multiple users, you can choose option "Bulk Add" under the Actions.

          • Choose "Bulk User Invitation" to invite multiple users at the same time.

          • Once Invitation is sent users will receive email on given email address and they can access the lab by clicking on button "Launch Lab".




    • Registration and Activation Code Required: When you choose the Registration and Activation Code Required approval method, users must provide details such as their first name, last name, email, organization, etc., and they must enter the lab activation code set by the admin or instructor.

      • Steps to generate the Activation Code.

        • From the On Demand Labs Page, choose your ODL, Click on the Ellipses icon and select Manage Activation Codes to create an activation code.

        • Click on + ADD ACTIVATION CODE

        • Provide the below values for the Activation Code properties.

          • Name: The Activation code name which you would like to set.

          • Customer: Provide your company name.

          • City: Provide your city name.

          • Country: Select your country from the dropdown.

          • Expiry Date: Select an expiry date for the Activation code, post which the Activation code will be invalid ideally it should be same as the ODL expiry date.

    • Anonymous and Activation Code Required: When you choose the Anonymous and Activation Code Required approval method, users must provide the lab activation code set by the admin or instructor.

    • Registration, Activation Code & Email Validation Required: When you choose the Registration, Activation Code & Email Validation Required approval method, users must provide registration details, enter the lab activation code, and validate their email address before they can access the lab.


    • Anonymous and Auto Launch: When you choose the Anonymous and Auto Launch method, users do not need to provide any details, and the lab will launch automatically without requiring to click on launch lab button.

    • Registration Required and Auto Launch: When you choose the Registration Required and Auto Launch approval method, users must provide details such as their first name, last name, email, organization, etc., but the lab will launch automatically without to click on launch lab button.

    • Registation Required, Activation code Required and Auto Launch: When you choose the Registration Required and Auto Launch approval method, users must provide details such as their first name, last name, email, organization, etc., and enter the lab activation code, but the lab will launch automatically without requiring to click on launch lab button.

  • Duration (in minutes): Enter the duration in minutes for which you would like the environment to be active. The duration starts as soon as the user signs up for the lab and environment is auto deleted once the duration expires. Once the environment is deleted, it cannot be recovered again.

  • Uptime Algorithm: Here, you can choose from Deafult, which is the most common use-case, Periodic Uptime Without Carry Forward, and Periodic Uptime With Carry Forward. They are explained in details below:

    • Default: It is the most commonly used configuration where the lab uptime is set once, and it is not refreshed until the lab is expired or the adminstrator does it manually. Once the uptime finished, the users' access to the lab is revoked.

    • Periodic Uptime Without Carry Forward: Here, the uptime will keep on getting refreshed for a given period as frequently as you want. However, any remaining uptime will NOT be added to the next cycle. Once selected, you are provided with the following options:

      • Periodic Uptime Days: Provide the duration for which you want the uptime to be valid for. For example, if the Uptime provided for the lab is 10 hours, and the Periodic Uptime Days is set to 7, then the Uptime of 10 hours will ONLY be available for 7 days. After 7 days, the uptime will refresh as per the frequency set in Periodic Uptime Count.

      • Periodic Uptime Count: Here, enter the frequency for which you want the Periodic Uptime to repeat/refresh. For instance, considering the previous scenario, if the Periodic Uptime Count is set to 3, then the uptime of 10 hours valid for 7 days will refresh thrice, that is, the users will be able to access the lab resources for 7 * 3 = 21 days, with 10 hours of uptime every 7 days. However, it is to be noted that once the Period Uptime Days expire, any remaining uptime will not be added to the next cycle.

    • Periodic Uptime With Carry Forward:Here, the uptime will keep on getting refreshed for a given period as frequently as you want. It is to be noted that in this scenario, any remaining uptime will get added to the next cycle. Once selected, you are provided with the same options where you can select the Periodic Uptime Days and Periodic Uptime Count. For instance, considering the previous scenario, if a user doesn't uses his lab for first 7 * 2 = 14 days, the Uptime on 15th day will be 10 + 10 + 10 = 30 hours!

  • VM Uptime limit (in minutes): VM Uptime Limit - This is the VM active time, as in "How many hours will your VM be running?" Every event/workshop, as you may be aware, is associated with precise times throughout the day. Consider the following scenario: The period of an event/workshop, for example, is 7 days (24X7=168 hours). However, each day's event/workshop is scheduled for a set time, such as 10 a.m. to 6 p.m. (only 8 hours per day — 8 X 7 days = 56 hours). As a result, we cannot leave the VM operating at all times. So, we have a feature called VM Uptime Limit that allows us to limit VM usage in order to save money. Out of a total of 168 hours, the VM is only active for 56 hours. When the limit is reached, the VMs are automatically stopped (deallocated), and users are unable to access or start them - only admins have the ability to extend the limit via the Admin Portal.

  • SQL pool Uptime Limit (in minutes): For SQL pool labs, you can set the SQL pool uptime limit in the same way you set the VM uptime limit.

  • Expiry date: Enter the event end date.

  • Maximum number of Users: Number of users who can access the ODL

Tip: Keep the expected attendee count with 2 extra, if expected attendee count is 8 then keep 10

  • Maximum retake count: Maximum number of times an email ID can be used to register for the ODL. (default is 0).

  • Subscription Group: Here you can select your subscription group which would be used to host the deployments in the lab.

  • Owner email: Email ID entered here will be receiving all the communications and notifications for the ODL.

  • Custom ODL Page Title: In case you want to customize the title of the Hands-on-Lab Registration page, you can provide a title in this field.

  • Custom ODL Page Logo URL: In case you want to customize the logo of the Hands-on-Lab Registration page, you can provide the URL of logo in this field.

  • Video: This option can be used for adding a video link.

Section 3:

  • Instructor Video: You may use this option to add any pre-recorded video from the instructors.

  • Feature image URL: This field can be used to add a custom image on the registration page.

  • Lab Guide URL: You may provide a link for any specific lab guide to be used for the lab

  • Github Master Document file URL: Here you can provide a GitHub link for a reference document.

  • Job Roles: Select either of the pre-defined user roles for your environment.

  • Audience: Select either of the roles below to define your audience.

  • Topics: Below are some of the pre-defined topics which you can select while creating an ODL

  • Level: You can use this to define the expertise level of the user.

  • Products: Here, you can provide different products which are used in the lab. For example, Azure Virtual Machines, Storage Accounts, Azure Kubernetes Cluster etc. It is also used for internal tracking and is completely optional in nature.

  • Lab Type: These are custom codes specific for custom integration, unless we provide a specific configuration. (preferable to be left blank unless pre-informed otherwise)

  • ILL Type: These are custom codes specific for custom integration, unless we provide a specific configuration. (preferable to be left blank unless pre-informed otherwise)

  • Line Of Business: You can specify the target business segment specific for this lab.

  • Product Category: Select either of the below mentioned categories that define this lab

  • Purchase Order: This field can be used to mention the purchase order number. It is helpful in scenarios where you wish to create internal reporting specifying the order number (usually where you have multiple ODLs)

  • Display Name: Here, you can provide a customized display name for your lab if you want, which will appear inside a colored bar when the lab starts. If left blank, the lab will automatically infer ODL Name as the default Display Name.

Section 4:

  • Do Not Send Cloud Credentials: Check this option if you do not wish to the credentials to be visible in the master document.

  • isPrivate: This checkbox is ONLY valid if you have configured TestDrives for your lab, else skip the option. If checked, it will hide your ODL from the TestDrives list.

  • Enable Vouchers: Check this option if you have enabled vouchers for your lab. It is used if your lab environment is hosted through portal.cloudlabs.ai instead of CloudLabs Admin Portal, and users will only be able to access their lab environments if they have the voucher for the related labs.

  • Allow Personal Email Addresses? Select this option if you would like to enable users personal email address.

  • Allow User to Delete ODL? Select this option if you would like the user to be able to delete the environment. You must give this right to the user only if it is required because once the environment is deleted, it CAN NOT be retrieved at any cost.

  • Enable Hot Instances: This option can be selected to enable hot instances. Hot instance is an active instance of a lab environment which is not allotted to any user. Thus, if you already have hot instances for your lab environment, the users will be immediately able to launch the lab without any wait time. Once you enable the hot instances, you get the following options:

  • Optimize Hot Instance Cost: If checked, your hot instances (the virtual machines) will shut down if no user is allotted to it. It helps saving large costs in case the lab users are not using the lab immediately after the hot instances are enabled. The hot instance will start again when a user is allotted to it, giving a seamless experience for the users.

  • Resource Start Algorithm: This option allows you to choose how you want to initiate the hot instance when a user is allotted to it. Trigger once will send an API all to start the hot instance only ONCE, however, Trigger until resource start will attempt to start the instance multiple times unil it is in start state. It is always recommended to use Trigger until resource start so as CloudLabs ensures that no hot instance is failed while starting.

  • Delay Time (in minutes): Here, you can provide a customised duration after which the hot instances will be stopped. For instance, if you set 5 here, the hot instances will stop after 5 minutes of launching.

  • Minimum Available Instances: Here, you can ensure a fixed number of instances are always on so that there is no shortage of hot instances. For instances, if you select 10 here, the minimum number of hot instances will never go below 10, and if they do, new instances will automatically spin up to satisfy the requirement.

  • Intelligence to self-heal: If this checkbox is selected, any failed hot instances will automatically be replaced with a healthy one.

  • Limit Hot Instance Life: If this checkbox is selected, the unused hot instances will automatically be deleted after a fixed time you provide in Hot Instances Life Time (Minutes) field. It is configured to make sure that no hot instance is running when it is not required to do so, and helps achieving cost effciency.

  • Hot Instances Life Time (Minutes): The time you provide here will be the threshold after which any unused hot instance will be deleted.

  • Enforce existing AAD User: When checked, all pre-existing users in the Microsoft Entra ID will be used in the deployments. No new ODL_users will be created.

  • Enable Resource Operations: Enable this if you would like to provide access to the attendee to perform stop/start/pause operations.

  • Enable Inside CL Portal: Check this option and select Platform as Portal if you want to host your lab environments from portal.cloudlabs.ai, instead of the CloudLabs Admin Portal. Once checked, you can configure the following options as well:

    • Custom Portal: If you have requested for a custom portal with the Spektra team to host your labs peviously, you can select it here. Otherwise, leave it blank, and your lab environments will be hosted on portal.cloudlabs.ai.

    • Allowed Email Domains: You can allow users belonging to a particular email domains only, by providing the domain here. For instance, Outlook.com, microsoft.com etc.

    • Catalogue State of Non-Allowed Domains: The users belonging to non-allowed domains will NOT be able to launch the lab environments from the portal. Here, you can decide the interface for the courses/labs they will see after logging into the portal, by selecting Locked, Unlocked or Hidden as per your needs.

    • Completion Criteria Percentage: Here, you can decide after completing how much percentage of course can the users mark their course as completed.

  • Is Trial Lab: Labs marked trial are not considered in the reporting. Also, you need to provide the URL of a page which is shown when the lab ends. Production scenarios are NEVER to be marked as Trial Labs.

  • Idleness Tracking: When checked, you will be able to configure how long after after the last interaction, the VM shuts down. You can customize various time limits as per your requirements. Make sure you have installed the VM Agent to track Idleness from the CloudLabs template.

  • Enable Hackathon: Once checked, the lab environment will be optimized for hackathon scenarios. The following options are available once you enable this checbox:

    • Enable Anonymous Group Leader: You can enable this checkbox if your lab hackathon doesn't have a group leader concept. By enabling this, CloudLabs will create an anonymous group leader whose resource group will shared to the group members. If you have a group leader concept, you can skip the checkbox, and anyone who registers first for the hackathon lab environment in the group will automatically become the group leader.

  • Test: Labs marked test do not have any alerts triggered.

  • Disable Email Communication: If this checkbox is selected, the attendees will NOT get any kind of emails or lab updated from the CloudLabs. It is generally not recommended to do so until you have special requirements for not sending any email to the attendees.

  • Default Language: The environment can be enabled in either of the listed languages. If no language is selected, the default language is selected as English.

  • Enable Credit Based Allocation: If selected, you can provide a credit limit in USD from which the users can perform the lab. Please note that the limit is also shared within all the members of a group, rather than to individual members in case you have enabled groups in your lab. You can also customize the alerts you get for the credits.

  • Enable Manual Status Change: You can manually change the status of a lab if it is in the failed state to success if there is a requirement after you enable this checkbox.

  • Enable Uptime Alert: The attendees will received alerts regarding VM Uptime exhaustion once this checkbox is selected.

Once your ODL submission is successful, it will show up under the On-Demand Labs section of the https://admin.cloudlabs.ai/ portal.

Note: To find more information on ODL, click here to access the guide. You can find information on how to invite users, manage users, extend lab duration and much more.