I currently like pdsh (http://code.google.com/p/pdsh/) for doing remote sysadmin: it parallelizes very nicely, and I love being able to issue commands like "pdsh -w compute[000-100] yum update package" to manage hundreds of nodes at a time.
That said, I can see use cases for Fabric where you're implementing some complex logic in Python which you'd like to push out to your servers, rather than just doing simple shell commands or pre-pushing your scripts. But I can't tell how well Fabric parallelizes... being Python I'd expect it to be single-threaded :( , but I might be wrong.
It's also useful once you get out of trivial shell-scripts and need things like sane error handling or data structures, shell chains or escaping, etc. I wrote something like pdsh in the early 2000s in Perl and almost always used it to launch scripts written in a real programming language for any non-trivial task - e.g. even that yum command gets tricky if there's any possible interactive prompting going on or you want to parse output.
bash may not, but pdsh is (I personally used dsh, which also multiplexes ssh connections) and the child processes do not bear the lack of multithreadness of the parents :)
Am I missing something? I thought we're were going to get parallel execution, @task decorator and nicer control over 'env' in 1.0? There was a post about it just a few days ago. Right now I don't see anything from that in 1.0
I use Fabric both at work and for my own projects. It's really simple to use, and I especially like that each function automatically becomes a Fabric command. Makes it easy to do "fab test", "fab migrate"... etc.
I've been using a simple Fabric script from http://ericholscher.com/blog/2010/nov/8/building-django-app-... to automate Chef deploys. Blueprint tried to install a lot of nonsense on my box, and I decided that learning Chef proper would be a much better investment of my time.
DevStructure co-founder here, sorry to hear about your experience. Not sure when you installed blueprint, but we've recently open-sourced it and it's been ported to python. Should require minimal "stuff" to use it. Let us know if you have any questions or problems and again my apologies.
It was not a reflection on your product. FWIW, I tried it out about 3 weeks ago, using the setup.sh script. I'm not even in a position to critique Blueprint, as I was only migrating one single Linode instance to another, and not even anything complex.
Thanks for the clarification. We did open-source it last week (so you had an older version) and accounts are no longer required, you can download/build/run it. A lot easier to use should you choose to try again. If you need any help with the migration, we're always around the chatroom.
There are plenty of cases where deployment script language matters. Usually they revolve around having lots of tools/objects/etc already written in a language, and want to incorporate them into your automation system. This is how I found fabric to begin with.
If you are interested to learn chef-solo/vagrant, please see http://news.ycombinator.org/item?id=2292140 (which I just posted). I'm planning to write an e-book on the topic.
This is a major version, so note the backwards incompatible parts as well:
http://docs.fabfile.org/en/1.0.0/changes/1.0.html#backwards-...