Jaa


Configure a VM test drive

Note

Please notice: Test Drive has already been deprecated. As an alternative to Test Drives, we encourage you to consider transitioning to Free Trials, which provides the opportunity for customers to fully engage with your product using their personalized settings and configurations, meeting their specific requirements. We recommend that you remove Test Drives from your offers and clean up your test drive environments.

A test drive lets customers try your offer prior to purchase by giving them access to a preconfigured environment for a fixed number of hours, resulting in highly qualified leads and an increased conversion rate.

For VM offers, Azure Resource Manager (ARM) deployment is the only test drive option available. The deployment template must contain all the Azure resources that comprise your solution.

To see the Test drive tab in left-nav menu, select the Test drive check box on the Offer setup page and connect to your CRM system. After you select Save, the Test drive tab appears with two sub-tabs:

  • Technical configuration – Configure your test drive and provide your ARM template.
  • Marketplace listing – Provide details of your listing and supplemental resources for your customers, such as user manuals and videos.

Technical configuration

Regions

Select Edit regions and select the check box for each region in which you want the test drive to be available. Or, at the top right, use the Select all or Unselect all links as appropriate. For best performance, choose only the regions where you expect the largest number of customers to be located, and ensure your subscription is allowed to deploy all needed resources there. When you've finished selecting regions, select Save.

Instances

Enter values between 0-99 in the boxes to indicate how many of Hot, Warm, or Cold instances you want available per region. The number of each instance type you specify is multiplied by the number of regions where your offer is available.

  • Hot – Pre-deployed instances that are always running and ready for your customers to instantly access (< 10 seconds acquisition time) rather than having to wait for a deployment. Since most customers don't want to wait for a full deployment, we recommended having at least one Hot instance, otherwise you might experience reduced customer usage. Since hot instances are always running on your Azure subscription, they incur a larger uptime cost.
  • Warm – Pre-deployed instances that are then put in storage. Less expensive than hot instances while still being quick to reboot for your customers (3-10 minutes acquisition time).
  • Cold – Instances that require the test drive ARM template to be deployed when requested by each customer. Cold instances are slower to load relative to Hot and Warm instances. The wait time varies greatly based on the resources required (up to 1.5 hours). Cold instances are more cost-effective for you since the cost is only for the test drive duration, compared to always running on your Azure subscription as with a Hot instance.

Technical configuration of ARM template

The ARM template for your test drive is a coded container of all the Azure resources that comprise your solution. To create the ARM deployment template you need for your test drive, see Azure Resource Manager test drive. Once your template is complete, return here to learn how to uploaded your ARM template and complete the configuration.

To publish successfully, it is important to validate the formatting of the ARM template. Two ways to do this are by using an online API tool or with a test deployment. Once you are ready to upload your template, drag .zip file into the area indicated, or Browse for the file.

Enter a Test drive duration in hours. This amount is the number of hours the test drive will stay active. The test drive terminates automatically after this time period ends.

Deployment subscription details

For Microsoft to deploy the test drive on your behalf, connect to your Azure Subscription and Microsoft Entra ID by completing the following steps, then select Save draft.

  1. Azure subscription ID – This grants access to Azure services and the Azure portal. The subscription is where resource usage is reported and services are billed. Consider creating a separate Azure subscription to use for test drives if you don't have one already. You can find your Azure subscription ID by signing into the Azure portal and searching Subscriptions in the search bar.

  2. Microsoft Entra tenant ID – Enter your Microsoft Entra tenant ID by going to Microsoft Entra ID > Properties > Directory ID within the Azure portal. If you don't have a tenant ID, create a new one in Microsoft Entra ID. For help with setting up a tenant, see Quickstart: Set up a tenant.

  3. Before proceeding with the other fields, provision the Microsoft Test-Drive application to your tenant. We use this application to perform operations on your test drive resources.

    1. If you don't have it yet, install the Azure Az PowerShell module.
    2. Add the Service Principal for Microsoft Test-Drive application.
      1. Run Connect-AzAccount and provide credentials to sign in to your Azure account, which requires the least Microsoft Entra ID privileged roles by task built-in role.
      2. Create a new service principal: New-AzADServicePrincipal -ApplicationId 00001111-aaaa-2222-bbbb-3333cccc4444 -DisplayName 'Microsoft TestDrive'.
      3. Ensure the service principal has been created: Get-AzADServicePrincipal -DisplayName 'Microsoft TestDrive'. Shows how to ensure the principal has been created.
  4. Microsoft Entra App ID - After provisioning the Microsoft Test-Drive application to your tenant, then paste in this Application ID: 00001111-aaaa-2222-bbbb-3333cccc4444.

  5. Microsoft Entra app client secret – No secret is required. Insert a dummy secret, such as "no-secret".

  6. Since we're using the application to deploy to the subscription, we need to add the application as a contributor on the subscription. Do this using either the Azure portal or PowerShell:

    Method 1: Azure portal

    1. Select the Subscription being used for the test drive.
    2. Select Access control (IAM).
    3. Select the Role assignments tab within the main window, then +Add and select + Add role assignment from the drop-down menu.
    4. Enter this Microsoft Entra application name: Microsoft TestDrive. Select the application to which you want to assign the Contributor role.
    5. Select Save.

    Method 2: PowerShell

    1. Run this to get the ServicePrincipal object-id: (Get-AzADServicePrincipal -DisplayName 'Microsoft TestDrive').id.
    2. Run this with the ObjectId and subscription ID: New-AzRoleAssignment -ObjectId <objectId> -RoleDefinitionName Contributor -Scope /subscriptions/<subscriptionId>.

Complete your test drive solution by continuing to the next Test drive tab in the left-nav menu, Marketplace listing.

Marketplace listing

Provide details of your listing and resources for your customers.

Description – Describe your test drive, demonstration, features to explore, objectives for the user to experiment with, and other relevant information to help them determine if your offer is right for them (up to 5,000 characters).

Access information – Walk through a scenario for exactly what the customer needs to know to access and use the features throughout the test drive (up to 10,000 characters).

User Manual – Describe your test drive experience in detail. The manual should cover exactly what you want the customer to gain from experiencing the test drive and serve as a reference for questions. It must be in PDF format with a name less than 255 characters in length.

Test drive demo video (optional) – Reference a video hosted elsewhere with a link and thumbnail image. Videos are a great way to help customers better understand the test drive, including how to successfully use the features of your offer and understand scenarios that highlight their benefits. Select Add video and include the following information:

  • Name
  • URL – YouTube or Vimeo only
  • Thumbnail – Image must be in PNG format, 533x324 pixels.

Select Save draft.