Open Source


Ensure configurations are applied consistently in every environment, at any scale, with infrastructure automation

Download Chef Workstation to start

Get Chef data sheet

Automated configuration management enables consistent configurations at scale

As the environments you manage grow, manual configuration and deployment practices can result in your operational expenses growing at an alarming rate. With Chef, your infrastructure is defined as code, ensuring that configuration policy is flexible, versionable, testable and human readable. Servers managed by Chef are continuously evaluated against their desired state, ensuring that configuration drift is automatically corrected, and configuration changes are universally applied.

Getting security, ops, and devs collaborating
- Michael Hedgpeth, NCR

Chef continuously configures systems against
your desired state

As our environments grow in size and complexity, manual processes can become a barrier to deploying changes with confidence and consistency. Systems are missed during software updates or scheduled maintenance leading to unpredictable configuration drift across your estate. Unexpected and difficult to diagnose failures are uncovered late in the development cycle due to inconsistently configured environments between development and production. All this results in delayed releases, costly rollbacks, and too much time spent on unplanned work.

Chef automates the process of managing configurations, ensuring that every system you’re responsible for is configured correctly and consistently. Because Chef applies updates dynamically, you can make conditional changes based on their running environment or hardware, ensuring that the same code that configures development can be used all the way through to production. Chef’s built-in “test & repair” behavior means that systems can update their configurations continuously, and Chef will only take action when machines diverge from their desired state. Chef makes your infrastructure configurations testable, portable, and auditable, giving your teams the freedom to focus on building new innovations, rather than re-solving old problems.

Start hands-on learning with Chef

Chef ensures configurations are standardized and continuously enforced

Easily Enforce Consistent Configuration

Transform your configuration into versioned, executable, human-readable code. Per-deployment differences can be accounted for dynamically, reducing duplicated effort between teams and environments, and ensuring consist configurations across the development lifecycle.

A Repeatable Process to Eliminate Drift

Chef has built-in validations to ensure that configurations are only changed if a system diverges from the desired state you define. This allows Chef to be continuously re-run to automatically correct configuration drift, but take no action on properly configured systems.

Customizable Code for Unmatched Flexibility

Chef’s resources provide simple declarative definitions for common administrative tasks. Chef is built for customizability, making it easily extended to support even the most unique environmental requirements.

Cloud Integrated for Painless Migration and Management

Chef provides resources for configuring a variety of cloud-based SaaS services, and integrates cloud provisioning APIs as well as third-party software like HashiCorp’s Terraform. Chef’s integrations give you a single process to manage on-premises and cloud estates.

Manage Configurations with Confidence through Testable Code

Defining infrastructure as code makes the process of managing your configurations automated and testable. The Chef Development Kit (ChefDK) includes robust testing tools to ensure that you can automate the validation of infrastructure changes before they’re applied to your environments.

Simple Ad-Hoc Configuration with Chef Workstation

Chef Workstation contains everything you need to start using Chef in one easy-to-install package. With Chef Workstation you can apply configuration updates directly over SSH or WinRM without needing to pre-install any software on your target machines.


Gain operational visibility with Chef Automate

Whenever Chef configures a system, Chef Automate collects the results, providing filterable insights and a fully-auditable history of configuration change, across every environment you manage. When your Chef policies change, Chef Automate keeps track of who made what change, and when it was implemented. With Chef Automate, you always know exactly how your environments are configured, whether you manage dozens of systems, or thousands.

Learn more about Chef Automate