Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I tracked my time when initially learning chef, and it took me ~100 hours to be comfortable with what I needed (2.5 years ago roughly if I remember well).

The learning curve was fairly steep for me, but then I don't regret it, since I got to use it as a freelancer just right after on multiple gigs, and that I can now extend EngineYard recipes or think about using AWS OpsWork without much sweat.

From a purely single-person building app for yourself kind of perspective though (with one or two servers), it's a deep investment IMO...

People should have a look at http://ansible.cc for an apparently much lightweight alternative.



100...hours? Wow, the documentation for Chef must really be bad because I guess I still don't know what it's meant to do, despite going through the Hello World process. I thought it was just a framework for the batch commands needed to set up a machine. What was the hardest part to feel comfortable with? The syntax? The conventions for maintaining and executing recipes?


Hi Danso, fundamentally Chef, CFEngine and Puppet are all Configuration Management (CM) systems. They are a programmatic way to specify what a "host" or group of "hosts" should look like using a dependency graph. Basically it builds the dependency graph and works from the root to the leaves one level at a time.

As an example let's say you want to install MongoDB on a new Ubuntu machine, you have the following dependencies in approximate order;

* Add MongoDB Apt Repo to apt list. * Add MongoDB repository key. * apt-get update. * apt-get install mongodb. * Configure /etc/mongodb.conf to your liking. * Restart mongodb.

Depending on how you implement it CM will allow you to make the process cookie cutter.

Want a new test environment? Spin one up and run your CM against the servers. Want to try that hot new cloud provider? Ditto.

I think it's worth the investment unless you're just doing apps that have a very short shelf life (e.g. marketing apps that live for no longer than a few months).

Kind Regards, Nathan


The documentation for Chef is not great, but what makes it problematic (at least when I was first learning it) is that it has a tendency to not correspond to the currently released version (sometimes it's outdated, but more annoyingly, sometimes it's pre-dated).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: