An Overview of Windows PowerShell Desired State Configuration

An Overview of Windows PowerShell Desired State Configuration

An Overview of Windows PowerShell Desired State CDP-B360 Configuration Mark Gray, Senior Program Manager Microsoft Getting Software to customers Idea code $$$

Product Typical Agile process Development Feature Feature Feature Feature 1 2 3 4 Operations

Feature Feature Feature Feature 1 2 3 4 + Configuration Production

DevOps and continuous deployment DevOps Design 1 Feature Code Code + Config Test Deploy Checkin Automation

Benefits PowerShell Desired State Configuration Scenario overview Test Environment Hyper-V VM Blank WordPress VM Pre-Reqs (IIS, .Net, ...) PHP Code Accounts

Plugins Dev Code Theme MySQL App Accounts Permissions Test Data Test Environment Prod Data DSC Configuratio n

Execute Tests Production Environment Azure VM WordPress Pre-Reqs (IIS, .Net, ...) PHP Code Accounts Plugins New Theme Theme MySQL

App Accounts Permissions Production Data DSC in Continuous Deploy WordPress Simplicity Simple Configuration Traditional Scripts (Imperative) Configuration (Declarative)

Simple Configuration Traditional Scripts Depend ency Resolut In i on te r n o r t Er

& g g in dlin g g Rebo Lo Han Resili ot ency Rep Au eata tom ble ati Technology on Specific

DSC Configuration Intent DSC Engine Dependency Resolution Logging & Error Handling Reboot Resiliency Repeatable Automation Resources Technology Specific DSC Decouples Configuration

Intent DSC Engine Dependency Resolution Logging & Error Handling Reboot Resiliency Repeatable Resources Automation Technology Specific Intent WHAT : Structural Configuration Stays same irrespective of the

environment WHERE : Environmental Configuration Changes as system goes through different env. Dev Test Production Make It So HOW : DSC Resources Do the heavy lifting in an idempotent way Simplicity Demo Velocity Reuse, Reuse, Reuse Configuration as resource Composite

resource Allows you to safely refactor and abstract to your hearts content Flexible model slice as you choose (server or role or ) Gallery of resources Configuration - Composition Configuration xRemoteFiles { } Configuration Wordpress {

xWordPressThe me xRemoteFiles xRemoteFiles Configuration xPhpProvision { } xWebsite xPhpProvision xPhpProvision

} Resources DSC Resource Kit Helps bootstrap the community and make partners successful PowerShellGet Tool to find, install and publish resources to PowerShell Gallery DSC Resources Wave 0 Wave 1 Archive xComputer Environement xDNSServerAddr

ess File xDscWebService Group xIPAddress Log xVHD Package xVMHyperV Registry xVMSwitch Script xWebsite Service User WindowsFeatur

e WindowsProces s Wave 2 xADDomain xADDomainControlle r xADUser xCluster xFirewall xSmbShare xSqlEndpoint xSqlHAEndpoint xSqlHAGroup xSqlServerInstall

xVhdFile xWaitForCluster xWaitForDomain xWaitForSqlHAGroup Wave 3 xArchive xDatabase xDBPackage xEndpoint xIEEsc xPackage xRDRemoteApp xRDSessionCollection xRDSessionCollectionConfigura tion

xRDSessionDeployment xRemoteFile xService xUAC xWebApplication xWebAppPool xWebConfigKeyValue xWebVirtualDirectory DSC Resources Wave 4 Wave 5 xAzureAffinityGroup xHotfix xAzureQuickVM xIisModule

xAzureService xIisWordpressSit xAzureStorageAccount e xMySqlDatabase xAzureSubscription xMySqlGrant xAzureVM xDhcpServerOption xMySqlProvision xDhcpServerReservatio xMySqlServer n xMySqlUser xDhcpServerScope xPhp xDnsServerSecondaryZ xWindowsOption one

alFeature xDnsServerZoneTransfe xWordpressSite r xJeaEndpoint xJeaToolKit xWinEventLog Wave 6 xAzureSqlDatabaseS erverFirewallRule xChrome xFirefox xGroup xRemoteDesktopAd min

Wave 7 xAdcsCertificationAutho rity xCredSSP xDscWebEnrollment xPendingBoot You arent the only one moving faster WMF 5.0 Previews Monthly release Latest and greatest Feedback appreciated Resource Kit Monthly release

xResources Flexibility Components & Phases Authoring Phase (May include imperative as well as declarative code) PowerShell Staging Phase - Fully declarative configuration representation using DMTF standard MOF instances

- Configuration is calculated for all nodes Configuration Staging Area 3rd party languages and tools (Contains DSC data) Make it So Phase (Declarative configuration is reified through imperative providers.)

Local Configuration Store Parser and Dispatcher Resources When authoring in PowerShell: Declarative syntax extensions Schema-driven Intellisense

Schema validation (early-binding) Resources implement changes: Monotonic Imperative Idempotent Push Model Authoring Phase (May include imperative as well as declarative code) PowerShell Staging Phase

- Fully declarative configuration representation using DMTF standard MOF instances - Configuration is calculated for all nodes Configuration Staging Area 3rd party languages and tools (Contains DSC data)

Make it So Phase (Declarative configuration is reified through imperative providers.) Local Configuration Store Parser and Dispatcher Resources When

authoring in PowerShell: Declarative syntax extensions Schema-driven Intellisense Schema validation (early-binding) Resources implement changes: Monotonic Imperative Idempotent Pull Model Authoring Phase (May include imperative as well as declarative

code) PowerShell Staging Phase - Fully declarative configuration representation using DMTF standard MOF instances - Configuration is calculated for all nodes Pull Server 3rd party languages and tools

(Contains DSC data and Modules) Make it So Phase (Declarative configuration is reified through imperative providers.) Local Configuration Store Parser and Dispatcher Resources

When authoring in PowerShell: Declarative syntax extensions Schema-driven Intellisense Schema validation (early-binding) Resources implement changes: Monotonic Imperative Idempotent

Azure deployments Resource Extension Part of Azure PowerShell Command-line tools Publish- AzureVMDscConfiguration Package up script and associated resources and copy to Azure blob Set-AzureVMDscExtension Associate DSC script to run with VM start / update Flexibility Demo Accommodates your environment Push/Pull Frequency

Mode Apply only Report only Auto-correct Pull resources Not just configuration Test before apply Get actual state Re-apply Update now Extensibility DSC Underlying Themes

Standards based Platform: language + Engine & resources Windows best OS for DevOPs and Continuous Deployment DSC Extensibility UI DSC is the built-in configuration platform for Microsoft CM Tools PowerShel l

3rd Party Engine DSC Engine Logging Reporting Module Pull DSC Resources PS DSC Extension point

DSC & Azure Better Together Azure provides: Scale, Elasticity, Dynamic Provisioning, . Same configuration, different environment, at scale Dynamic provisioning using Azure extensions Multi-tenancy and isolation Azure and DSC Continuous deployment tooling utilizing Azure and DSC Such as Visual Studio, Brewmaster, etc. Brewmaster

Ryan Dunn Aditi [email protected] Brewmaster Fully automated Azure IaaS provisioning Repeatable, Consistent deployments Template SDK Versioned JSON Templates VMs configured via DSC API driven for CI build servers (Dev, Test, Prod) Generous FREE plan https://www.aditicloud.com

Templat eRepo Step 1. Pull Template Step 2. Parse Template for Params Step 3. Validate and Combine Params + Template Step 4. Provision Azure Resources by Deployment Group Affinity Group Step 5. Bootstrap each VM with DSC, Remoting, etc. Affinity Group

Step 6. Pull Package from Git repo into each node Templat eRepo Affinity Group Step 7. Dynamically generate DSC config and push to nodes Affinity Group Step 8. Poll DSC operations and report progress

Affinity Group DSC for Linux GuardRail Mike Baukes ScriptRock [email protected] DSC Availability Ships in Windows Server 2012 R2 and Windows 8.1 Windows Management Framework (WMF) 4.0 For Windows Server 2012, Windows Server 2008 R2 & Windows 7 Windows support & cadence WMF 5.0 previews

For Windows Server 2012 R2 and Windows 8.1 Fix forward and faster cadence ResKit: Online availability of x DSC resources Regularly adding new, 7 waves shipped & currently at over 100 resources How does DSC relate? Visual Studio: Visual Studio continuous delivery pipeline is being rebuild on top of DSC Microsoft Azure: Configuration of IaaS VM via DSC. DSC as configuration extension during provisioning System Center Products: SCVMM Service Model and the new Cloud OS Virtual

Machine Role can call DSC during provision and leverage it for configuration. PowerShell Desired State Configuration Related content Breakout Sessions CDP-B353: Automated Workload Provisioning with the Azure Pack and Windows PowerShell (Charles Joy, Jeff Goldner, Michael Greene, Tiander Turpijn) - Thursday, October 30 3:15 PM - 4:30 PM DEV-B333: Cross-Platform Continuous Delivery with Release Management for Visual Studio 2013 (Donovan Brown) - Friday, October 31 10:15 AM - 11:30 DEV-B310: A Practical View of Release Management for Visual Studio 2013 (Claude Remillard, Donovan Brown) - Wednesday, October 29 10:15 AM - 11:30 AM CDP-B228: Managing Linux Based Workloads in the Next Release of Windows Server,

System Center, Azure Pack, and Microsoft Azure (Michael Kelley) - Wednesday, October 29 8:30 AM - 9:45 AM Labs CDP-H201 Implementing Desired State Configuration in Windows Server 2012 R2 Ch9-13 Desired State Configuration, Windows 10, Windows Management Framework 5.0 (Jeffrey Snover) Come see us at PowerShell booth DevOps Resources Connect with peers: DevOps meet up on Thurs (30 th) 14:3015:30 @ IT Community Experts in the Resource Zone (Expo Hall 7)

DevOps sessions @ TEE http://aka.ms/techeddevops Resources for Devs http://aka.ms/teched-eu Resources for IT Ops http://aka.ms/devopstl Join the DevOps Insiders Group [email protected]

For more information Windows Server System Center Azure Pack Windows Server Technical Preview Microsoft Azure Microsoft Azure http://technet.microsoft.com/library/dn76547 2.aspx

System Center Technical Preview http:// technet.microsoft.com/en-us/library/hh546785.aspx Azure Pack http://www.microsoft.com/en-us/server-cloud/products/ windows-azure-pack http://azure.microsoft.com/en-us/ Come visit us in the Microsoft Solutions Experience (MSE)! Look for the Cloud and Datacenter Platform area TechExpo Hall 7

Resources Learning Sessions on Demand http://channel9.msdn.com/Events/Tec hEd TechNet Microsoft Certification & Training Resources www.microsoft.com/learning Developer Network

Resources for IT Professionals http://microsoft.com/technet http://developer.microsoft.com Azure Exams EXAM EXAM 532 533

+ Classroo m training MOC Online training MVA 1097 9

(Coming soon) Microsoft Azure Fundamentals (Coming soon) Microsoft Azure Fundamentals 2 Developing Microsoft Azure Solutions Implementing Microsoft Azure

Infrastructure Solutions MOC MOC 2053 2 EXAM 5 Developing Microsoft Azure Solutions

2053 3 534 (Coming soon) Architecting Microsoft Azure Solutions http://bit.ly/ Azure-Cert 5 Implementing

Microsoft Azure Infrastructure Solutions http://bit.ly/ Azure-Train MVA (Coming soon) Architecting Microsoft Azure Solutions http://bit.ly/ Azure-MVA et certified for 1/2 the price at TechEd Europe 2014!

http://bit.ly/ TechEd-CertDeal Please Complete An Evaluation Form Your input is important! TechEd Schedule Builder CommNet station or PC TechEd Mobile app Phone or Tablet QR code

Evaluate this session 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Recently Viewed Presentations

  • Contextual VA - The Grid

    Contextual VA - The Grid

    Other Value-Added Analysis (e.g. using MidYis, Yellis, CATS) - in such cases, a 'triangulation' approach might be helpful. Triangulation of Data FFT Data Analysis Project - Supporting Self Evaluation Overview Contextual VA What is it? What factors are used? How...
  • Memory Revision Eye Witness Testimony Forgetting Models of

    Memory Revision Eye Witness Testimony Forgetting Models of

    The Participants had to perform 4 tests: an avoidance task, a verbal rote-learning task, a word-association test, and a picture recognition task. Results: More errors were made on day 2 in the AS and SA condition than in the AA...
  • Judicial Administration in Canada September 12/05

    Judicial Administration in Canada September 12/05

    Although the trend in most Canadian provinces is toward an enhanced judicial role within the executive model, the deficiencies of the executive model continue to impair the ability of courts to fulfill court administration goals and objectives.
  • BASIC INTRODUCTION FOR YOUR SKILLED NURSING CENTER Pharmacy

    BASIC INTRODUCTION FOR YOUR SKILLED NURSING CENTER Pharmacy

    To order refills, pull the refill barcode sticker from the blister pack and place on a clean Order Refill form. ... If there is no written prescription for CIII-CV, and the prescriber has a designated nurse agent in the facility,...
  • Chapter 4 TAXABLE INCOME AND TAX PAYABLE FOR

    Chapter 4 TAXABLE INCOME AND TAX PAYABLE FOR

    Canada CaregiverAdditional Amount - ITA 118(1)(e) Additional amount for spouse or eligible dependant. If base for spousal or eligible dependant credits is less than the regular Canada caregiver amount base; Then, additional amount is available. Actual spousal or eligible dependant,...
  • The Caveman's Guide to the Dewey Decimal System

    The Caveman's Guide to the Dewey Decimal System

    The Caveman's Guide to the Dewey Decimal System. The Story of the Numbers Used for Nonfiction Books. In 1873 Mr. Melvil Dewey devised a system of classifying books which is used in many libraries. ...
  • Punnett Squares - Scholars

    Punnett Squares - Scholars

    Using a Punnett Square . Find the genotypes of the parents. TT x tt. Draw the Punnett Square. Write the alleles from one parent on the top of the square and the other alleles on the left side. Fill in...
  • CS-280 Lecture

    CS-280 Lecture

    Useful if you are into Qt slots/signals == events "A QThread should be used much like a regular thread instance: prepare an object (QObject) class with all your desired functionality in it.