A Quick Hosting Primer

I spend a good amount of time hanging around the Drupal forums and the question of Drupal site hosting comes up on a fairly regular basis. I'm always amused to see the wide variety of responses where people advocate for the hosting company that they think is the best. What Drupal site builders, especially new ones, need instead of cheerleading is a good explanation of the basic options for hosting a Drupal site.

There are four basic choices that you have when considering hosting for your Drupal site.

  1. Shared Hosting
  2. Virtual Dedicated Server
  3. Dedicated Server
  4. Hosted

Shared Hosting

Shared hosting accounts are by far the most popular type of hosting for small website builders. The value present in shared hosting is based on the low cost and general ease of use. You're likely to be paying $20 or less for a shared hosting account per month. Shared hosting also eliminates any responsibility when it comes to managing the web server. 

Shared hosting has a downside in that cost and ease of use is sacrificed in favor of performance. That's because your website sits on a server with many other websites and must share resources with all of those websites. So if a site on your server gets popular then it may slow the overall performance of your site when it needs to be delivered to a user on the web. I see a lot of people talking about how Host A is fast and Host B is slower.

The truth is that there are many factors that determine the speed of delivery of a website. Some of them are related to how your site is configured or the types of files you are serving up from your site instance. Some speed issues are related to the web browser that the person visiting your site is using or the speed of their internet connection. There are so many factors involved in site performance that I think it's very difficult for anyone to really know that one host is faster than another. Web hosts may certainly make claims that their hardware is bigger and faster than other hosts. But I would take those claims with a grain of salt. After all, they want you as a customer.

Most of you will want to start out with shared hosting. I think that the most important things to look for when considering hosting for Drupal is the Linux operating system, PHP 5 support and a simple way to create MySQL databases.  See the detailed Drupal install requirements here. Some hosts offer "One Click" or automatic installs of Drupal to your hosting account. These services should definitely be considered. If a host does offer a one click install then be sure to inquire about how they handle upgraded versions, as well as any limitations that might exist in your Drupal installation.

Virtual Dedicated Server

Virtual dedicated servers (VDS) are a step up from shared hosting in both price and performance. These types of plans store your website file on a large shared server but use software to allocate dedicated resources to your block of hosting. So you're guaranteed to have access to a certain amount of memory and processing power no matter what happens to other sites on the server.

VDS is a helpful middle ground between shared hosting and dedicated servers as it will allow you to provide better performance at a cost that will still fall into the budgets of a lot of people. You can expect to spend $50 to $150 per month on a VDS plan depending on the amount of disk space, memory and processing power you need for your site.

In general, VDS hosting plans will require a bit more technical saavy on the part of the maintainer of the site. So when considering this I think it is best to inquire about the type of interface available to allow you to manage your sites and MySQL databases. I also like to look on the website of the hosting company to see if they have a demo of their web based interface for managing hosting accounts.

Dedicated Server

 If you plan on using Drupal to power some sort of a web application or have site that you know will get thousands of visitors per day then you will probably want to consider a dedicated server. Dedicated servers offer much more flexibility, control and power than shared or virtual plans. The cost in dollars and needed technical experience increase as well.

A dedicated server is a machine that hosts only your website. You typically get to pick the different features that are installed on the server as well as options for processor, disk space, memory and bandwidth. What you pay will generally be based on the features that you choose. You are likely looking at costs anywhere from $100 to $500 per month. You also have to factor in the additional cost of needing to have someone monitor the server. If there are problems like major traffic spikes then most of the time you will be responsible for finding the problem and fixing it. So you really need to know what you're doing with respect to server administration before you launch a site on a dedicated server.

Hosted

There are some companies that offer a hosted version of Drupal. The term "hosted" basically means that you don't have to install anything. A true hosted option should be as easy as selecting a domain name and going straight to configuring your Drupal install. Setup of a database or uploading of files should not be necessary.

Hosted installs of Drupal will work best for beginners who don't know much about creating databases or those who want to get their feet wet in Drupal with minimum effort. You're likely to pay more for a hosted plan than on a shared account but less than VDS or dedicated server hosting.

There are two potential drawbacks to hosted Drupal installs. The first is the fact that a hosted install will be on a shared server so you have the same potential performance issues as with a shared account. The second is that hosted installs typically have limitations on the types of themes and modules that can be installed. So if you're thinking of paying for a hosted type plan be sure to research what restrictions may exist.

Bookmark and Share Bookmark Post

Comments

Nice effort explaining the options.

I guess you could add Co-location as an option although not too many new drupal users may use it. I was puzzled by VDS until I realized it's a Virtual Private Server (VPS) as it's commonly called.:-)

Thanks for writing this up. Any interest in maintaining a new hosting forum on Drupal.org? We are looking for some objective folks who get hosting and are interested in really helping our Drupal users, not just bumping their affiliate links to the top of the forum.

Kieran

You're welcome Kieran. My free time is limited these days so I can't commit to working on a new forum for hosting, although I would love to see one.

For VDS -- "guaranteed to have access to a certain amount of memory and processing power no matter what happens to other sites on the server". Actually, no: this depends on the technology used for virtualization. What you are describing is "hard virtualization" -- you are allocated memory etc. and even if you don't use it, it is dedicated to you, and as you describe, you can't be affected. Xen is an example of virtualization software that does hard virtualization.

There are "soft virtualization" systems as well that have the downsides of shared -- you might be affected by other systems!

Other than that, nice little write up.

For what it's worth, I highly recommend getting a barebones VPS account for US$20 from a reputable hosting company like Rimu or Slicehost and then installing Webmin and Virtualmin (these are comparable to cPanel and WHM, respectively). "Barebones" normally means you'll need to install PHP and the web, database and mail servers yourself but using the supplied install script will do all that for you.

It takes time to set up, but US$20 a month is hard to beat. It's worth noting that Rimu, Slicehost and other hosting companies of the same caliber make it incredibly easy to upgrade or downgrade the VPS if and when resource requirements change.

I think you are missing a few important areas.

For example, there's an attractive category between Shared and VPS called Shared Clustered Hosting. Your site sits on a cluster of web servers that access one or more DB servers. Though your site shares resources with other sites, it is less affected by traffic on the other sites, and much less vulnerable to single-point hardware failure. This option is often cheaper than a VPS, but more expensive than traditional Shared Hosting.

I also disagree with your description of "Hosted". The terms Hosted, Managed and SaaS (Software as a Service) are not well known, but there are distinct differences. I think what you are describing here is SaaS: Where you click a button and a new Drupal site gets created, but you have little or no access to the code or to the command line. This is almost certainly Shared Hosting - where your site is on the same server as many other sites.

This is different from Managed Hosting: where someone is monitoring the site and servers, performing security updates to Drupal Core and Contrib, and maybe even doing development and theming, but you still have full access to your site. Manged Hosting can happen at any of the three levels (Shared, VPS, or Dedicated). But naturally there's only a handful of Drupal hosts that have the expertise to be able to offer this type of knowledge service.

I think we should get rid of the term Hosted Hosting. How could one possibly have unhosted hosting. If that's not confusing, I don't know what is.

Perhaps in addition to Shared, VPS, and Dedicated; hosting also needs to be categorized in terms of Self-managed, SaaS, and Managed.

One of my favorite quotes from a movie goes like this, "Give it a name." When I say hosted I think of something like WordPress.com, which offers a "hosted" version of WordPress. In the software world I imagine that this would be called Software As A Service. I think the closest thing to WordPress.com in the Drupal space would be what they have offered at Bryght.

I appreciate the added info on some of the details of the different technical specs related to hosting. I have a moderate to basic level of technical knowledge of the hosting space so I'm providing perspective based on my level of knowledge. I think it's important for those at a lower level of technical skill who are getting involved with Drupal to understand the basic options before delving into a deeper discussion of the more advanced options.

I'd like to know more about managed drupal hosting.

What does it usually involve? Is it just module and core upgrades?

Is it possible to get someone to do the module and core upgrades without buying the extremely high availability etc which managed hosting implies?

I think that what you're looking for is like something offered by Bryght. Instead of merely purchasing a hosting account you are purchasing access to Drupal that they have already installed and configured on their servers.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <span> <img>
  • Lines and paragraphs break automatically.
  • Images can be added to this post.

More information about formatting options