Book Image

Managing Windows Servers with Chef

By : John Ewart
Book Image

Managing Windows Servers with Chef

By: John Ewart

Overview of this book

<p>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.<br /><br />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.<br /><br />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.</p>
Table of Contents (13 chapters)

Versioning and source control


Chef's job is to store cookbooks and configuration data, and then give the correct combination to hosts that it knows about. Cookbooks maintain their own notion of a version as well as their dependencies' versions. For this reason, it is important to treat them as artifacts of a source-controlled project and version them appropriately the same way you might version any other software library. Maintaining a predictable versioning scheme helps to ensure compatibility with other cookbooks and reduce conflict and errors when adding new features or refactoring code.

As with any other software project, cookbook versions are typically denoted in the form of MAJOR.MINOR.PATCH. Major version number changes indicate that the public API is not backwards compatible. For example, deprecation or removal of public functionality or inconsistent behavior of public APIs would be good reasons to make a major version update. In contrast, minor version numbers are incremented when...