4 ms·
Paramiko is a Python API for SSH client, so it's not comparable to either of the rest. Fabric itself is a poor man's badly implemented RPC for sysadmins: you s
by dozzie 10y ago
Paramiko is a Python API for SSH client, so it's not comparable to either of
the rest.
Fabric itself is a poor man's badly implemented RPC for sysadmins: you send
commands and receive output and result codes. Fabric wraps this in a Python
API, so you can react to how your operations run.
Salt and Ansible are similar to Fabric (and "poor man's badly implemented RPC"
comment applies to them as well), but they also define some higher level
tasks, like "have X package installed". All three have the operations defined
at the call initiator and return synchronously, when all the work is done.
Then there are CFEngine, Puppet, and Chef. Every managed server runs an agent
that periodically executes some rules. CFEngine and Puppet have their own
DSLs, and Chef uses general purpose language (Ruby), what I consider a bad
fit. These work asynchronously, as you don't push the rules to the servers,
but change them in their distribution point and wait for servers to pick up
the update.