Sunday, April 4, 2010

Workshop 7

As a developer, what are the options available when deploying and maintaining the Ruby on Rails application online?

As a developer there are many ways in which to deploy a ruby on rails application as there are many ways to develop a ruby application. However, there are perferred ways in the ruby community which are suggested by our fellow ruby coders in how to deploy our applications to production.

Since deployment of ruby applications is really only the uploading of application files to a web service, it best to probably stick with the most preferred option which is suggested by the community of ruby diehards if you are using any of these particular web servers.

One option is the use of software called 'JumpBox' which basically packages an applications software, dependencies, and application data into a single virtual computer (Ubuntu Linux environment) which hosts a fully functioning Apache, Ruby, MySQL, and Ruby on Rails environment.
This is quite good if you are running virtual hardware (VMware, Parallels, VirtualBox, Amazon EC2 Cloud Computing) whereby you can just deploy the new instance with the application on it to that platform and use it straightaway without having to configure the application on the machine, as everything is packaged up in the one virtual computer.

JRuby is another deployment approach for a ruby application when you need to deploy to a java application server, this approach would be recommended if you have to deploy to a java application server running Glassfish.

It is actually stated on the Ruby website that Phusion, or mod_rails is the actually preferred option for deployments as is it very well-documented, and supports Apache and Nginx web servers.

Here is the extensive help guide http://www.modrails.com/documentation/Users%20guide%20Apache.html

Setup of the webserver is believed to be the hardest bit about getting a Ruby application to run correctly, and Phusion aka mod_rails seems to have a very good module that out of the box with very minimal setup can have a running version of a ruby application in no time at all.




No comments:

Post a Comment