InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Chef Configuration and Provisioning Tool Announced

Posted by Charlie Martin on Jan 26, 2009

Sections
Architecture & Design,
Development,
Operations & Infrastructure
Topics
Architecture ,
Configuration Management ,
Cloud Computing ,
Ruby ,
Deployment / Datacenter
Tags
Rake ,
OSS

Chef is a new open-source system integration, configuration management and provisioning application, released under the Apache 2.0 license by Opscode, in Seattle, Washington.  Chef operates by defining system nodes, cookbooks for performing administrative tasks, and libraries for defining interactions with other tools such as applications, databases, and system administration resources like LDAP directories.

Chef is implemented as a Ruby-based DSL which is interpreted by Chef clients, working under the direction of a Chef server.  Clients authenticate themselves to the server using OpenID, then synchronize the needed resources and libraries automatically.  These resources are then used by the client to perform steps toward configuring the client node, a process called convergence.  The ideal is that the configuration should be completed in one step; if it can't be, then the goal is for the client to make progress with later invocations in order to "converge" on the desired final state. 

While Chef has just been announced, and is still an early version, it is being used in production in several installations.

Just to clarify... by Adam Jacob Posted
Re: Just to clarify... by Charlie Martin Posted
  1. Back to top

    Just to clarify...

    by Adam Jacob

    If Chef can't configure your system in a single run, we believe it's a bug (either in your cookbooks or in Chef.)

    Convergence gives us graceful failures - not slow success. :)

  2. Back to top

    Re: Just to clarify...

    by Charlie Martin

    Thanks, Adam. That's as I'd understood it, I appreciate the clarification.

Educational Content

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.