Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

DevOps and Automation: The Azure License Tool

DZone 's Guide to

DevOps and Automation: The Azure License Tool

There's a new tool on the block that wants to help you manage your multiple Azure licenses.

· DevOps Zone ·
Free Resource

licenses

This new tool wants to help you manage your Azure licenses

Background

Managing an Azure DevOps license with a global enterprise organization could be a real challenge.

Usually, the global organization is operating in many cities and different countries with hundreds of projects and maybe hundreds of thousands of engineers who keep joining new projects or rolling-off from many others every day.

You may also enjoy:  Be a Savvy Consumer: Software Licenses Explained

So, you may end up with hundreds or thousands of Azure DevOps licenses that are not being used anymore, and maintaining them, downgrading them, or freeing them up became a real challenge.

Therefore, I developed a new tool which published on Azure DevOps Marketplace that will solve all these problems and automate that process.

The following video explains in detail what is the challenge, how to install the prerequisites and how to use the tool.


The Challenge of Managing Azure DevOps for a Global Enterprise

As I explained before managing an Azure DevOps license with global enterprise organization is a real challenge due the natural sprawl of the global organization.

The Challenge of Managing Azure DevOps for a Global Enterprise

The Challenge of Managing Azure DevOps for a Global Enterprise


Intro to the Azure DevOps Recycling License Tool

Here are some of the features that the tool has:

  • Free up unused license based on a configurable duration

  • Downgrade Basic and Basic + Test Plan to Stakeholder based on a configurable duration

  • Several switches to enable and disable all options

  • Dry run to validate and verify the actual action before it takes place

  • Well descriptive logging into the screen as well as a file system. 

Integrating Recycling License Tool With Azure Pipeline for a Full Automation Process

We can integrate the Recycling License tool with Azure Pipeline using a schedule trigger to have a full automation process for freeing up, downgrading or managing Azure DevOps license. 

Installing the Prerequisites

Install Azure CLI

Install Azure DevOps extension

Explaining the Configuration File of The Tool

  • <add key=”dryRun” value=”true” />

    • (dryRun) option, possible values {true or false}

    • This option is to validate all the process before running the actual actions, and is the main switch to run the tool or just validate all actions. It’s advisable to run at least a one-time dry run and verify the result if it’s as expected or not before running the actual run.

  • <add key=”orgName” value=”your org name” />

    • (orgName) option, possible values text with org name only

    • This option is the name of the Azure DevOps organization.

  • <add key=”orgUrl” value=”https://dev.azure.com/your org name” />

    • (orgUrl) option, possible values text as URL

    • This option is the URL of the Azure DevOps organization.

  • <add key=”personalaccesstoken” value=”mo6rjfzh6g77gn6xu” />

    • (personalaccesstoken) option, possible values PAT value

    • This option is the access token will be used to get the list of users with their information, and it’s advisable to use a token with minimum permissions like read without edit but on the organization level. The actual action, like removing or downgrading license, will require you to login with a proper account which has high permissions to change the license or remove users from the organization.

  • <add key=”enableDowngradeUserLicense” value=”true” /> 

    • (enableDowngradeUserLicense) options, possible values {true or false}

    • This option will enable or disable downgrade license from Basic and Basic +Test Plans to Stakeholder. So, by disabling this with a false value, there is no action will be taken. Remember if you enable this option by setting it to true with the dry run option set to true, this will show you how many users will be downgraded without really downgrade them.

  • <add key=”durationToDowngrade” value=”45″ />

    • (durationToDowngrade) option, possible values integer number

    • This option is the duration in days required to downgrade a license from Basic and Basic +Test Plans to stakeholder if they are not active for that duration.

  • <add key=”enableRemoveUserFromOrganization” value=”true” />

    • (enableRemoveUserFromOrganization) option, possible values {true or false}

    • This option will enable or disable remove users from Azure DevOps organization. So, by disabling this option with a false value, there is no action will be taken, remember if you enable this option by setting it to true with the dry run option setting to true, this will show you how many users will be removed without a real remove them from the organization.

  • <add key=”durationToRemoveUserFromOrganization” value=”90″ />

    • (durationToRemoveUserFromOrganization) option, possible values integer number

    • This option is the duration in days required to remove a user from Azure DevOps organization if they are not active for that duration.

Explaining The Configuration File of Recycling License for Azure DevOps

Explaining The Configuration File of Recycling License for Azure DevOps

Run the Tool in A Dry-Run Mode for Validation

It’s very important to run the tool in dry run mode for the first time then review and verify if the result and the logged information is the expected results before running the actual mode. 

pid="178">Run The Tool in a Dry-run Mode For ValidationRecycling License

Run The Tool in a Dry Run Mode For ValidationRecycling License

Review the Log File

You can review the log file for any dry run or actual run.

Review the log file of Recycling License for Azure DevOps

Review the log file of Recycling License for Azure DevOps

Login to Azure DevOps

Before you run the actual mode, you need to login to Azure DevOps with an account that has privileges to downgrade license or remove users.

You will login using Azure CLI login command (AZ login).

Login to Azure DevOps organization

Login to Azure DevOps organization

Run the Tool in An Actual Mode to Real Execute the Actions

Once you are logged in and have verified the result before in a dry run, you're ready to run the actual mode to make the tool takes real actions.

Run The Tool in an Actual Mode To Real Execute The Actionsfor Azure DevOps Recycling License Tool

Run The Tool in an Actual Mode To Real Execute The Actions for Azure DevOps Recycling License Tool

Further Reading

Azure DevOps Build Pipeline for Jekyll

Build and Deploy an ASP.NET App With Azure DevOps

Topics:
devops ,azure devops ,license ,recycling ,devops tools

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}