PowerShell Desired State Configuration and DevOps in Windows

Scale means…
Business is
However…
growing!!
More servers
=> More Failures
Scale * Complexity
Exceeds Skill
Rapid change means…
Can respond and However…
capture market
More Change
=> More Failures
Change is
Primary cause of outage
Rapid change, at scale with, constant failures
Configuration
Intent
DSC Engine
Dependency Resolution
Logging & Error Handling
Reboot Resiliency
Repeatable Automation
Technology Specific
Traditional Scripts
Resources
Technology Specific
Development
Test
Production
Development
Test
Production
Development
Test
Production
Intent
WHAT : Structural Configuration
Stays same irrespective of the environment
WHERE : Environmental Configuration
Changes as system goes from Dev  Test  Prod
Make It So
HOW
: DSC Resources
Do the heavy lifting in an idempotent way
Configuration
as Code
• Conflict detection
• Single source, multiple environment
• Composable
DevOps
• Common toolset for Dev & Ops
• Apply Dev practices to Ops
• Continuous deployment
Cloud Scale
• Reduce complexity from within
• On-demand system creation and
tear down
Development
Test
Production
configuration Main
{
Import-DscResource -Module xWebAdministration
CLIENT
# Install the IIS role
WindowsFeature IIS
{
Ensure
= "Present"
Name
= "Web-Server"
}
}
# Install the ASP .NET 4.5 role
WindowsFeature AspNet45
{
Ensure
= "Present"
Name
= "Web-Asp-Net45"
}
. . . .
. . . .
# Create a new website
xWebsite BakeryWebSite
{
Ensure
= "Present"
Name
= "FourthCoffee"
State
= "Started"
PhysicalPath = "C:\inetpub\FourthCoffee"
DependsOn
= "[File]WebContent"
}
Azure Blob
BootStrapper
Configuration
Resource
Gallery
BootStrapper
Configuration
AZURE VM
CLIENT
Azure Blob
Development
Test
Production
A Practical Overview of Desired State Configuration



Implementing a Release Pipeline with Release Management for
Visual Studio 2013
World
What's New in Microsoft Azure IaaS


JitJea: A Windows PowerShell Toolkit to Secure a Post-Snowden
Building Disaster Recovery Plans for Microsoft Workloads and
Applications with Hyper-V Recovery Manager and Desired State Configuration

Windows PowerShell Unplugged

Windows PowerShell Best Practices and Patterns: Time to Get
Serious
DCIM-B222 Transform Your IT Skills in a DevOps World
DCIM-B292 CiscoÆs Technology Trifecta for Cloud OS
DCIM-B296 Maximize the Benefits of Microsoft Cloud: Security, Automation, Self-Service and
Provisioning
DCIM-B309 Bare Metal OS Deployment in Microsoft System Center 2012 R2 Virtual Machine Manager:
This Is How It Is Done!
DCIM-B318 Windows PowerShell Unplugged with Jeffrey Snover
DCIM-B324 PowerShell Desired State Configuration and DevOps in Microsoft Azure
DCIM-B333 Distributed File System Replication (DFSR) Scalability Enhancements in Windows Server
2012 R2
DCIM-B334 In-Depth Introduction to Service Management Automation
DCIM-B340 TWC: Sysinternals Primer: TechEd 2014 Edition
DCIM-B346 Best Practices for Deploying Tiered Storage Spaces in Windows Server 2012 R2
DCIM-B347 Introduction to Microsoft Azure Automation
DCIM-B361 Automating Microsoft System Center Deployments with the PowerShell Deployment
Toolkit
DCIM-B362 JitJea: A Windows PowerShell Toolkit to Secure a Post-Snowden World
DCIM-B373 How IPv6 Impacts Private Cloud Deployments
DCIM-B377 Building Disaster Recovery Plans for Microsoft Workloads and Applications with Hyper-V
Recovery Manager and Desired State Configuration
DCIM-B395 Building a Web-Scale Private Cloud (without Losing Your Cool)
DCIM-B411 Datacenter Integration Using Service Management Automation in Microsoft System Center
2012 R2 Orchestrator
DCIM-B417 A Practical Overview of Desired State Configuration
DCIM-B418 Windows PowerShell Best Practices and Patterns: Time to Get Serious
DCIM-H203 Speed Lab! Microsoft System Center 2012 R2 Overview
DCIM-H206 Implementing Desired State Configuration in Windows Server 2012 R2
DCIM-H311 Automating Your Daily Tasks with Windows PowerShell
DCIM-H319 Windows Azure Pack: Service Management Automation
DCIM-H320 Windows Azure Pack: Virtual Machine Roles
DCIM-H325 Windows Server 2012 R2: Windows PowerShell Fundamentals
DCIM-IL201 Implementing Desired State Configuration in Windows Server 2012 R2 (repeats on May 13
at 5:00pm)
DCIM-IL201-R Implementing Desired State Configuration in Windows Server 2012 R2 (repeated from
May 12 at 1:15pm)
DCIM-IL202 Windows Server 2012 R2: Windows PowerShell Fundamentals (repeats on May 14 at
5:00pm and May 15 at 1:00pm)
DCIM-IL202-R Windows Server 2012 R2: Windows PowerShell Fundamentals (repeated from May 14
at 3:15pm)
DCIM-IL202-RR Windows Server 2012 R2: Windows PowerShell Fundamentals (repeated from May 14
at 3:15pm)
DCIM-IL306 Speed Lab! Microsoft System Center 2012 R2 Overview (repeats on May 15 at 8:30am)
DCIM-IL306-R Speed Lab! Microsoft System Center 2012 R2 Overview (repeated from May 13 at
8:30am)
DEV-B328 Running Your Dev/Test in Microsoft Azure
DEV-B329 Maximizing Microsoft Azure for Development and Testing
OFC-B224 Microsoft SharePoint Online Management and Control
OFC-B313 Microsoft Exchange Server 2013 Public Folder Migration
OFC-B328 Windows PowerShell 3.0 Administration with Microsoft SharePoint 2013 and SharePoint
Online
OFC-B333 Microsoft SharePoint on Microsoft Azure VM and Virtual Networks: How the Cloud (IaaS)
Changed the Way I Work and Improved Customer Productivity
OFC-B342 Microsoft Lync Remote PowerShell and Reporting
OFC-B416 Phone Number Management in Microsoft Lync Server 2013
OFC-H200 Administering the New Microsoft SharePoint Online
OFC-H322 Introduction to Windows PowerShell with Microsoft SharePoint Server 2013
PCIT-B339 How Microsoft IT Manages Their Microsoft System Center Configuration Manager
Application Lifecycle with Zero Touch
PCIT-B410 Microsoft System Center 2012 Configuration Manager: MVP Experts Panel
PCIT-H301 Active Directory Deployment and Management Enhancements
PCIT-IL303 Troubleshooting Active Directory Replication Errors (repeats on May 14 at 10:15am)
PCIT-IL303-R Troubleshooting Active Directory Replication Errors (repeated from May 12 at 4:45pm)
PRC02 From Code to Release: DevOps for Developers
PRC07 Installing Microsoft SharePoint 2013 Like a Pro
WIN-B360 Sizing App-V 5.0: Planning and Designing a Highly Available, Scalable, and Resilient
Management and Delivery System
WIN-B365 No Lab, No Problem! Building the Essential Lab Environment Using Microsoft
Technologies
WIN-IL202 Manage Networking Services in Windows Server 2012 R2 Using IPAM
Implementing Desired State
Configuration in Windows Server 2012 R2

Windows Server 2012 R2: Windows
PowerShell Fundamentals




For More Information
Windows Server 2012 R2
http://technet.microsoft.com/en-US/evalcenter/dn205286
System Center 2012 R2
http://technet.microsoft.com/en-US/evalcenter/dn205295
Azure Pack
http://www.microsoft.com/en-us/servercloud/products/windows-azure-pack
Microsoft Azure
http://azure.microsoft.com/en-us/
Come Visit Us in the Microsoft Solutions Experience!
Look for Datacenter and Infrastructure Management
TechExpo Level 1 Hall CD
http://channel9.msdn.com/Events/TechEd
www.microsoft.com/learning
http://microsoft.com/technet
http://microsoft.com/msdn