[Chicago] Capistrano alternatives

Jason Huggins jason at jrandolph.com
Fri Jan 2 19:24:05 CET 2009


On Fri, Jan 2, 2009 at 11:25 AM, Garrett Smith wrote:
> I'm noticing that Capistrano is showing up in projects that need to deploy
> and configure software across multiple servers. That's cool.
> The Makefile + Ruby syntax is NOT cool.
...
> Has anyone dabbled in this and have some insights?

I *used* to flirt with the idea of creating a Rake clone for Python
and call it "Snake"... :-) But I've matured since then.

(Now get your hands and fingers ready for some serious "air quote"
action coming up in the next paragraph.)

I currently use an amazingly super awesome server deployment language
called "Python". I define a sequence of build and deployment actions
into units-of-work that I call "functions", and then I group all of
these "functions" into one file that I call a "Python script". If any
"functions" need to be run in parallel to each other, I either use
something I call "threads" or other things I call "forked child
processes". All told, my "Python scripts" are truly a wonder to behold
and  represent a giant leap forward in server deployment
state-of-the-art.

Forgive my snarkiness, but my real belief is that "POP" (Plain Old
Python) is an excellent tool for server deployment (at least for
simple deployments). Specifically, os.system is your friend. Talk to
it. (People smarter than I will point out, however, that the
"subprocess" module is now favored over using os.system.)

If your needs are really complex, however, you might want to
investigate Engine Yard's recently open sourced "Vertebra" (
http://www.engineyard.com/vertebra ). The integration point is XMPP,
so even though the server bits of Vertebra are written in Ruby and
Erlang, you can write your "real" deployment stuff in Python. Vertebra
was partially created as a reaction to Cap. (proof: slides 21-25 of
this: http://www.slideshare.net/ezmobius/vertebra ) (Side note: Along
with ejabberd, I use the Twisted project's XMPP library heavily in my
company's server deployment and maintenance scheme -- but again,
POP+libraries rules the day for me.)

cheers,
  hugs


More information about the Chicago mailing list