Chef isn't exactly new, but I've been looking into it recently after briefly talking to Lindsay Holmwood at Rails Underground.
Basically, Chef is a Ruby-based configuration management engine. You set up recipes for how you want your system configured, and then Chef will cook it up for you. So, you can write lovely Ruby code to manage your servers, rather than running commands directly on your server.
With Chef, one of your systems is the server and all others are clients that communicate with the Chef "server" via REST over HTTPS. The server is a Merb application that stores cookbooks for your nodes using CouchDB.
The work is done by the clients, running the recipes for one or many nodes thus configuring that particular machine. The Chef server is only there to provide information to the clients. Once configured, you can access your Chef server and its cookbooks via a Web interface. You can create your own cookbooks from scratch but it's worth checking to see if one already exists in the Chef repository or one of its forks.
Once you've got your recipes sorted out, Chef allows you to programatically set up and commission production-ready server instances in next to no time.
Ezra's Cooking with Chef 101 blog post is a great place to get started, and there's a wealth of information in the Opscode Chef wiki. The Superfeedr blog post, Scale With Chef, is also worth a read.
Also.. Jumpstart Lab is running Rails Jumpstart - an intro to Rails - on August 15&16 then JavaScript Jumpstart for intermediate Javascript & UI programmers on 9/12. All courses are in Washington, DC. Save 10% with code "rubyinside"!