Review: Chef cooks up configuration management

Opscode's Chef packs the power of Ruby and plentiful Cookbooks, but lacks features and polish found in other solutions

Among the various configuration management frameworks available today, Opscode's Chef is a relative newcomer. But as the double-digit version number would suggest, Chef has been making strides toward adding new features and appears to be gaining some ground against its older and more mature competitors.

For any shop considering Chef for configuration management, the main question will be the level of familiarity and comfort with the Ruby programming language, which Chef relies on for driving all configuration changes.

[ Review: Puppet Enterprise 3.0 pulls more strings | Puppet or Chef: The configuration management dilemma | 12 clever cloud tools for devs and ops | Subscribe to InfoWorld's Data Center newsletter to stay on top of the latest developments. ]

Chef is available in a variety of different flavors. Opscode offers Hosted Chef, which is a hosted service that Opscode runs in the cloud and allows you to implement Chef without running your own local Chef server. Then there's Opscode's Private Chef, a commercial product that installs locally and offers an extended selection of features such as high availability and an enhanced Web UI. Lastly, there's the open source Chef, which is free but lacking in enterprise-grade features and somewhat more challenging to set up and deploy. For this review, I'll focus on Private Chef.

Each Chef installation requires a Chef server, a Chef workstation, and nodes that connect to the Chef server for management. Regardless of whether you're using Hosted Chef, Private Chef, or open source Chef, this baseline configuration is required. Smaller builds might get away with combining the Chef server and workstation on the same hardware, but larger deployments will need to separate those functions, and perhaps even separate the Web UI servers if operating in a high-availability or clustered Chef environment.

Installing Chef
Building and installing Chef is fairly straightforward once you understand the overall layout and use of certificates, so long as you have a solid background in Unix/Linux administration and scripting. The documentation offered by Opscode is reasonably clear for the most part, but quite vague in some places, which can cause problems for the uninitiated.

The basic concept is that you install the Chef server on a supported Linux distribution, which means either RHEL/CentOS or Ubuntu Server. This is simple, requiring only the installation of a few packages. Then you run a reconfiguration using the private-chef-ctl tool, followed by a test. Assuming all goes well, you now have a functional Chef server.

InfoWorld Scorecard
Performance (10.0%)
Interoperability (20.0%)
Availability (20.0%)
Scalability (20.0%)
Value (10.0%)
Management (20.0%)
Overall Score (100%)
Enterprise Chef 11.4 8.0 8.0 9.0 9.0 9.0 7.0 8.3
1 2 3 4 Page 1
Page 1 of 4