Transcript
Page 1: Managing PowerShell DSC with Puppet

Managing PowerShell DSC with Puppet

Ethan BrownTechnical Lead, Windows Engineering

James PogranSoftware Engineer, Author of Learning PowerShell DSC

Page 2: Managing PowerShell DSC with Puppet

Agenda• How Puppet Enterprise works• Why Puppet and DSC• Demo• Puppet Labs Windows support• Resources• Q&A

Page 3: Managing PowerShell DSC with Puppet

Our software automates the provisioning,

configuration & ongoing management

of your machines & the applications, services & software running on them.

Page 4: Managing PowerShell DSC with Puppet

Puppet Deployment

Ubuntu Server

PUPPET MASTER

Windows Server Cisco Switch

Page 5: Managing PowerShell DSC with Puppet

How Puppet Enterprise Works

Page 6: Managing PowerShell DSC with Puppet

Why Puppet and DSC• Use the skills you have to do more

• DSC and Puppet: Best of both worlds

• Tracking and reporting on change

Page 7: Managing PowerShell DSC with Puppet

Use the skills you have to do more• Migrate a DSC Configuration script to a Puppet manifest with

a few text edits

• Puppet DSL is similar to PowerShell DSC syntax

• Less code when used together

Page 8: Managing PowerShell DSC with Puppet

Converting DSC Configuration to Puppet Manifest

Page 9: Managing PowerShell DSC with Puppet

DSC and Puppet: Best of Both Worlds• 200+ DSC Resources made by Microsoft and the community

• 4000+ modules made by Puppet and the community

• Interoperable with multiple platforms

Page 10: Managing PowerShell DSC with Puppet

Best of Both Worlds: Immediate Value• Solving problems using

the strengths of Puppet and DSC

Page 11: Managing PowerShell DSC with Puppet

DEMO

Page 12: Managing PowerShell DSC with Puppet

Best of Both Worlds: Advanced Scenario• Let’s deploy an ASP.NET 4.5.2 website

– Puppet reduces the number of steps to get IIS installed

– DSC IIS module has more features

– Also posted here: https://puppetlabs.com/blog/dsc-deep-dive-installing-and-configuring-iis-using-puppet-and-powershell-dsc

Page 13: Managing PowerShell DSC with Puppet

DEMO

Page 14: Managing PowerShell DSC with Puppet

Tracking and Reporting on Change• Reporting is a must for have any company that has to do any

kind of compliance auditing

• Track changes across your environment to ensure the correct state

• Knowing when something broke is just as important as knowing what broke

Page 15: Managing PowerShell DSC with Puppet

Tracking Change in DSC

Page 16: Managing PowerShell DSC with Puppet

Tracking Change in DSC with Puppet

Page 17: Managing PowerShell DSC with Puppet

Error Investigation in DSC

• Get-xDscOperation

• Trace-xDscOperation

Page 18: Managing PowerShell DSC with Puppet

Error Investigation in DSC with Puppet

Page 19: Managing PowerShell DSC with Puppet

Summary• Use the skills you have to do more

• DSC and Puppet: Best of both worlds

• Tracking and reporting on change

Page 20: Managing PowerShell DSC with Puppet

Puppet Labs Windows Support• 32- & 64-bit Support – Native MSI packages for x64 as of

Puppet Enterprise 3.7• Broad Platform Support - Windows 2008, 2012, 7, 8, 10• Windows Provisioning - Provision Windows OSes with Razor• Puppet Supported & Approved Modules for Windows –

Including Windows Module Pack, Supported SQL Sever & DSC modules

• Azure Integration – Microsoft Azure extension handler for bootstrapping Puppet installs. Supported Azure module.

Page 21: Managing PowerShell DSC with Puppet

Puppet Supported Modules• SQL Server – Installs & manages MS SQL Server 2012 &

2014 on Windows systems• WSUS Client – Configure clients to point to update servers;

schedule updates• DSC – Manages PowerShell DSC resources• Azure – Provision and manage Azure VMs• ACL – manage permissions with Windows ACLs• Registry – manage Registry keys and values• PowerShell – execute PowerShell commands with Puppet• Reboot – Automatically reboot after install

Page 22: Managing PowerShell DSC with Puppet

Puppet Approved Modules• IIS – install and manage IIS• Chocolatey – package manager• windows_env – manage Windows environment variables• Windows Java – Install and manage Oracle Java on Windows• pget – PowerShell alternative to wget or curl

Page 23: Managing PowerShell DSC with Puppet

Windows Webinar SeriesRegister for upcoming webinars at: http://info.puppetlabs.com/1885-Windows-Series-Main_LP-Registration.html

• Patch Management on Windows with Puppet

• Setting up Windows for System and Application Monitoring

• Getting Up and Running with the Windows Module Pack

• Get Started on Azure with Puppet

Page 24: Managing PowerShell DSC with Puppet

Questions &Answers

Page 25: Managing PowerShell DSC with Puppet

ResourcesPuppetConf 2015 Windows Track• Chocolatey and Puppet - Rob Reynolds• Azure for the Non-Microsoft Person - Rob Reynolds & Scott Hanselman, MSFT• Better Together: Managing Windows with Puppet and DSC - Ethan Brown &

Bruce Payette, MSFT

Blog• Chocolatey blog series• PowerShell DSC blog series

Docs• Managing Windows Configurations

Books• Learning PowerShell DSC by James Pogran

Education• Learning VM• Puppet Essentials for Windows – Instructor-led• Puppet Essentials for Windows - Virtual• Puppet Fundamentals


Top Related