Chef 11 adds a serving of Erlang
Opscode's Chef, the open source, cloud-focused, configuration management framework, has received a major update in the recently announced Chef 11 and now sports a core API server written in Erlang. Erchef, as the new core API server is known, was created using the experiences Opscode had running its hosted Chef offerings. The company set out to make a server that was API-compatible with the Ruby version of the Chef server, but faster and more scalable. To that end, the developers have been working on API endpoints where they could get the most benefit from scaling and performance and have been deploying it with their private Chef customers. The Chef 11 release marks the point where the Erchef server is incorporated into Chef's open source code base.
Chef is built around a Ruby-based DSL in which developers and administrators can write recipes or cookbooks that describe how to deploy and administer server applications. Chef runs with a client-server model where the client sends information about the node it is running as attributes to the server. The server lets recipes query the indexed attributes to determine how they should configure the node as part of the overall configuration.
Since the release, and in part due to another feature (the migration of the Chef WebUI from merb to Rails3), Opscode has had to release an update, as the code was susceptible to the recent Rails YAML exploits. The Chef 11 client has also seen a complete overhaul of its Chef::Node::Attribute mechanism, removing many confusing exceptions and making it easier for code to react to. A reliance on Ruby hashing to order how cookbooks were evaluated has now been removed, making runs more reproducible.
Other changes included contributions to add support for partial templates and a new chef-apply tool which can run a individual recipe on the current system. For a full list of all the changes since Chef 10, see What's New in Chef 11; consult the release announcement for a listing of all fixes and features in Chef 11. Users with Chef 10 installations should note that migration tools for Chef 10 to 11 will be released "in the future". Currently only 64-bit Ubuntu and CentOS 5/6 systems have packages available for them. Chef is published under the Apache 2 licence on the Chef Wiki, where installation instructions and tutorials can be found.