Monday, October 21, 2013

Desired State Configuration in Windows Server 2012 R2 PowerShell

The videos from TechEd are available online, and this one is a great explanation and demonstration of DSC:

Desired State Configuration in Windows Server 2012 R2 PowerShell

I’ve been toying a lot with DSC lately and believe it will be a great tool to handle FIM configuration automation (think Continuous Deployment for FIM).  This would be a good session to watch if you find that I’m talking too much about DSC and you want to start from square one.

Some highlights from the session:

  • Monad Manifesto – pretty cool that they set out their plan way back in 2002 and are still executing against it.  Doesn’t sound very agile (though I bet they are) but it sure helps with platform adoption to see such a plan.
  • DSC is a mixture of declarative and imperative, a combination of materials – I find this very interesting since the Sync Engine is going down the same path, although unfortunately not using the PowerShell language.
  • Dependency Graph – DSC resources can depend on other DSC resources, and the Local Configuration Manager (LCM) will just figure it out.  I’ve tried to generate configuration scripts for FIM and the toughest part was getting the dependencies untangled.  With DSC I get to outsource this.  BTW – I just tested this today with FIM Set objects that depend on other Set objects, and it works!
  • Idempotent Configurations – after scripting FIM deployments for a few years I have really wanted a way to make the deployment scripts both smaller and idempotent (make them safe to run multiple times with a consistent result).  DSC solves this problem by separating the intent from the action.
  • System Center VMM Demo – check out the demo at the 42 minute mark.  Cool stuff.

No comments: