A Journey Into the Emotions of Software Developers
Deploying IIS and ASP.NET with Puppet
1. Deploying IIS & ASP.NET with Puppet
Kenaz Kwa
Sr. Product Manager
Ethan Brown
Tech Lead for Windows Engineering
2. Agenda
• Puppet Enterprise: What & How
• Puppet Windows management
• Configure and deploy IIS & ASP.NET
• Demo
• Puppet Labs Windows support
• Q&A
3. Our software
automates the provisioning,
configuration &
ongoing management
of your machines & the applications,
services & software running on them.
6. Puppet Windows Management
Available Resources
Core Resources
Applications / REST APIs
Management Abstractions
Puppet Agent
File · ACL · Exec · Registry · Package · Service · Users · Groups · Scheduled Tasks
IIS · Azure · SQL Server
PowerShell · DSC · Chocolatey · WSUS Client
7. Configure & Deploy IIS & ASP.NET
• Consistent and repeatable way to deploy and manage your
infrastructure and applications
• Automatic remediation
• Reporting
9. 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
• 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.
10. 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
11. 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
12. Windows Webinar Series
Register for upcoming webinars at: http://info.puppetlabs.com/1885-
Windows-Series-Main_LP-Registration.html
• Deploying IIS and ASP.NET with Puppet
• Package Management on Windows with Chocolatey
• Managing PowerShell DSC with Puppet
• 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
Installing packages
Choco / Choco module; or use Puppet base resource types
Managing Services
Windows time, creating registry keys
Disable services with PE and create scheduled tasks
PowerShell
- How to use with Puppet; use puppet with PowerShell
Our software helps you automate the configuration and ongoing management of your machines and the software running on them, so you spend less time fighting fires and more time deploying great software.
We help you make rapid, repeatable changes and automatically enforce the consistency of systems and devices–across physical and virtual machines, on prem or in the cloud.
First, we think it’s critical to adopt automation technology that helps you model and enforce the desired state of the services you deliver.
Second, we think that you should automate those processes (among others) from your core infrastructure up through your applications, all in one place for full enforcement, traceability and auditability.
Third, we think you should automate across the entire lifecycle, from initial provisioning of infrastructure through decommissioning.
Finally, you should do this across everything. If it has an IP address, you should automate the management of it.
Let’s dig into each of these.
First, we think it’s critical to adopt automation technology that helps you model and enforce the desired state of the services you deliver.
Second, we think that you should automate those processes (among others) from your core infrastructure up through your applications, all in one place for full enforcement, traceability and auditability.
Third, we think you should automate across the entire lifecycle, from initial provisioning of infrastructure through decommissioning.
Finally, you should do this across everything. If it has an IP address, you should automate the management of it.
Let’s dig into each of these.
First, we think it’s critical to adopt automation technology that helps you model and enforce the desired state of the services you deliver.
Second, we think that you should automate those processes (among others) from your core infrastructure up through your applications, all in one place for full enforcement, traceability and auditability.
Third, we think you should automate across the entire lifecycle, from initial provisioning of infrastructure through decommissioning.
Finally, you should do this across everything. If it has an IP address, you should automate the management of it.
Let’s dig into each of these.
There are many different approaches to deploying IIS and ASP.NET (PS scripts, Web Deploy, GUI, etc.).
With Puppet, you get a consistent and repeatable way to deploy and manage not just IIS and ASP.net, but your entire infrastructure.
If someone makes an unauthorized change to your IIS settings, Puppet will automatically remediate those changes.
First, we think it’s critical to adopt automation technology that helps you model and enforce the desired state of the services you deliver.
Second, we think that you should automate those processes (among others) from your core infrastructure up through your applications, all in one place for full enforcement, traceability and auditability.
Third, we think you should automate across the entire lifecycle, from initial provisioning of infrastructure through decommissioning.
Finally, you should do this across everything. If it has an IP address, you should automate the management of it.
Let’s dig into each of these.
First, we think it’s critical to adopt automation technology that helps you model and enforce the desired state of the services you deliver.
Second, we think that you should automate those processes (among others) from your core infrastructure up through your applications, all in one place for full enforcement, traceability and auditability.
Third, we think you should automate across the entire lifecycle, from initial provisioning of infrastructure through decommissioning.
Finally, you should do this across everything. If it has an IP address, you should automate the management of it.
Let’s dig into each of these.
First, we think it’s critical to adopt automation technology that helps you model and enforce the desired state of the services you deliver.
Second, we think that you should automate those processes (among others) from your core infrastructure up through your applications, all in one place for full enforcement, traceability and auditability.
Third, we think you should automate across the entire lifecycle, from initial provisioning of infrastructure through decommissioning.
Finally, you should do this across everything. If it has an IP address, you should automate the management of it.
Let’s dig into each of these.
Consider the common mobile banking app.
Things like this are driving a new way of distributed applications
While they are deceptively simple, there’s a lot of infrastructure behind these.
With Puppet’s model-driven approach, you can describe the relationship between these components and the information the need to exchange to work together properly.