79cd003e88 | ||
---|---|---|
Agent | ||
Config | ||
Docs | ||
Environments | ||
Modules | ||
Orchestration | ||
Scripts | ||
labvm | ||
.dockerignore | ||
.gitignore | ||
.travis.yml | ||
InstallDependencies.ps1 | ||
LICENSE | ||
README.md | ||
RunAllTestsPipeline.yml | ||
dockerfile |
README.md
Azure Virtual Datacenter
Enabling developer agility and operational consistency without compromising security and governance.
Microsoft Azure Virtual Datacenter (VDC) is an approach for designing a foundational cloud architecture for enterprises. It provides a vision for enterprise IT in the cloud and a strategy for implementing it. For more information about the approach, visit Azure Virtual Datacenter.
The VDC approach is composed of three main components:
- A set of reference architectures
- An engagement model that guides customers on choosing the right reference architectures
- An automation toolkit that follows the engagement model to provide a DevOps approach on deploying different reference architectures
Automation Toolkit
This repository contains the Azure Virtual Datacenter Automation Toolkit. The toolkit is set of deployment artifacts, Azure Resource Manager templates and scripts, and an orchestration engine. It allows you to deploy an example shared services infrastructure environment and example workload environments capable of hosting different applications. It also allows you to deploy a simulated on-premises environment, hosted in Azure, for testing purposes.
Documentation
Understanding the concepts
These articles will help you understand how the Azure Virtual Datacenter Automation Toolkit works and what it is intended to do.
- Prerequisite Azure knowledge - Resources for understanding the Azure services that the toolkit utilizes.
- Understanding the Automation Toolkit - Explains the important concepts in the toolkit.
- Understanding environment types - Describes the built-in environment types that the toolkit can deploy.
- Common workflow - Covers the typical usage pattern for the tools in the toolkit.
- Roles and permissions - Lists the custom roles that are provided by default in the toolkit.
- Modules - Explains the modules included in the toolkit.
Setting up the toolkit
We recommend using the Docker image provided in this GitHub repository to run the toolkit. However, you can run the toolkit locally if you choose. After getting the toolkit setup, you'll be ready to make your first deployment with the toolkit.
- Run the Docker image (Recommended) - How to setup the toolkit using Docker.
- Run on your local machine - How to setup the toolkit natively.
Usage patterns for the toolkit
This section provides more detail on deploying archetypes and modules with the toolkit.
- Your first deployment - Quick start tutorial for deploying the simulated on-premises archetype.
- General considerations - Items to evaluate before deploying any archetype.
- Creating archetype configuration files - How to prepare an
archetype.json
file.- Common parameters - Parameters used in all archetype configuration files.
- Common workload parameters - Parameters used by workload archetype configuration files.
- Archetype deployment considerations - Items to evaluate that are specific to shared-services and workload environments.
- Validating deployments - How to validate an archetype configuration.
Extending the toolkit
The real power of the toolkit is the ability to create new archetypes and modules to meet your specific needs.
- Creating new modules - How to create a new module.
- Creating new archetypes - How to create a new archetype.
- Using the integration tests - How to run and add new integration tests.
Script Reference
There are four Python scripts provided by the toolkit.
- policy-assignment.py Update subscription policy post-deployment
- role-creation.py Create subscription roles
- subscription.py Create management groups and subscriptions
- vdc.py Deploy archetypes and modules
Archetypes
Be sure to understand the different environment types for archetypes.
- Simulated on-premises environment
- Shared services
- IaaS N-tier architecture
- App Service Environment + SQL Database
- SAP HANA
- Cloudbreak
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.