I’ve been asked on occasion, and I’ve read a lot about the question: does Ruby on Rails scale? What happens when you have thousands of users? Can it work in an enterprise environment? There have been several ongoing debates about Rails’ scalibility, notably Cedric’s article Why Ruby on Rails Won’t Become Mainstream, and numerous (sometimes heated) discussions floating around the web.

At this point most people would not consider Rails to be ready for the enterprise market. The arguments pretty much go that Rails is a fad, or that it’s untested, or that it’s not robust enough to handle enterprise-level applications. But I think that you’re going to start seeing the enterprise market changing. As the pace of business increases, companies are no longer going to be satisfied with huge, monolithic software investments. Big companies need to be (and can be) agile too. And that’s where my business case for Rails comes in.

Rails can provide reduced time-to-market for just about any application. In most cases, this translates directly into dollar savings. Importantly, companies using Rails can also rapidly prototype ideas (even very large ones) and get them in front of users faster. That means less time spent in research and development, and more time spent executing effective software. Less time developing means more time in front of users, and more time in front of users means more revenue from the actual product. Revenue good, extended R&D bad.

So I would say that Rails IS Enterprise-ready. Or it will be. Look at the list of application that currently use Rails as their primary architecture:

Granted, most of these are not labeled “enterprise” software. But they are all large-scale programs with lots of users (except maybe CrossConnector, because we just started), and an actual business model. They’ve all had their adventures and misadventures, but all are performing excellently.

Another important point is that “enterprise” does not necessarily have to mean big and complicated. I wonder when the pendulum will begin to swing for enterprise software, as it has for web applications, from big and complicated to focused and simple.

I’m not suggesting that Rails is suitable for every enterprise app. It is fair to say that technologies like J2EE and ASP.net are more proven and tested in the enterprise market. But Rails provides many advantages that should be considered when building an enterprise app.

Resources on Scaling with Ruby on Rails


1 Response to “Rails Scales - Ready for the Enterprise?”

  1. john Says:
    the article on Rufy nails this topic, which basically says that languages don't "scale", architectures scale. the poocs.net blog also mentions that the 'adventures in scaling' that they have been documenting really doesn't have anything to do with Rails or Ruby, but the architecture of the application. in the end, you have something making web pages that probably uses a database. the language isn't really too important from the perspective of being able to continually handle increasing amounts of traffic easily.

Leave a Reply