We need to port a Rails application running on Linux to work on a client’s Windows server. We’ve never done this and are unfamiliar with the Windows server environment. Our first decision is whether to try to port the app using JRuby or whether to just try to get the normal Ruby version working on a Windows server. Which course is more advisable?
Some gems we’ll use that might be an issue (wildly guessing):
- nokogiri
- eventmachine
- em-websocket
- mysql or postgresql adapter
It depends.
If you use a lot of gems with natives extensions try before the native Ruby, but I would suggest a port to JRuby because it simplify a lot the deployment on Windows.
I personally use only JRuby on Windows with JBoss and Warbler or with the trinidad gem.
And, it sounds strange, but JRuby scales very well and it’s faster than MRI with Java 7.
I have several JRuby on Rails apps that use MSSQL Server or Oracle and they are awesome in production with only a few optimisations (http://http.tv4.se/2011/01/20/optimzing-jruby-rails-3-0-performance)