Generally the practice of server management has been either manually logging into each machine individually and configuring it. The other is crafting cruft scripts for some kind of automation. Neither of these are scalable. Especially scripting that as a whole on the industry is a complete waste of time as scripts are generally written by past admins and specific systems and that is as far as they get. Enter, Chef. A Ruby based platform to manage all your systems. Chef contains the ability to create cookbooks to provision systems. Even more amazing is the knife utility that allows me to interact with all my systems through the Chef server from my workstation. For example say I want to load a rackspace cloud, All I need to do is quickly execute:
knife rackspace server create -r ‘role[apache-webserver]‘ –server-name mywebserver –node-name mywebserver –image 69 –flavor 1
Furthermore not only interacting with many cloud API. Is the ability to create roles which contain many cookbooks. The previous example I launched a cloud onto rackspace with a Apache Webserver role that contains all my preconfigured attributes. Definately give Chef a try to put some sanity back into computing.
