2011/8/12 Björn Wilmsmann
<[hidden email]>
I know Java people sometimes love to gloat about Twitter having
changed their Rails app to use a Scala / Java / Solr backend because
they had massive performance problems. There are two things to note
about this, though:
1. Their original architecture was flawed anyway. Building a massive
n:m messaging system using ORM would have also failed with Java /
GORM.
2. Had they tried to build Twitter with the tools available for Java
at that time (Grails didn't even exist at that time.), I'm pretty sure
none of us would've heard of Twitter because it would've taken them
exponentially more time to get their web app done.
I think the Twitter story actually sums up the correct approach to scaling in the general case. Build your app. When it's so successful that you just can't handle the traffic, you will have the resources to rewrite the relevant part in a highly performant language. If you try and do it the other way around, you might never get your app out (as Björn points out). Therefore the correct answer to any generalised Grails scaling question is: Yes.
John