8. Why do we care?
• 2015 State of DevOps survey
• Gap
• Lead Time – 200x gap
• Deployment failures – 60x fewer
• Mean Time To Recovery – 168x faster
• 2x more likely to exceed profitability, market share, & productivity goals.
• 50% higher market cap growth over 3 years.
18. What is PowerShell DSC?
• Extension to PowerShell language
• PS Syntax
• Creates configuration scripts
• Creates and manages configuration files
• Emphasis on servers
• Ensures servers are configured the way you need.
• “Set it and forget it”
• The future of Windows Server Management (and Linux?)
https://en.wikipedia.org/wiki/Windows_PowerShell#/media/File:Windows_PowerShell_icon.png
19. Where does PS DSC fit in?
• Similar to Chef/Puppet
• Based on industry standards
• Managed Object Format (MOF)
• Common Information Model
(CIM)
https://flic.kr/p/763JUC
22. Recap
• Implemented as a module
Get-Command –Module
PSDesiredStateConfiguration
• Configuration is in a new
command type.
• Get-DscResource is your friend
• Get-DscResource <name> -syntax
is totally sweet
26. Give me more!
Write custom DSC resources
Pull model
Partial Configurations
Develop configuration like code (version control, testing)
Integration with server deployment process
Reporting
Works locally too…
https://flic.kr/p/cBFFFL
Who are you?
Where do you work?
What do you do?
How do you work?
What is your development style? (Agile, traditional, etc.)
This is a more recent Microsoft graphic on ALM, And I think the differences from the previous slide really show the evolution we’re seeing in the industry.
For one thing, it is a cycle, not a line.
Code is written. Time to get this out into the wild.
Does your release look like this?
Fire in the hole?
Setting up a new server
Setting up 10 new servers. 10,000 new servers
Different roles require different configurations
All machines in the same role should have the exact same configuration.
Drift over time
Changing requirements “Please install X on all the web servers”
You know what you want a server to be.
You don’t know when it drifts.
You don’t know what about it has drifted.
You have to write deltas
Stick with what you know: Describe what you want.
Separate the “what” from the “how”
Printed directions vs GPS nav.
Automation.
Desired State Configuration
Describe what you want (Declarative), rather than perform actions to get there (imperative)
Similar to Chef/Puppet (can be integrated with)
Based on industry standards
Managed Object Format (MOF)
Common Information Model (CIM)