This project uses Infrastructure as Code (IaC) and DevOps concepts to put Azure Tenants under source control. The configuration of all Azure services is stored in Yaml files which are secured by a Git Repository.
This concept allows multiple tenants to be set up identically or, if necessary, each tenant to be configured with controlled deviation.
These are the top project that M365DscWorkshop is based on:
Project Name | Project Description |
---|---|
DscWorkshop | The DscWorkshop is the blueprint for this project where all the threads come together. |
Datum | Datum is used to manage configuration data in a hierarchy adapted to the business context. |
Pester | Pester is a testing framework to verify the configuration data, the code as well as the outcome after enacting the configuration. |
Sampler | Enables robust build and release pipelines for most involved open-source projects. |
Microsoft365DSC | This project does the regular work and puts the configuration data and guidelines into practice. |
For all other dependencies, please refer to the file RequiredModules.psd1.
This walk through this guide and adapt the project, you need:
- One or more Azure Tenant(s) to manage.
- An Azure DevOps organization hosting this code.
- A virtual machine running on Azure for each tenant you want to manage. This virtual machine read the configuration and applies it to the specified tenant.
ℹ️ For an introduction into the principles and patters of the DscWorkshop, please refer to the Exercises. When you have done these exercises, the following steps will make much more sense.
To get started, you just need an Azure tenant and your personal computer. The steps in short are:
- Fork the project or put it into your own code management solution.
- Clone your project to your development machine.
- Set the Azure tenant details in the configuration data.
- Build the Artifacts.
- Run the deployment scripts in the lab folder.
Please go to the detailed guide to get started.