Friday, September 5, 2014

100 Days of DevOps with PowerShell

If you are a Windows admin, you need to get on the bus with Devops before you get left behind. I used to think of Devops as a Linux admin thing. With Powershell 4.0 and Windows Server 2012, Devops is here for Windows.

Why do you need Devops or Powershell on Windows systems? For starters, although some tasks may take less time to do manually than it would take the time to automate with a script, any repeatable process may benefit from automation with Powershell. If you have servers that share a common configuration, like web, email, or database servers, you can use Powershell Desired State Configuration to automate and enforce the configurations.

From the System Center Central blog:

What is PowerShell DSC?

Desired State Configuration (DSC) is a feature in PowerShell 4.0 and Windows Server 2012 R2 that helps Windows administrators manage and deploy software services’ configuration data and the environment the services run in.
DSC provides a set of PowerShell language extensions, cmdlets and a process called declarative scripting. The goal of DSC is to provide administrators with a method for maintaining consistent configuration sets across computers or devices.  You can write an expression describing a system configuration, and the system will evaluate and apply the configuration. Common use cases for PowerShell DSC include (but are not limited to):
  • Enabling or disabling server roles and features (like IIS)
  • Deploying new software
  • Deploy an IIS website (including the site content)
  • Managing registry settings
  • Running Windows PowerShell scripts
  • Managing files and directories
  • Starting, stopping, and managing processes and services
  • Managing groups and user accounts
  • Managing environment variables
  • Fixing a configuration that has drifted away from the desired state
  • Discovering the actual configuration state on a given node
The bottom line is PowerShell DSC enables IT Pros to support consistent, standardized configuration and continuous deployment, both core goals of DevOps.