Puppet and DSC : better together !
Puppet or Chef provide a complete solution stack : they are a management console, they are a domain-specific language, and they are a platform-level implementation : when adopting Puppet, you adopt it from top to bottom.
DSC only provides the platform-level implementation. It doesn't come with the management tools and centralized reporting tools like Puppet Dashboard needing in a large, or even in many medium-sized environments. At the end of the day, Puppet/Chef/etc and DSC are meant to accomplish every similar things, but DSC is only a piece of the picture, which provides advanced and lighweight windows products deployment capabilities.
Use DSC inside of puppet with the puppetlabs/dsc official Puppet module to manage windows servers and get the best of both tools :
- Puppet allows for the central management of configurations, roles, and permissions.
- DSC is the tool used to create and deploy windows-specific configurations for windows server platform or application
Microsoft point of view
We view DSC as a platform technology to manage Windows, and this technology can be extended with the creation of new resources as well as the reuse of PowerShell DSC functionality in different solutions. As Microsoft partners make their components configurable via DSC, their customers will be able to choose from a wide range of configuration management tools that support DSC.