Pre-dev questions

Hello everyone.

I've been hearing about Ruby on Rails for a while now. However, I've been focused on a few development projects in ColdfusionMX. While I'm intrigued about using a tool that could allow me to develop much quicker, I have a few concerns that I'd like to throw out there for discussion.

Pro-Ruby people state how easy and quick it is to develop using rails. Con-ruby people say that Ruby is very slow and inherently not- secure. I've done a little digging but nothing that gives me enough information to make a solid choice.

Anyway, the questions...

1) What can I realistically expect for performance using this environment? How many connections can I expect to handle with a server environment? I see there are accelerators like Mongrel as well. How do I consider server and application sizing?

2) How secure is ruby? I'm sure there are things that I have to worry about like validating data. But I need to worry about credit card orders and personal information. What do I have to worry about?

Thanks for your time.

Regards,   Scott

This is the kind of question that pops up periodically. There is no easy answer to this. Practically everyone I've seen asking questions about performance and scalability aren't even close to having any concerns, whatsoever, about performance and scaleability.

Is Ruby slower than other languages, probably. Does it matter 90%+ of the time, probably not. What matters is where you're bottlenecks in performance are. Anytime the Internet and SQL databases are involved, nearly all your performance and scaling issues relate to one of them.

You will also notice I keep separating performance and scaleability. Does Rails scale? I think that's been proven by many sites that are currently much larger than any site I currently have in mind.

So at the end of the day what's more important to you? The promise of Ruby and Rails is shorter release cycles, development using beautiful Ruby code, on a brilliant web framework. I've used a few web frameworks in my time, but I have to say that Rails just makes development fun for me again. I can move considerably quicker, with much less effort, and I have more confidence in my code. This is due to the clean, well structured nature of the Rails framework and the ultra modern Ruby core.

I cannot give you a direct comparison of Ruby on Rails vs. Coldfusion. I've seen CF code, but I've never written any myself. I'm a recovering Java programmer myself. I believe our next Java Anonymous (JA) meeting is the second Tuesday of the month.

So, here's the best advice I can give you. Try Ruby on Rails on for size. I'm betting it hooks you in no time flat, and you'll soon be posting some constructive comments to this excellent community of Rails developers.

This is a great reply, Robert, and your distinction between efficiency and scalability is an important one that I've been explaining to customers for a year now.

It's hard getting a project off the ground, right? But generally speaking, once the traffic is coming, you'll be able to pay the piper (assuming you have a business model, and if you don't you're in deep trouble in any case!).

The piper in this case is the indisputable fact that Ruby on Rails is less efficient at delivering page views than other platforms.

But (there's always a but) Rails is nearly as indisputably more efficient at getting a project up and going. And this is super important because that phase will almost always massively outstrip the cost of hosting during that crucial time frame.

It's also important to note that there are several solutions to the efficiency problem undergoing development:

1) Rubinius and other alternative Ruby implementations 2) Merb and other lightweight frameworks to handle the likely few pages of your application that generate the likely vast major of traffic when the traffic comes.