Configuration Management

Chef – automated configuration management

Chef is an open source systems integration framework and configuration management system. Chef provides a Ruby library and API that can be used to bring the benefits of configuration management to an entire infrastructure.

Chef works by allowing the administrator to write recipes that describe how an element of a server (e.g Apache or MySQL) should be configured. The recipes use a pure Ruby DSL.

The recipes describe a series of resources that should be in a particular state. For example, what packages need to be installed, what services should be running. The software then ensures that each resource is configured correctly, fixing any problems which are identified. This ensures that the configured servers are always running exactly how the user needs them.

Recipes may be grouped together in roles. Applying a role to a node ensures that the node receives all the recipes. Recipes can reference attributes in other recipes, and also apply other recipes.

Chef can be used as a client-server tool, or run as a standalone tool.

Key Features

  • Uses Ruby as the configuration language.
  • Designed from the ground up to integrate with other tools.
  • Applies resources in the order they are specified in your Recipes – there is no dependency management.
  • Mutual authentication.
  • Encrypts.
  • Cookbooks are available for more than 70 different parts of the infrastructure.
  • Scalability.
  • Cross-platform software – runs under Linux, BSD, HP-UX, Solaris, and other operating systems.

Website: www.chef.io/chef
Support: GitHub Code Repository
Developer: Opscode
License: Apache License

Chef is written in Ruby. Learn Ruby with our recommended free books and free tutorials.


Related Software

Configuration Management
AnsibleSoftware provisioning, configuration management, and application deployment
SaltPython-based configuration management software and remote execution engine
ChefAutomate IT Infrastructure for Hardened, Consistent Configuration
PuppetCentralized configuration management for networks
CFEngineIT infrastructure automation and Continuous Operations framework
JujuSimple, secure devops tooling
pyinfraAutomates infrastructure super fast at massive scale.
RudderContinuous configuration for effective compliance
QuattorComplex set of tools for automated machine management
cdistConfiguration management tool that uses the Bourne Shell for scripting
ZooKeeperCentralized service for maintaining configuration information
RexFriendly automation framework
Bcfg2Produce a consistent, reproducible, and verifiable description

Read our verdict in the software roundup.

Cloud Management Tools
PuppetCentralised configuration management for networks
ChefConfiguration management system written in Ruby
LibcloudUnified interface to manage cloud services
JujuBuild entire environments in the cloud with only a few commands
GanetiCluster virtual server management software tool
jcloudsCloud agnostic library

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments