You are previewing Managing Windows Servers with Chef.
O'Reilly logo
Managing Windows Servers with Chef

Book Description

Harness the power of Chef to automate management of Windows-based systems using hands-on example

In Detail

This book begins with an introduction to the functionality and benefits of using Chef to manage Windows systems. From there, you are shown an overview of the Chef architecture and how to prepare a Windows host so that it can be managed by Chef, followed by an example of writing code to install a popular .NET application with Chef.

This book looks at how Windows system administrators can effectively leverage Chef as an automated system management tool to simplify their lives through managed infrastructure. Included are practical examples that will help you to understand how to take advantage of Chef when managing your infrastructure.

By the end of the book, you will be able to deploy software, provision hosts (including cloud servers), develop and test recipes for multiple platforms, and manage Windows hosts using the powerful tools that Chef provides.

What You Will Learn

  • Integrate Windows systems with Linux-based systems in a heterogeneous network
  • Automate the configuration of new Windows servers to provide various network services such as a web application
  • Scale your Windows infrastructure in a consistent and automated manner with cloud providers such as AWS, Rackspace Cloud, and Azure
  • Deploy new hosts into your infrastructure in minutes instead of hours
  • Develop cookbooks and recipes for your custom Windows configuration
  • Deploy and configure a complete .NET / IIS application to a Windows server using Chef
  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at If you purchased this book elsewhere, you can visit and register to have the files e-mailed directly to you.

    Table of Contents

    1. Managing Windows Servers with Chef
      1. Table of Contents
      2. Managing Windows Servers with Chef
      3. Credits
      4. About the Author
      5. About the Reviewers
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Chef and Windows
        1. Working with Windows
          1. Interacting with end hosts
          2. Bootstrapping Windows hosts
            1. Scaling with cloud providers
            2. Scripting with PowerShell
        2. Integrating with Linux-based systems
        3. Working with Windows-specific resources
          1. Supported platforms
        4. Summary
      9. 2. Installing the Client – an Overview of Chef Concepts
        1. Getting to know Chef better
        2. An overview of Chef's architecture
        3. Installing the Chef client on Windows
          1. Preparing to bootstrap Windows hosts
            1. Enabling Windows Remote Management
            2. Configuring firewall ports
            3. Enabling basic authentication
            4. Bootstrapping a Windows host
          2. Installing via MSI
        4. Summary
      10. 3. Windows-specific Resources
        1. Working with Windows-specific resources
          1. Platforms supported by Chef
        2. Managing roles and features
          1. Installing roles using different mechanisms
        3. Executing batch scripts
        4. Running scripts at startup
        5. Installing software packages
        6. Manipulating printers
          1. Managing printer ports
          2. Managing printers
        7. Interacting with the Windows Registry
          1. The Chef 10.x resource
          2. The Chef 0.11.x resource
        8. Managing the system path
        9. Scheduling tasks
        10. Interacting with Windows pagefiles
        11. ZIP files
        12. Rebooting Windows
        13. Summary
      11. 4. Provisioning an Application Stack
        1. Examining the cookbook
        2. Installing the cookbook
          1. Fetching from GitHub
        3. Examining the recipe
          1. Installing the prerequisites
          2. Preparing the IIS service
          3. Fetching the application
          4. Configuring the application
          5. Generating an IIS pool and site
        4. Performing the installation
          1. Bootstrapping the host
            1. Creating the role
            2. Applying the role to the node
        5. Summary
      12. 5. Managing Cloud Services with Chef
        1. Working with Microsoft Azure
          1. Downloading the management certificate
          2. Configuring knife for Azure
          3. Creating a new Azure virtual machine
          4. Bootstrapping your Azure node
            1. Creating a reusable image
        2. Managing Amazon EC2 instances
          1. Installing the EC2 knife plugin
          2. Setting up EC2 authentication
          3. Provisioning an EC2 instance
          4. Executing custom user scripts in EC2
            1. Writing the user script
            2. Providing a custom user script
              1. Terminating an EC2 instance
          5. Removing the Chef node
        3. Interacting with Rackspace Cloud
          1. Provisioning a Rackspace instance
            1. Injecting configuration into the virtual machine
          2. Terminating the instance
          3. Removing the Chef node
        4. Summary
      13. 6. Going Beyond the Basics
        1. Chef's declarative language
        2. Handling multiple platforms
          1. Declaring support in your cookbook
          2. Multiplatform recipes
            1. Reducing complexity
        3. Versioning and source control
          1. Testing recipes
            1. RSpec and ChefSpec
          2. Testing basics
            1. RSpec
            2. ChefSpec
              1. Getting started with ChefSpec
          3. Executing tests
            1. Understanding failure
          4. Expanding your tests
        4. Summary
      14. Index