What is DSC?

To answer this question we have to look at some context first. If we have a look at the term DevOps and the meaning behind it we can conclude that it is a set of concepts that helps us (IT aficionados) deliver our solutions in a “Agile” way.
Generally meaning:

  • Faster release cycles.
  • Repeatable ways of building and deploying.
  • More shareable/manageable infrastructure configurations.

From a business point of view this can boost a company’s profit by delivering business solutions to end users faster (note: when implemented and used properly).

To implement such a solution delivery scheme we can use technology to assist us. Different technologies serve different environments and it is up to us consultants to help companies to make the right choices in this area.
In this post we will take a deep dive into Microsoft’s Desired State Configuration.

I will assume a company is looking for improved collaboration between employees when it comes to document management. They already have a lot of in-house knowledge of SharePoint and after intensive review the choice is made:

We are going to use SharePoint 2013 and create some custom code that will be the technical base of our business solution.

We want to be working the “Agile” way, so we start up our scrum teams, embrace our stakeholders and make everyone all exited! Next we have a look at the technical side of things.

We need to implement an technique that eliminates repetitive tasks as much as possible. This way we eliminate human errors and save valuable “clicking” time.

Meet: Desired State Configuration (DSC) from Microsoft.
DSC is a PowerShell extension and ships with Windows Server 2012 R2 and Windows 8.1. A couple of examples what DSC enables you to do are:

  • Install or remove server roles and features
  • Manage registry settings
  • Manage files and directories
  • Start, stop, and manage processes and services
  • Manage local groups and user accounts
  • Install and manage packages such as .msi and .exe
  • Manage environment variables
  • Run Windows PowerShell scripts
  • Fix a configuration that has drifted away from the desired state
  • Discover the actual configuration state on a given node

We are going to automate the creating of our infrastructure so we can scale up and down when team members are joining or leaving our scrum team. This way, when someone needs an environment, we can easily run the created automation scripts, and they are good to go. providing you the assurance that their environment matches exactly your intent.

In the upcoming days I will guide you thru the process of creating our server environment scripts.
Starting with a clean Windows 2012 R2 installation, ending with a fully working SharePoint 2013 farm.

This post is part of a series:

  1. What is DSC? (this post)
  2. Setting up the environment for DSC
  3. Configure Active Directory with DSC
  4. What LEGO has to do with PowerShell DSC Partial Configurations!
  5. Configure IIS with DSC
  6. Install SQL with DSC
  7. Install SharePoint
  8. Configure SharePoint

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s