Hacker News new | ask | show | jobs
by patrickgzill 5390 days ago
What is the difference between capistrano, Chef, and Puppet?
1 comments

High level:

Capistrano is a tool for deploying your applications. You use it to push out new versions of your own codebase.

Chef and Puppet are tools for provisioning/configuring servers. You use it to install the right third-party libraries, programs, config files, etc.

I will have to look at it more. I have found "using capistrano for system administration" articles however.
This is because the tasks involved with deploying applications and system administration have some significant overlaps. Capistrano is, essentially, a tool layer atop Net::SSH that can execute actions on a server, based on definitions written inside the framework provided by Capistrano. Capistrano was originally written for application deployment, but it wouldn't be "wrong" to use it for system administration. Sprinkle (a software provisioning tool) [1] is built on top of Capistrano.

1 - https://github.com/crafterm/sprinkle