Microsoft Previews PowerShell Desired State Configuration for Linux
Microsoft has released an early test version of PowerShell Desired State Configuration (DSC) for Linux.
DSC for Linux opens the way for PowerShell users to transfer their scripting skills used on Windows machines to Linux-based ones. Version 1.0.0 of the community test preview can be downloaded from GitHub here.
Microsoft describes DSC as a configuration platform with a declarative syntax for use in managing target devices. It supposedly reduces the need to write instructions. The new Linux PowerShell capabilities were demonstrated by Jeffrey Snover, a Microsoft Distinguished Engineer and lead architect for Windows Server. Snover, who is PowerShell's creator, spoke during an overview of DSC given at Microsoft's TechEd event last week by Microsoft MVP Don Jones.
Snover said that DSC for Linux was based on the WS-Management (WS-Man) protocol for remote communications and that Microsoft intended to make it an open source solution. It also uses the Open Management Infrastructure model, which is an open source management stack standard.
Jones explained that "DSC is the endgame of Windows PowerShell," adding that "the basic idea here is that instead of writing a script…you write what basically is a glorified INI file." Conceptually, DSC works like Group Policy, Jones said. The configuration of line-of-business apps gets done by writing a PowerShell script module (also known as a "resource provider"), he explained. The Linux resource providers used with DSC for Linux have names that begin with an "nx" prefix, such as "nxFile," "nxUser" and "nxGroup," according to Microsoft's announcement. DSC does depend on the WS-Man protocol, which is enabled in Windows Server 2012 and later versions, Jones said.
Currently, DSC for Linux only works in push mode. There are two modes with PowerShell DSC, "push" and "pull." The push mode is a one-way delivery of a configuration to a client, whereas the pull mode constantly checks a pull server for configuration changes to a client. Jones said that he thought most people would not use the push mode except for testing. The pull mode more typically would be used on production servers because it takes care of getting the resources. "The entire system is built by having the right files in the right folder," he explained about the pull mode approach.
The experience of using DSC for Linux is said by Microsoft to be "consistent" with that of using the Windows version. A walkthrough showing how to add DSC for Linux to a CentOS 6 Linux machine is described in this Microsoft blog post.
Kurt Mackie is senior news producer for the 1105 Enterprise Computing Group.