Define Ruby on Rails. At that scale don't you have to transition your model layer from ActiveRecord to a service layer that sits on top of your databases? Certainly at that scale you are going to be using many different types of databases to store different types of data.
This isn't rocket science. You start your project rails new foo. You include gem 'rails' in your Gemfile. You're a rails application. How you architect for growth is beside the point.
Maybe it can be defined as the core-front-end is using ActiveRecord (or a NoSQL equivalent) to do most of the DB interaction and the Rails controller and routing mechanisms?
By that standard, Twitter wouldn't count (and it isn't on this list), just as Twitter shouldn't be on a Top 10 Drupal sites list since only the dev docs are in Drupal.
I had a sales meeting with a large IT company a week ago and they said that if we licensed them our product, they would want to do a re-write in Java if the product (currently Rails based) proved to be effective. My app is for physician use, so there could only theoretically be _at most_ less than 1000000 users, so "at scale" wouldn't be so huge, relatively. Any ideas as to why this company was thinking this way?
Yep. Java=serious enterprise software, and they've got all their IT organization built on IBM servers running J2EE Enterprise Java Bean containers and they actually understand it, or at least think they do. Rails=toy hacker stuff, and scary because they don't know what it is.
Considering the type of information that would be stored in an application for use by physicians, they might be considering Java due to the number of security issues found in Rails as compared to the number of security issues found in something like Spring over the past several years.
Possible interfacing with ancient legacy datasources? Only one I could think of. Well that and the head honchos hadn't followed tech since the digital storage mediums for medical data was Access and Excel, and Java was considered "new".
Instead of full rewrite, migrate to JRuby. From sysadmin standpoint, an rails app running on JRuby is java. so you can submit .WAR file to them & they can deploy it like a normal java app running on the JVM.
we are considering groovy and grails for this sort of reason. I work with lots of enterprise clients who won't consider anything on premises thats not .net or java.
I was under the impression that grails is a clone of rails (I think it was actually called rails at one point and they were asked to rename it), but not that groovy is a clone of ruby - I think they have drawn a lot of inspiration from ruby and python, but not that it is a jvm version of ruby - but someone please correct me if im wrong. It seems like it is more about being a scripting version of java itself.
Actually, JRuby is a JVM clone of Ruby. And Ruby on Rails on JRuby is a JVM clone of Rails.
I don't know where to start with the differences but Grails is nothing like Rails. The ORM, the naming conventions, configuration, GSPs vs ERB, the way routing works, and pretty much everything else is different. They both use MVC and Grails draws inspiration Rails but is it in no way a clone.
I thought Twitter was always the canonical example for a large Ruby on Rails app. Although these days it's splintered into a very large variety of different technologies, I believe Rails is still in the mix somewhere.
That's not the move they made; they moved to Scala. Their original Rails app couldn't scale. They now use Rails on the front end, but the real data isn't Rails. This has been written about extensively:
The newer link doesn't mention them using Rails anymore. It's probably still in use in some internal apps, but the main twitter.com site should be 100% Scala now.
I spoke to an engineering manager at Twitter a few months ago. While he did not definitively say that "all" front-facing code is in Scala, when I asked him where does Twitter still use Ruby on Rails, he said something along the lines of "We still use Ruby on Rails for internal tools," which would imply that the main Twitter app is mostly/all Scala.
I can reasonably assume that those tasks are not what he meant by "internal tools." When someone talks about "internal tools," they are referring to stuff like internal dashboards. Other hypothetical examples: 1) internal bug tracker, 2) a custom CRM for a company's sales team, 3) an internal message board, 4) a conference room scheduler, 5) a dashboard to view the health of a service, etc etc.
> Out of curiosity (and for fun!) we’ve recently used Alexa - a web traffic reporting platform - to discover the top ten sites built using Ruby on Rails framework.
It clearly defines "top sites" as those listed from Alexa. In which case, it is correct.