While studying for some of my Microsoft certifications I had a need to quickly and easily spin up various Hyper-V Lab environments so that I could experiment with and learn the technologies involved.
Originally I performed this process manually, creating Hyper-V VM's and environments to suit. But as the complexity of the Lab environment increased (e.g. take multi-tier PKIs) manuallyconsultoria seo building these Labs became unmanageable. Also, if I wanted to repeat a particular process multiple times I would have to either snapshot multiple VMs or manually back them all up. This quickly became unsupportable as snapshots slows VMs down and constant backups of large Hyper-V environments was slow and also limited by space. This gave me a basic set of requirements for this module.
So as a solution to these problems I decided that I wanted a declarative approach to automating the process of building a Lab environment.
This had the following advantages:
- Building a new Lab with multiple VMs was automated.
- Creation of the actual Lab VMs could be done without supervision.
- Once a basic Lab was created more complex Lab environments could be created by cloning the original XML configuration and tailoring it.
- Configuration files could be distributed easily.
- Because the post setup configuration of the Lab VM machines was performed via DSC this gave me an opportunity to work with DSC to a greater depth.
- The configuration files could be created by people without knowledge of PowerShell or DSC.
- UI based applications could be easily created to generate the configuration XML.