|
| 1 | +# Desired State Configuration Overview for Decision Makers # |
| 2 | + |
| 3 | +This document describes the business benefits of using PowerShell Desired State Configuration (DSC). It is not a technical guide. |
| 4 | + |
| 5 | +## What Is Desired State Configuration? ## |
| 6 | + |
| 7 | +Windows PowerShell Desired State Configuration (DSC) provides a configuration platform built into Windows that is based on open standards. DSC is flexible enough to function reliably and consistently in each stage of the deployment lifecycle (development, test, pre-production, production), as well as during scale-out. |
| 8 | + |
| 9 | +DSC centers around the idea of "[configurations](https://msdn.microsoft.com/en-us/powershell/dsc/configurations)", which are easy-to-read documents that describe an environment made up of computers ("nodes") with specific characteristics. These characteristics can be as simple as ensuring a specific Windows feature is enabled, or as complex as deploying SharePoint. |
| 10 | + |
| 11 | +DSC also has monitoring and reporting built in. If a system is no longer compliant, DSC can raise an alert and act to correct the system. |
| 12 | + |
| 13 | +## Benefits of Using Desired State Configuration ## |
| 14 | + |
| 15 | +Configurations are designed to be easily read, stored, and updated. Configurations simply declare the state target devices should be in, instead of writing instructions for how to put them in that state. This makes it much less costly for to learn, adopt, implement, and maintain configuration through DSC. |
| 16 | + |
| 17 | +Creating configurations means that complex deployment steps are captured as a "single source of truth" in a single location. This makes repeated deployments of a specific set of machines much less error-prone. In turn, this makes deployments faster and more reliable. This enables quick turnaround on complex deployments. |
| 18 | + |
| 19 | +Configurations are also shareable via the PowerShell gallery. This means common scenarios and best practices might already exist for the work you need done. |
| 20 | + |
| 21 | + |
| 22 | +## Desired State Configuration and DevOps ## |
| 23 | + |
| 24 | +[DevOps](http://blogs.technet.com/b/ashleymcglone/archive/2015/11/20/devops-for-n00bs-ie-windows-people.aspx) is a combination of people, technologies and culture that allow for rapid deployment and iteration. DSC was designed with DevOps in mind. Having a single configuration define an environment means that developers can encode their requirements into a configuration, check that configuration into source control, and operations teams can easily deploy code without having to go through error-prone manual processes. |
| 25 | + |
| 26 | +Configurations are also [data-driven](https://msdn.microsoft.com/en-us/powershell/dsc/configdata), which makes it easier for ops teams to identify and change environments without developer intervention. |
| 27 | + |
| 28 | +## Desired State Configuration On and Off Premise ## |
| 29 | + |
| 30 | +DSC can be used to manage both on-premise and off-premise deployments. For on-premise solutions, Desired State Configuration has a [pull server](https://msdn.microsoft.com/en-us/powershell/dsc/pullserver) that can be used to centralize management of machines and report on their status. For cloud solutions, Desired State Configuration is usable wherever Windows is usable. There are also specific offerings from Azure built on Desired State Configuration, such as [Azure Automation](https://azure.microsoft.com/en-us/documentation/services/automation/), which centralizes reporting of Desired State Configuration. |
| 31 | + |
| 32 | +## DSC and Compatibility ## |
| 33 | + |
| 34 | +Although DSC was introduced in Windows Server 2012 R2, it is available for downlevel operating systems via the Windows Management Framework (WMF) package. More information about the WMF can be found on the [PowerShell landing page](https://msdn.microsoft.com/en-us/powershell/). |
| 35 | + |
| 36 | +DSC can also be used to manage Linux. For more information, see [Getting Started with DSC for Linux](https://msdn.microsoft.com/en-us/powershell/dsc/lnxgettingstarted) |
0 commit comments