Friday, 29 May 2009

WK7:End of the line

What are the hosting solutions?

There are many web hosting solutions in the market. The hosting services allows individuals and organizations to provide their own website accessible via the World Wide Web. In the context of the Rail application, OTBS, we can start with a simple a hosting solution at the development stage. Later, when we move to the production stage, a complex hosting solution for a more comprehensive package that provides database support and application development platforms, is required. According to Wikipedia (2009), the following hosting solutions can be considered for OTBS.

Shared web hosting (development stage) - one's Web site is placed on the same server as many other sites, ranging from a few to hundreds or thousands. Typically, all domains may share a common pool of server resources, such as RAM and the CPU. This solution will be more cost-effective as we can run a few projects one server.


Virtual Dedicated Server (production stage) - It divides server resources into virtual servers, where resources can be allocated in a way that does not directly reflect the underlying hardware. This solution will be more cost-effective as we can run a few projects one server.
Dedicated hosting service - The user gets his or her own Web server and gains full control over it. The user has full administrative access to the box, which means the client is responsible for the security and maintenance of his own dedicated box.
Managed hosting service - the user gets his or her own Web server but is not allowed full control over it. The user is disallowed full control so that the provider can guarantee quality of service by not allowing the user to modify the server or potentially create configuration problems. (Engine Yard provides this service, managed ralis hosting.)

Will our Rails applications run on a cloud computing service in future?

Cloud computing is a new type of hosting platform that allows customers powerful, scalable and reliable hosting based on clustered load-balanced servers and utility billing. Removing single-point of failures and allowing customers to pay for only what they use versus what they could use Wikipedia (2009). Without doubt, OTBS will be moved to the cloud computing service one day as this is the trend for web applications. The internet will be the platform on which the web application run.

Can we make a deployment and maintenance plan by team consensus?

According to Hartl & Prochazka (2007), I work out the following deployment and maintenance plan for OTBS.

Software/Hardware option - Use Mongrel as the OTBS appliaction server and deploy to some flavour of Linux. This is recommended to run Apache in front of a single Mongrel if taking dedicated hosting solution.

Run OTBS in production mode - Deployed OTBS needs to be run in the production environment. The purpose of this section is to practice the steps need to deploy OTBS.

Configure Production Server - Install the same software on the production server that we have running on the development machine and configure them accordingly.

Scaling - Use caching to off load the the production server. Rails has a powerful caching system to help avoid the computational and database access expense of generating dynamic HTML.

Version Control - Capistrano is vey good version control system which can automate deployment and roll back of application source code. It optimises single-server or multiserver deployments.

Debugging
- Use production.log to debug OTBS, the entire application.


References



Hartl, M. & Prochazka, A. 2007, Railspace, Building a social networking site with Ruby on Rails. Addison Wesley Professional, pp.505-516.



Wikipedia 2009, web hosting service, last updated 17 June, Wikimedia Foundation Inc., US, viewed 22 June 2009, <http://en.wikipedia.org/wiki/Web_hosting_service>.

No comments: