Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Azure Virtual Datacenter

Build Status

This toolkit assists in the composition of reference architectures for Microsoft Azure. It is intended for enterprise customers with strict security and compliance requirements. The toolkit for designing and standardizing centrally-managed infastructure as well as application-specific infrastructure. It encourages the use of modern devops principles.


Repo structure

Here's what is included:

  • Agent A self-hosted agent for Azure DevOps. You will need this because the built-in agents have a timeout of 1 hour.
  • GitHub Actions GitHub Actions pipeline to deploy both Shared Services & MS-VDI in Azure environment. All the required Azure environment should be added to GitHub secrets.
  • Config The configuration used when running the toolkit. This tells the toolkit where to store audit logs.
  • Docs Documentation for using the toolkit.
  • Environments These are sample reference architectures that can be deployed with the toolkit. They are sometimes decomposed into archetypes and landing zones. A landing zone represents the portion of the reference architecture that is centrally managed. The archetype is the application specific infrastructure. The json files here are used by the toolkit to deploy the environments. The pipeline.yml files are for use with Azure DevOps; they are not needed if you are deploying locally.
  • LabVM This provides a click-to-deploy experience for setting up the toolkit on a VM in Azure. The VM has all of the dependencies installed for the toolkit.
  • Modules Modules are the building blocks for the reference architectures. An indvidual module is an Azure Reousrce Manager template for deploying a single resource or a set of closely related resources. These modules are structured in a way to facilitate passing outputs to subsequent deployments.
  • Orchestration This folder contains the scripts for the toolkit. The primary entry point is Orchestration\OrchestrationService\ModuleConfigurationDeployment.ps1. This script is used for local deployments and by the sample Azure DevOps pipelines.
  • Scripts These are additional assets that are used when deploying some of the environments.