MMS Minnesota 2014
Your CMDB and PowerShell DSC: DevOps Techniques
Nathan Lasnoski@nlasnoskiConcurrency
Configuration Management v1
How it works•Manual tracking of configuration data•Gathered from tools or physical inventory• Lives in spreadsheet or light CMDB
What it does• Facilitates asset and inventory functions
MMS Minnesota 2014
Configuration Management v2
How it works• Automated tracking of configuration data• Gathered exclusively from tools• Lives in a CMDB
What it does• Automation against CMDB data• Facilitates asset and inventory functions• Informs change management
MMS Minnesota 2014
Configuration Management v3
How it works• Declarative configuration to targets• Automated tracking of configuration data• Deployed and gathered from tools• Defined in scripts and managed in source control / CMDB
What it does• Normalized configuration is declaratively deployed or pulled by targets• Automation against CMDB data for outliers or processes• Facilitates asset and inventory functions• Informs change management
MMS Minnesota 2014
MMS Minnesota 2014
How to build Configuration Management v3
• Source Control (TFS, GIT, etc.)• Source Staging (Orchestrator)• Configuration Management Database (SCSM)• Configuration Repository (Orchestrator + SCSM)• Configuration Language (PowerShell)• Configuration Deployment Mechanism (PowerShell DSC)
MMS Minnesota 2014
Declarative Configuration in PowerShell DSC
•Microsoft’s platform for configuration management•Declarative configuration is applied on push or pull•Multi-vendor (Microsoft, Linux, Network…)• Facilitates re-application of configuration
Components of PowerShell DSC
Authoring• Written in PowerShell• Stored in a source repository
Staging• Declarative configuration creates MOF files• Configuration is built for all nodes requiring MOF
Apply• Configuration is “pulled” or “pushed” to targets of MOFs• Each configuration is declarative and will overwrite previous settings
MMS Minnesota 2014
DSC Configuration
Traditional Scripts (Imperative) Configuration (Declarative)
Why integrate with the CMDB?Configuration Transparency• Teams supporting servers need to know when configurations are changed• Facilitate understanding of which servers are running what configuration• Change should be managed to ensure quality of releases
Automation• When deploying a new server, a configuration must be selected• Service management is the perfect place to select that configuration
Ownership• Understanding of allocation of resources to services• Identification of configuration owners
MMS Minnesota 2014
How does the integration work?Configuration Class• Stores the standard configurations for the organization• Ex: “Concurrency Web Server, Concurrency DB Server”
GUID• Configuration tracked as a related item to the server• Tracked on a per-server basis
SMA• Script Repository for Configurations• Contains one or more recent versions of the script from source control
Request Offering• Used to request a new server or deploy a configuration to an existing server• Can be combined with other automation activities within SMA
MMS Minnesota 2014
MMS Minnesota 2014
Let’s do this! …on to the demo!
•Walkthrough of classes and framework
• Review of applied configuration and DSC
… deploying it yourself
MMS Minnesota 2014
Next Steps and Questions…
• Check out our online walkthrough and queries… https://gallery.technet.microsoft.com/scriptcenter/Deploying-and-DSC-35e4a7echttp://www.concurrency.com/blog/populating-cmdb-dsc-configuration-items-using-sma
• [email protected]•@nlasnoski
Session Title
EvaluationsPlease provide session feedback by clicking the Eval button in the scheduler app. One lucky winner will get a free ticket to the next MMS!
Visit all of our sponsors in the expo area and online!
Platinum Sponsors:
Gold Sponsors:
MMS Minnesota 2014