To share or not to share...
Its often difficult for developers unfamiliar with the ins and outs of web hosting
to determine what kind of hosting environment and plan is appropriate for their needs.
Many times, especially for Ruby on Rails developers, too much or too little hosting is purchased and
communication with the provider about how to scale up or down accordingly is limited.
Here at HostingRails,
we provide the best possible services for our clients so applications are always available
and responsive, support tickets are answered quickly, and proactive communication occurs when
its time to scale.
First of all, shared hosting (i.e. sharing a file system, OS, memory, CPU time, etc.. with other clients), which
is of course the most affordable, is possible to do well with Ruby on Rails.
Many developers have experienced painfully slow services with traditional shared
hosts, and the reason this happens is because of the following:
- 1) Traditional shared hosts often inadvertently over-pack their servers because they
don't have experience with how much CPU and memory Rails consumes as applications grow over time.
- 2) Their servers are not optimized for hosting long-running FastCGI and
Mongrel instances
- 3) Their admins are not used to managing multiple of Ruby processes
(daemons, DRbs, servers, etc...) and prefer killing them off.
- 4) Their support staff don't catch and notify clients quickly enough who are ready to scale up away from shared hosting.
However, when these four issues are cared for appropriately, Ruby on Rails hosting in a shared environment can be an affordable and pleasant experience, even for larger-sized apps. At HostingRails, key aspects of our mission as a company include under-packing servers based on over two years of Rails hosting experience, optimizing servers for keeping many simultaneous Ruby and FastCGI processes alive, and quickly contacting clients who are causing problems on servers due to over-extended resources or negligent/malicious behavior.
FYI, Reseller Hosting is where you can create unlimited separate shared accounts with their own cPanel and SSH logins. You can of course sell these accounts to your own clients or use them to separate your own applications and control your own DNS. Visit our Ruby on Rails Reseller Hosting page for more details.
Even with the above discussion, however, there are of course numerous benefits to paying more for a virtual dedicated or dedicated environment, as discussed below.
Dedicated Hosting: To Virtualize or not to Virtualize
If you have an application that needs super-fast and consistent response and uptimes,
performs lots of long-running tasks and/or cron jobs, needs a custom environment that requires root access,
and/or draws a large number of simultaneous http connections, you should strongly consider
deploying your application to a dedicated environment. The question then becomes whether to
virtualize or not to virtualize.
Virtual Private Servers with HostingRails.com are built on
OpenVZ technology, which gives your application a unique operating
system with dedicated CPU time, RAM, and burstable RAM (i.e. if there's
free RAM on the system you can use it temporarily). Virtualization is fantastic for most applications that
don't use a ton of CPU time or RAM. You can purchase just enough resources for your application and scaling
up or down is simple.
However, the advantage of a fully dedicated environment is that all of the RAM and CPU are yours. You can
even split it up into virtual environments yourself.
Please feel free to contact us
if you have any questions.