top | item 2714390

(no title)

fakeempire | 14 years ago

I'm a big fabric fan and use if for server bootstrapping and deployment. I've tried to get into puppet a few times but it always seems overly complex to me. Is puppet useful if I'm only running a handful of servers or is it designed for 10s (or 100s) of servers?

I noticed he used puppet and fabric in this article so it made me interested what puppet it doing better for him than fabric.

Is there a repository of examples? Like just bootstrapping a debian box with nginx/apache/postgres (or mysql)?

Thanks!

discuss

order

stevelosh|14 years ago

I'd say Puppet is useful even if you're running one server, especially when you use it with Vagrant. If you use it for EVERY bit of setup on your server (no manually installing packages!) you can be sure that your development VM and production server are both the same environment.

Puppet is declarative, Fabric is imperative. With Puppet I can say:

    Make sure the directory /var/www/foo exists with permission 755 and owner foo.
    Make sure the nginx vhost "foo.conf" exists in sites-enabled with content X, and this depends on /var/www/foo existing.
With Fabric you have to handle all the edge cases. What if /var/www/foo already exists? What if it's owned by someone else? You have to manually code all the 'mkdir' and 'chmod' commands instead of just saying "this directory should exist like this".

Right now there's no public example repo, but I'm planning on cleaning up and open-sourcing our Puppet/Django/Vagrant skeleton this week so we can use it during the Django Dash.

bryanallen22|14 years ago

I'd be interested in seeing this once you're done. Is there some github profile I can watch or somewhere that you plan to put it?