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

Why not add: or Fabric or Ansible or something else? I haven't found much that Fabric won't do for me and I haven't found much reason to install Ruby on my system [Python is a system package].

For a non-Puppet and non-Chef user, would someone explain why you'd limit your choices to puppet and chef?



One huge advantage that puppet and chef offer is abstraction from the underlying system. So if you write a configuration that says "Apache should be running, have PHP installed, and have the following 3 virtual hosts installed", then you don't care if you're running on Solaris, Debian, or CentOS. The manifest/recipe takes care of figuring out what the package is called and where the config files go.

I'm not familiar with Ansible, but Fabric seems more like SSH with a for loop. Puppet and Chef are not about automating the typing as much as they are about ensuring consistency. In my Apache example above, if someone goes and changes a vhost file by hand, that file will be replaced with a good one and Apache will be restarted, even if that file was made by a complicated template.


    then you don't care if you're running on Solaris, 
    Debian, or CentOS.
That does sound like an advantage, but I generally run the same OS across all machines (for a client), so that's not a huge advantage for me.

    Fabric seems more like SSH with a for loop.
Definitely. And that suffices fairly well for managing 10-20 servers.

    if someone goes and changes a vhost file by hand, that file 
    will be replaced with a good one and Apache will be restarted, 
    even if that file was made by a complicated template.
Ah, so Puppet is running on a machine, it will maintain the configuration of the machine even if some well-intentioned user fiddles?


> Ah, so Puppet is running on a machine, it will maintain the configuration of the machine even if some well-intentioned user fiddles?

Yes, at least for all ressources under its control. So in theory all changes to ressources managed via puppet should be done via puppet. I guess that's better this way when you're running a large farm of machines, the use-case puppet/chef/etc. were created for.


Ansible is definitely model based (and idempotent, like Puppet or Chef), unlike Fabric.

The resource model was reasonably inspired by Puppets, even if other aspects were not.

I look at Fabric as a deployment tool, fine if you like it, but configuration management requires more things on top.


Ansible works in pretty much the same manner.


I use Fabric to run Puppet. Setting up a puppet server is overkill for my small setup, but I found Puppet to be better suited to managing server configuration and more scalable should my number of servers continue to grow.


Fabric + Cuisine is happy joy.


Thanks for the tip!




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

Search: