Choosing a web host
Web designers love to talk about our craft, but one topic we seldom touch on is web hosting. Perhaps that’s because hosting belongs to the realm of networking and hardware, whereas web design is a discipline primarily concerned with software and scripting. Be that as it may, web hosting can have a big impact on the success of a design: a site’s markup, CSS and images might be optimized for lightning fast loading speeds, but it will make little difference if the web server is lagging.
When I bought my first web hosting account back in 1999 I had no idea what I wanted from a hosting company. I went with a recommendation from a more experienced colleague, and wound up with a fairly pricey – although fast – shared hosting account. At the time I don’t think I even considered basic criteria such as disk allocation, bandwidth allowance or server-side scripting support. As it turned out the host was running the Cold Fusion programming language, which even in 1999 must have been extremely unusual!
In those happy-go-lucky days clients placed few technological demands on their web designer, beyond the simple requirement of getting a website online. For a newbie like myself that was about the extent of my abilities anyway, and as long as a web host gave me FTP access I was happy. But as the medium has matured so have the needs of both clients and designers, and today I am much more careful to select a hosting package that suits my requirements.
Most web hosting plans fall into one of two categories, determined by which operating system they run: Windows or Linux. This in turn dictates the programming languages, databases, and software packages available to a designer. For this reason, the choice of platform is a fundamental one when deciding on a hosting solution.
The most prevalent web server configuration is is known as a LAMP stack, comprising the Linux operating system, Apache web server, PHP programming language, and MySQL for database management. Linux hosting plans also often offer support for the Ruby and Perl programming languages. The fact these are all open source software solutions means that Linux hosting tends to be cheaper than Windows.
With about 32% of the server market, Microsoft’s Internet Information Server (IIS) running on Windows is also an extremely popular hosting solution. IIS is usually coupled with the ASP.NET programming framework and MS SQL database management. Windows servers often offer PHP and MySQL support too, which makes them a flexible – albeit more expensive – option.
I’m not going to argue the comparative merits of Windows and Linux hosting, suffice to say that familiarity with a platform is usually the deciding factor. Pingdom did and interesting survey of seven of the most popular sites on the Internet to see what server configuration they were running on, and found that the decision to use a particular technology was usually motivated by familiarity. It makes sense – we are much more likely to choose technologies that suit our skill set rather than the other way around.
Shared vs dedicated hosting
Regardless of the software platform you settle on, you will also need to decide between a shared and dedicated server environment.
A shared hosting plan is where a large number of websites are located on a single server box, and share the computer’s resources. The hosting company takes care of server maintenance, software installation, backups, and bandwidth management, which makes shared hosting a painless affair. In addition to simplicity, a big advantage of shared hosting is the price. Because the web server is shared between many customers the cost per business is lower.
But there is a downside to hosting numerous sites on a single machine. If a neighboring site experiences extreme traffic demand, other sites on the server are likely to slow down too. You are also limited to whatever server configuration your hosting company decides is best. For instance most web hosts don’t give shared hosting customers access to their domain’s PHP ini (configuration) file.
If you don’t like to share then you’ll want a dedicated hosting account, with your very own web server at the hosting company’s data center. Your server will still be managed to a degree by the hosting provider, who will typically take care of data backups and performance monitoring. Scalability is the single biggest advantage of dedicated hosting, and because the server’s resources are reserved solely for your use dedicated hosting is perfect for high traffic websites. For a web design firm a dedicated server can also be used to house a number of client websites, allowing you to balance the server’s resources to suit the requirements of each site.
A third option is co-location, in which you provide your own server machine, and plug it into a service provider’s Internet pipeline. This gives you total control over your server, but isn’t an option you will want to pursue unless you are skilled in server administration and hardware configuration.
One thing to be wary of when choosing a hosting package is to make sure the server, programming, and database management software are configured in a way that suits your requirements. Lets take PHP as an example.
In version 5 and earlier PHP offered a ‘safe mode’, designed to limit the possibility of malicious PHP code being executed, and protect servers from hackers. Nice as that may sound, safe mode also severely limits web developers from performing even straightforward tasks such as uploading files to their server via PHP. Some hosts install PHP with safe mode turned off, while others such as Dreamhost and Media Temple offer a way to effectively disable safe mode on a per-site basis. Unfortunately, most hosts have no such option, which means many popular PHP scripts will not run on their servers without some serious tinkering.
Similarly, the speed with which hosting companies update their software installations can differ quite significantly. For instance, if you are developing in PHP 5 then obviously you will need a host that has PHP 5 installed, whereas a large number of hosts still only offer PHP 4. Most web hosts will specify somewhere on their company website what software versions they run. If they don’t, make sure to ask.
Disk and data allowances
Exponential increases in hard disk space have meant that even the cheapest web hosting plans now offer ample file storage. Gone are the days of 10Mb hosting plans, so hosting video and other disk hungry files is no longer a major drama. Still, it is worth paying attention to the storage limits imposed by your web host, especially if you plan on hosting multiple websites under a single account.
As well as dictating the amount of disk space your site(s) can utilize, web hosts set a data transfer limit. This is a measure of how much data can be transferred between your web server and the Internet each month – in other words, how much your visitors can download before you are penalized. Traffic allowances vary greatly from one host to the next, so it is important to estimate your requirements accurately and choose a plan that meets them.
One hosting company I have used in the past states on their website that a 2Gb monthly traffic allowance should be sufficient for most small or medium business websites. Having designed a number of sites for small businesses I can say that this is not the case, and even a moderately successful site can easily exceed that limit.
If you think you may exceed the bandwidth limit set by your host, it is important to check the rate at which they charge for excess traffic – sometimes excess data charges can be exorbitant.
Smaller hosting firms often require that you contact their support staff any time you need a change made to your account. When even something as simple as setting up an email autoresponder requires a phone call, it can be extremely frustrating. Thankfully most hosts offer a web-based control panel that allows you to customize almost every aspect of your account. Some larger hosts offer a comprehensive custom built control panel, but most opt for a generic panel such as the popular cPanel or Plesk.
When considering a host it is worth considering the control panel you will be using, as a good panel will make website maintenance simpler and more pleasurable.
Reselling hosting to your clients not only saves you having to purchase new hosting account for each client, it can turn a tidy profit. Reselling involves purchasing one hosting account, then subdividing it into multiple sub-accounts, one per client. This allows you to set your own pricing structure, and sell hosting to your clients at more than its original value.
In practice, any hosting plan that allows multiple domains can be resold, but many web hosts offer accounts that are purpose built for reselling. These reseller packages mask the identity of the hosting company, so it appears to your clients as if you are the host.
Local vs offshore hosting
Unless your website’s primary audience is in the US, choosing to host on a web server located in your own country may offer significant speed and reliability benefits. The downside to local hosting (by which I mean non-US hosting) is that it tends to cost more. Most of the large scale hosting companies (Go Daddy, Dreamhost, Media Temple etc) are based in the US, and economies of scale mean that local operations cannot compete with them on price alone. But there are compelling advantages to local hosting, even despite the fact it is more expensive.
The primary reason for choosing local hosting is speed. It’s a simple matter of geography: the further your end-user is from your host’s data center, the longer the traffic is going to take to reach them. I live in Australia, where hosting on locally based servers generally costs more, but is considered vastly more desirable due to the speed boost when serving pages to an Australian audience.
Another advantage of local hosting is that server maintenance is timed to coincide with off-peak traffic in your time zone. Any sensible web host will perform scheduled server maintenance during the wee hours of the morning, when web traffic is at its lowest. But what may be middle of the night in Texas or LA is the middle of our working day in Australia, meaning routine maintenance can kill my client’s email access and take their website offline.
For those readers who are based in the US, the local/offshore distinction is irrelevant as you already get the best of both worlds: low cost hosting in the same country as your primary audience.
Reliability and performance
While cost is inevitably a consideration when choosing a web host, it is dangerous to make a decision based on price alone, as cheap hosting often comes at the expense of server reliability and performance. A common measure of reliability is uptime, the percentage of time that a web host’s computers are up and running. A website needs to be available around the clock, and every moment offline equates to lost visitors and income, so choosing a host with a high uptime is critical. Most hosts promise 99.9% uptime, but don’t take their word for it. Check with a host to see if they records of their outages, or ask one of their customers for their anecdotal experiences.
Many hosts also have redundant servers, waiting to kick into action if the primary servers go down. Ideally, redundant servers will be housed in a separate data center to the host’s primary servers, so that in the case of a power outage or natural disaster they will be unaffected.
Another critical measurement is the speed of a host’s servers. This is influenced by many factors, including their network infrastructure, connection to the Internet, and whether they oversell their hosting plans. A host will usually offer information about their network and data center on their company website, but overselling – cramming too many websites on a single shared server to maximize profits – is harder to detect. In most cases overselling has no ill-effect, since few customers will ever use their full bandwidth and disk allowances, but it is still something to be aware of.
To test the response time of a host, you can ping a site that is hosted with them. In Windows you can do this by opening a command prompt, and typing
ping domain, for example
ping google.com. This will tell you how long data takes on average to reach your computer from the website. This is a useful way to compare the speed of two different webhosts.
Choosing a web host isn’t as easy as typing ‘web host’ into Google and clicking on the first search result, but provided you do your research it’s not hard to find a service that suits your needs. I hope that this article has made you aware of a few of the pitfalls that await the unwary.
Although I have mentioned a couple of web hosting firms and software solutions by name, that’s not because I think they are the best around, but rather they illustrate a point I was making. There are a vast number of hosting companies out there, and obviously I have personal experience with only a fraction of them. During the article I also talked in greater detail about Linux/PHP hosting environments than other alternatives. That’s because I am most familiar with LAMP servers, not because I think they are somehow better.
If you have your own web hosting experiences or tips to share, please leave a comment below.