Microsoft Visual Studio licensing guide: Stop the development of risks

15 July 2021
8 minute read
Microsoft

Microsoft Visual Studio licensing guide: Stop the development of risks

15 July 2021
8 minute read

Visual Studio licensing

Visual Studio subscriptions are licensed Per User with each licensed user able to use:

any number of copies of the software and any prior version on any [dedicated] device

And may use the software to:

design, develop, test, and demonstrate their programs

The requirement for a “dedicated device” precludes Visual Studio from being used in public cloud shared environments such as Amazon AWS and Google GCP – although it can (in most cases) be run on Microsoft Azure.

Visual Studio subscriptions can be reassigned between users but only once every 90 days

Production Environment

Visual Studio software cannot be used in a production environment. The Microsoft Product Terms define this as:Microsoft Visual Studio

any Physical or Virtual OSE running a production workload or accessing production data, or Physical OSE hosting one or more Virtual OSEs running production workloads or accessing production data

And the Visual Studio Licensing Guide gives the following examples:

  • Environments that connect to a production database
  • Environments that support disaster-recovery or backup for a production environment
  • Environments that are used for production at least some of the time, such a server that is rotated into production during peak periods of activity

This doesn’t preclude you from mixing VMs running MSDN & Production software on one server as, according to the above, each VM constitutes its own environment rather than it being that host in its entirety. However, as we’ll discuss later – mixed environments can make audits more difficult.

 

Perpetual Rights

Visual Studio subscriptions purchased via perpetual license programs allow limited perpetual use after a subscription expires. While no new software or license keys can be downloaded, existing downloads and product keys can continue to be used. However, updates are not permitted, and product keys can only be used up to their activation limit.

Renewal

Visual Studio is a rare beast in that it allows you to “renew down” – i.e. to move from a higher edition (say Enterprise) to a lower edition (say Professional) at the point of renewal. This is done simply by purchasing the appropriate SKU. This can be a useful tool when managing Visual Studio software spend although may need additional management when reviewing historical compliance.

Visual Studio editions

Visual Studio subscriptions come in 2 flavours – Standard and Cloud.

Standard subscriptions

  • Visual Studio Enterprise
  • Visual Studio Professional
  • Visual Studio Test Professional
  • MSDN Platforms

Enterprise edition is the most fully featured with Professional coming in next – however, features in MSDN Platforms that are not in Professional include:

  • Power BI Pro
  • Certain server software inc. SharePoint and Exchange

Key differences

Test Professional & MSDN Platforms don’t include the Visual Studio IDE – so no programming environment.

Cloud subscriptions

  • Visual Studio Enterprise
  • Visual Studio Professional

Key differences

One big thing to note is that Cloud subscriptions don’t include “Subscriber Benefits” or any perpetual rights – they are aimed at programmers working in a DevOps environment rather than those developing with Microsoft technologies.

Additional use rights

Production use

Office Professional Plus / Office 365 ProPlus (Apps for Enterprise)

Available with:

  • Enterprise Subscription
  • Enterprise Annual (cloud subscription no longer available)

On one device.

Azure DevOps Server

Available with:

  • Enterprise Subscription
  • Professional Subscription
  • Test Professional Subscription
  • MSDN Platforms

As well as rights to the server product, each subscription also provides 1 x CAL.

System Center VMM

Users licensed with:

  • Enterprise Subscription
  • Test Professional Subscription
  • MSDN Platforms

Are permitted to run System Center Virtual Machine Manager (VMM) for:

creating, deploying and managing lab environment(s) using Microsoft Azure Test Plan

Azure

Monthly credits

Each “standard” Visual Studio subscription includes a monthly allowance of free Azure credits:

  • Enterprise = $150 per month
  • Professional = $50 per month
  • MSDN Platforms = $100 per month
  • Test Professional = $50 per month

These credits can only be used for test & development uses and cannot be combined across accounts.

Azure DevOps

Cloud Use Rights: Azure

Visual Studio subscribers are permitted to run “most” of the subscriber software on VMs in Azure, for test and development purposes. This applies to both shared and dedicated environments.

Note that Windows Server and Windows client OS are not included in the Cloud Use Rights. Windows Server VMS will be charged as standard and Windows Client VMs are available via the monthly credits or subscriptions using the Dev/Test offer (PAYG or Enterprise).

Cloud Use Rights: 3rd party dedicated

Following the licensing changes made on October 1, 2019, Visual Studio software purchased/renewed after that date cannot be run on dedicated hosts with the “Listed Providers”. These are, at the time of writing:

  • Alibaba
  • Amazon
  • Google

Azure Dev/Test

The Azure Dev/Test offer gives reduced rates on a variety of Azure resources such as Windows Server VMs, HDInsight nodes, Logic Apps and also provides access to Windows 10 and Azure Virtual Desktop.

Permitted unlicensed use

As a general rule, any person using or accessing software installed via Visual Studio must have a license and it must be of the appropriate type – i.e. a user licensed with Professional cannot access features that are only available with the Enterprise edition. However, there are a few scenarios where unlicensed use is permitted.

Acceptance Testing

Users without licenses are permitted to access the software for the purposes of User Acceptance Testing (UAT). Such testing cannot use live production data and if a copy of production data is used, it must be discarded and can’t be merged back into the live data.

Windows Server RDS

Included with all levels of subscription – but NOT with any of the Cloud subscriptions – this right allows up to 200 simultaneous, anonymous unlicensed users to access an online demo of the program being developed.

ITAM risks

Licensing of development environments often requires additional monitoring and Microsoft is no different. Here we look at some of the key areas to address.

Audits & licensing

MSDN software looks the same as production software, meaning ITAM tools can’t differentiate between them. If you allow mixed production/development usage on the same infrastructure, getting an accurate picture of your license position will be very difficult. This will cause issues during an audit – how do you prove which licenses are development, and which are production? If you’re unable to do so, you face paying full production prices to rectify the “shortfall”. Having separate environments with a clear delineation of users is the ideal way to keep things clear.

Another tip is to make sure that licenses are only being used for test and development purposes:

  • Developers installing Windows as the primary OS on their desktop?
  • Using System Center to monitor the development environment?

Both of those scenarios constitute “production use” and would need licensing outside of Visual Studio subscriber software.

Licensing external users

Using outsourced development teams is very common and can cause some confusion when it comes to licensing.

  • If the external user has their own Visual Studio license, they are permitted to access software in your development environment. Remember to ensure the license is of an appropriate level and includes the software/capabilities being accessed.
  • If they don’t have their own license, you may assign one to them.

Be aware though that CALs cannot be used across organisations so if your external developers are using their own Visual Studio licenses and accessing your Azure DevOps infrastructure, you’ll need to purchase an Azure DevOps CAL for each of them.

Azure DevOps licensing

Azure DevOps servers require properly licensed Windows Server licenses and each user/device accessing the servers requires a Windows Server CAL. As CALs don’t allow access to servers of other organisations, Windows Server CALs will need to be assigned to any external users.

Each Azure DevOps license (other than Azure DevOps Server Express) allows the use of 1 x SQL Server Standard 2019, solely for use with that product. If these SQL databases are being used for other purposes, they will need to be fully licensed.

Although Azure DevOps CALs are required for many types of access, there are several cases where a CAL is not required – these include:

  • Entering work items through any interface and viewing/editing any work items
  • Accessing Azure DevOps Server reports
  • Accessing Azure DevOps Server using Microsoft System Center Operations Manager i.e. to raise issues to the development team
  • Up to two devices or users that only access Azure DevOps Server to perform system administration, such as creating Team Projects or Project Collections.
  • Accessing Azure DevOps Server through a pooled connection from another integrated application or service
  • Providing approvals to stages as part of the Release Management pipeline

Managing Visual Studio subscriptions in VLSC

This is a key part to retaining control over your Visual Studio spending and compliance – and making sure that you’re using as many of the benefits as possible.

Microsoft have a range of resources to help with this here:

Visual Studio Subscriptions Administration – Visual Studio (microsoft.com)

Visual-Studio-Subscriptions-Administrator-Handbook.pdf (microsoft.com)

Further Reading

Microsoft Visual Studio pricing page

Cloud subscription feature comparison

Can’t find what you’re looking for?