Peter Cooper (who I interviewed
) has just announced SwitchPipe, which aims
to make deploying and hosting Rails (and other frameworks, such as
Django) applications easy. From the site:
Introduction / Overview
I haven’t spent much time with SwitchPipe yet, but if it lives up to
Peter’s claims this will dramatically simplify hosting
SwitchPipe is a proof of concept “Web application server” developed in
Ruby. More accurately, it’s a Web application process manager and
request dispatcher / proxy. Backend HTTP-speaking applications (Web
applications) do not run directly within SwitchPipe, but are loaded into
their own processes making SwitchPipe language and framework agnostic.
SwitchPipe takes control of, and manages, the backend application
processes, including loading and proxying to multiple instances of each
application in a round-robin style configuration. As an administrator,
you can define the maximum number of backend processes to run for each
app, along with other settings so that you do not exceeded preferred
resource limits. SwitchPipe quickly removes processes that “break” or
otherwise outlive their welcome. For example, you can let SwitchPipe
kill any backend processes that have not been accessed for, say, 20
seconds. This makes hosting many multiple Rails applications, for
example, a quick and non-memory demanding process, ideal for shared
SwitchPipe’s goal is to be:
* super easy to configure
* the easiest way to deploy multiple HTTP-talking backend
* painless in terms of management; no hand-holding of different
applications is needed
* a permanent daemon that can handle configuration changes in backend
apps “on the fly”
* a reliable solution on Linux and OS/X (and anything POSIX
What’s interesting to note is that this originated with Peter’s widely
on why such a thing was needed. Unlike a lot of other people who have
complained loudly about the state of Rails on shared hosting
environments, Peter put his time and talents towards creating a solution
which he then released within 3 weeks. This is
definitely something we need more of.
So what are your thoughts? Is this the solution we’ve been waiting for?
Initial performance numbers would seem to indicate that Ruby 1.9 (due by
Christmas) will be lots faster.
If you spend a lot of time in IRB (most of us probably do), it’s worth
taking the time to learn how to customize it. This is a good start.
Nice clean library to generate fake data. The home page says it’s a port
of Perl’s Data::Faker library, which I’d never even heard of.
A plugin to do OpenID authentication in Rails, in
a RESTful way.
Competition is good. Merb and the like provide
that competition to Rails. This article runs through an alternative to
the Rails stack. It’s always good to keep an eye on what else is out
Ok, this is a bonus link. Not at all Rails related, but relevent to you
if you’re reading this. Rands nails the
Nerd. I mean, really nails it.
A new book from O’Reilly on troubleshooting Ruby (and Rails) apps. From
This short cut introduces key system diagnostic tools to Ruby
developers creating and deploying web applications. When programmers
develop a Ruby application they commonly experience complex problems
which require some understanding of the underlying operating system to
be solved. Difficult to diagnose, these problems can make the
difference between a project’s failure or success. This short cut
demonstrates how to leverage system tools available on Mac OS X,
Linux, Solaris, BSD or any other Unix flavor. You will learn how to
leverage the raw power of tools such as lsof, strace or gdb to resolve
problems that are difficult to diagnose with the standard Ruby
development tools. You will also find concrete examples that
illustrate how these tools solve real-life problems in Ruby
development. This expertise will prove especially relevant during the
deployment phase of your application. In this way, should your
production Mongrel cluster freeze and stop serving HTTP requests, it
will not take you 2 days to figure out why!
A nice, if a bit short, article on some of the changes that are coming
in Rails 2.0. This is focused on what you will need to change in your
This is a beginner tutorial, specific to using Netbeans 6.0. I’ve not
played much with the Rails support in Netbeans, but it looks impressive
Jeremy Kemper recently committed a request
to Rails. It lets you make a request to a URL repeatedly, and then see
an HTML or text report of where your code is spending it’s time. This
looks very handy.
A walkthrough of building an app with Rails, which includes feature
definition, using Piston to manage
plugins, and Restful Authentication. Nice.