One of the most important business relationships for a Website owner (whether the site’s for business or pleasure) should be with a Web hosting company.
After all, you pay a host to look after your site — you should expect them to take good care of it. So it stands to reason then that host selection is important for anyone who manages or runs their own site.
This Guide to Hosting is in two parts. Today we’ll:
- look at why it’s important to choose the right host,
- review a hosting assessment checklist you can adapt to yur needs, and
- consider the aspects of shared or dedicated hosting, and choosing server software.
Then, in Part 2, we’ll explore in detail the basic elements you should consider as you develop your checklist and assess different hosts, including:
- disk space
- email accounts
- FTP Access
- data transfer
- multimedia support
But first, let’s look at why the choice of host for your site is so important.
Saving Face — and Money!
How your chosen Web host looks after the server that hosts your site will reflect on you as the owner of the site. If the site is frequently unavailable due to unreliable servers, poor server configuration or the server simply being unable to handle the traffic your site receives, this will give your users the impression that you don’t really know what you’re doing. This is bad enough with hobby sites, but is of particular concern if you run a virtual store, or have potential employers trying to view your online portfolio.
We’d all like to think that once our site’s up and running, it’ll always be available to everyone who wants to view it, whenever they want to. But as we all know, this certainly isn’t the case. There will always be those times when a site you try to visit isn’t available for whatever reason. That is, unfortunately, the unpredictable nature of the Internet.
If your site is a business site, it could suffer from the lost opportunities to take orders or enjoy brand exposure, and personal and hobby sites, too, could miss revenue opportunities while they’re unavailable. Even not-for-profit sites can get a poor reputation if visitors find them unavailable or slow to use.
While the potential loss of revenue is the most obvious reason for wanting to choose a good host, your decision can often have other ramifications than simply up-time. Quite often a problem with a host can affect the other services associated with your domain. Services such as email and FTP could also be affected, so you might find that while your site’s down, you’re also unable to check your email. Worse still, email messages could be returned to the sender, giving your visitors the conclusion that the site no longer exists…
Service Level Guarantees
While undoubtedly some downtime will be beyond our control, we can reduce the risks if we choose the host that is most suitable for the needs of the site. Any host worth their salt should inform you of any scheduled downtime before it happens via email, which will allow you to make alternative plans should you need to. Of course there is no way to predict any unscheduled downtime, but many hosts will offer an uptime guarantee that compensates you in some way for any downtime over and above that scheduled. The hosts that are more confident of their levels of service will usually offer better terms of agreement than will their less competent counterparts.
It’s one thing to think that you’re covered by these up-time guarantees, but quite another when you think you actually have a claim for compensation. It may be an idea to keep both a print and an electronic copy of the Terms of Service and any other important documents from the day that you purchase a new hosting plan, just in case.
Often problems can occur simply because you aren’t able to monitor the site yourself 100% of the time. There are, however, products and services that can carry out various tests to check whether your site is live. But even if you can prove that your site was unavailable to you (or to your monitoring service) for more than the agreed acceptable level, you should always check the small print: if the problem wasn’t your host’s fault, they may not need to pay up!
You get what you pay for!
One thing to remember is that there is a host for every site. My perfect host could be your perfect hosting nightmare! A server that is well suited for one of your sites may slow down another. And there’s no right host, so don’t even try to visit and assess them all.
Remember, it’s in your best interests to find the most suitable host set up for your site that you can afford, otherwise you can easily get a reputation for being unreliable, unresponsive and uncaring.
Building a Checklist
Before you begin to look for a host for your site, you really need to establish a checklist – a method that you can use to rate and score any host that you’re interested in. Of course, before you can assess any service, you’ll need to have a good idea about what features you want your future host to offer. This is where a checklist of every feature you’re looking for — and a collection of questions you want to ask — comes in very handy.
Preparing a checklist before you search for a new host can save you both time and money in the longer term. It forces you to prioritize the various features of your site, which is handy when you have a restricted budget and need to make compromises between features and cost.
This guide has been designed to help you prepare a checklist of features that are tailored to your particular site’s needs or expected future potential, regardless of whether you know the type of hosting features you want.
Learn PHP for free!
Make the leap into server-side programming with a comprehensive cover of PHP & MySQL.
RRP $11.95 Yours absolutely free
Once you’ve compiled your checklist, you’ll be able to assess much more quickly whether a particular host is suitable for your site. Since many hosts fight for a site owner’s attention (and hard-earned cash!), you’ll probably find yourself referring to your checklist frequently during your research. But this works both ways – it would be silly to host your site with the first service you came across that matched your criteria, given the vast number of hosts out there. Be discerning.
Rating the Hosts
Once you have put your checklist of features together, you can then use it to help you rate each of the hosts. Exactly how you go about doing this will depend how important each of the features are to you. If you’ve sorted the features on your checklist in order of importance, then you can simply award points on a sliding scale, 1 point for the least important thing, 2 for the second least important, and so on. Then when you assess each host, award them a point for each feature they offer that’s on your checklist, and add them up to reach a final score.
Here are some of the features that I personally look for in a host.
- Support for PHP (least important)
- User Control Panel
- Site Statistics
- Support for ASP and Perl
- Price below Â£10 a month (most important)
When I visit potential hosts I compare the features available with my checklist. The example scoring system shown above favors the cheapest hosts first (cost is important to me, as mine is a hobby site). If I were seeking hosting for a business site, then the cost obviously wouldn’t be so important, as the quality of the service itself would in this case be the critical element. But whatever bases you use to rate each host, the one that offers the most of the features you want will achieve a higher score.
The sliding scale is probably the easiest way to convert your checklist into a score or rating, but it is by no means the only way. If you have two or more features that are equally important, then you can give them all the same score. However you use the checklist, it’s sure to make the process of host assessment easier.
Remember, you get what you pay for.
It’s a sad but true fact of life that many of us have very small hosting budgets. While there are hosts out there that can offer a rather tempting deal at pocket money prices, don’t expect these hosts to offer the kinds of guarantees that come with similar but more costly packages. If your site is going to be important to your business or livelihood, do yourself a favor and look upon your hosting as an investment rather than an expense. The extra cash helps to pay for things like infrastructure, back ups and security, so if anything does go wrong you’ll be in a better position to do something about it.
A checklist is a good way to sort out which hosts are most likely to offer the kind of hosting you want, but there really is no substitute for doing that extra bit of research in newsgroups and on message boards once you have your potential host short list. The people who will know best how a host performs will be the customers themselves, and unfortunately they can be quite hard to track down at times. Having said that, it shouldn’t be too hard to identify hosts you should avoid, as most unhappy customers like to share their experiences with likeminded individuals.
For more information, visit Web Hosting Talk – it’s a good place to find out about hosts and ask customers for recommendations.
1. Shared or Dedicated Hosting?
There are three main types of server plans available from the hosting companies, or four if you include the special reseller packages that some offer. The kind of server plan you choose will depend on your current and future site needs, so it’s a good idea to know what type of plans are available, as well as the advantages and disadvantages of each.
Shared or Virtual Servers
These kinds of plans allocate you a limited amount of space on a server that’s shared with other sites. The quotas you’re given for this kind of hosting will vary from host to host, but typical disk space quotas are around 50Mb, which is often more than enough for a site. This kind of hosting is usually the cheapest option (perhaps with the exception of free Web space provided by some ISPs), so you shouldn’t really expect great things from a plan that hosts your site on a shared server.
One of the main problems with hosting on a shared server is the fact that the features and technologies available to you will be limited. ASP, PHP and Perl are not always available on shared or virtual plans, due to security and stability issues, If they are offered, you still may not have at your disposal all the modules and components needed for your site to function correctly. JSP support on a shared server is still rare, so if you use it you may need to go for a dedicated server anyway.
Other Sites’ Problems
Don’t forget that your site will not be the only one on the server, so problems with other sites hosted on the same server as yours could cause problems with the speed of yours — or even bring your site down altogether. Obviously, the more sites on the server, and the more relaxed the hosts are about running custom-made scripts, the more likely you are to experience problems.
It would be a good idea to find out in advance how many other sites you can expect to share a server with, and the penalties you’d suffer if you ever exceed your disk space or data transfer limits. It’s very easy to exceed your data transfer limit: all it takes is for your site to become popular (either with interested users or an unruly Web-bot) and you could find yourself with either a huge bill, or a site that works on a part time basis.
Hosting your site on a shared server shouldn’t be too much of a problem if it’s a low traffic site with static pages, but if you expect your site to get rather busy or complicated, you really should consider a dedicated server of some description.
Setting up a dedicated server is not as easy as renting space on a shared server, but it can do wonders for your site. Firstly, you’re free to use all the resources on the server (as there shouldn’t be any other sites residing on the server that you aren’t aware of). Having the use of all the processing power of a single computer can make a world of difference to a site, particularly if it uses databases and other server side technologies.
Having a dedicated server also gives you the freedom (within reason) to do as you please. If your site requires JSP support, you can install it yourself (if you opt for a server with remote administration), or have your host install it for you. This is just the kind of freedom you’ll need if you build your own components and modules, or if you use technologies that are not widely supported.
Another bonus about having a dedicated server is that you can house more than one site on it if you wish. This can help you keep costs low, but you shouldn’t forget that the more sites you have on the server, the more things can go wrong.
Having your own dedicated server can be a lot of work, particularly if you have to set up the DNS entries, FTP accounts and mail settings for all the domains that are hosted on it. Some hosts will do all the hard work for you, and undoubtedly this will be reflected in the price. Be aware of the hidden charges such as making backups, rebooting the machine and other tasks associated with dedicated hosting that you might not think of at first.
A dedicated server isn’t for everyone, and is probably overkill for a single simple static Website that attracts only a handful of visitors. If your site will use server side technologies and databases for most of its content, then it would certainly benefit from the extra power you’ll gain from its own server.
This is just like having a dedicated server. The difference is that you buy the hardware and set the serve up yourself, and then rent the space in the data center and connections to the Internet.
This option really isn’t for the beginner. At least with a dedicated server, the host will set the server up for you. With co-location, the onus is on you. It’s true that his option gives you the most freedom in terms of which software you install, but it’s also the most involved. If you’re unable to go to the data center and fix the problems yourself, you can expect hefty charges for having the host to do it for you; backups and reboots are unlikely to be free or charge.
Co-locating your computer is often far more expensive than simply renting a dedicated server from your host, and it can also be more time consuming. This hosting option is best left to the more technically-minded people — it’s not usually necessary for most sites.
This isn’t one of the main types of hosting per se, but it is becoming more and more popular. Essentially it’s like an affiliate program: you receive hosting discounts in one way or another as a reward for encouraging more people to use that host’s servers.
More often than not, the accounts that you’re able to resell are on virtual (shared) servers. The way that discounts are applied will depend on the host; some will charge you upfront for a reseller account and leave you to sell it on however you like, while others give you a discounted price for each standard plan they offer.
You should be aware that many hosts out there now resell Web space. While this may not be a problem, you should understand that the maintenance of the servers is often beyond the control of a reseller. It would be a good idea to check whether the company or person you rent the space from is a reseller — then you’ll know who is responsible should anything go wrong (and you may even wish to host directly with the host they’re reselling, just to get more features or space).
Reseller accounts can also provide a handy alternative to anyone who has more than one site but can’t afford a dedicated server of their own. Due to the nature of these reseller accounts, however, you should remember that the more advanced and busy sites who used these services would not be running as fast as they could on a more pricey hosting option.
2. Server Software
There are so many combinations of operating systems and servers that it can be hard to know which one to go for. The two most common server configurations are Windows running Internet Information Server (IIS) or *nix (Unix based) running Apache Server. If you know more about the server platforms and the server software that can run on those platforms, you’ll soon discover that not all servers were created equal.
Windows NT and Windows 2000
Windows NT servers have become harder to find since Windows 2000 replaced NT, but as 2000 is essentially an upgrade, this is no great loss. Most Windows servers typically run IIS 4 (WinNT) or IIS 5 (Win2000), but it is certainly possible to run other servers such as Apache on the Windows operating system, even if they don’t quite work in the same way as they might on other platforms.
One of the main problems with using Windows as your operating system is that sendmail, which is essential to the running of some Perl scripts, can be absent (although the better scripts have provided workarounds for this). File permissions are available, although they are simple when compared to the *nix permissions that some may have grown used to (one permission setting includes all the possible users).
Due to the more relaxed attitude on file permissions, and the way that Windows associates file types by extension, you may find it much easier to install scripts on a Windows machine, as there are no permissions settings or paths to forget about. Password protection is also available on Windows systems, however the only downside is that you will need to have access to the actual server itself to implement passwords (unless you are running Apache). It’s always a good idea to hide sensitive data below the main Web directory rather than relying on the ability to password protect directories from prying eyes.
Unix (and Unix variants)
Unlike Windows, Unix, and its many variants (Linux, FreeBSD and Sun) provide the user with more control over the configuration of the server and the software that it uses. By connecting to the server using telnet or SSH connections, it is possible for users to schedule scripts to run automatically (a cron job), edit file and directory properties and permissions, and even debug scripts as they run on the remote server! Of course, to be able to use your telnet access effectively you should know at least the basics of Unix; unfortunately it’s a little more involved than Windows, as Unix operating systems tend to use text-based commands as opposed to a Graphical User Interface (GUI).
Because Unix-based systems don’t use as many system resources as those running Windows, it tends to be a more stable and reliable option. Given identical hardware specifications, a Unix system will be more efficient, as it doesn’t need the resources that the Windows system would use simply to update and interpret the GUI. If you want more server power for your money, Unix is a good choice: not only does it boast more efficient resource management, but being open source, it’s the cheapest option as well!
Unix and its derivatives are often the platform of choice for many Web programmers that develop scripts, with many of these scripts making use of the built in Unix program, Sendmail. Due to the open source nature of the Unix culture, there are plenty of free scripts available, and many are optimized for use on a Unix-based server.
Internet Information Server (IIS)
IIS comes with full support for ASP, while other servers don’t support it without a 3rd party add-on. Chili!Soft ASP is popular for those who want to use ASP on *nix servers, however there are noticeable differences between the Microsoft version of ASP and Chili!Soft’s version, so it’s best to use a Windows server for ASP pages to ensure they work as expected. Perl and PHP will happily work on a Windows machine, although the functioning of some of the more advanced functions (which are not often used) may be quirky or missing altogether.
Most good Windows hosts will offer configuration of the host via some sort of control panel. The more advanced control panels will let you edit settings related to the domain you’re hosting, but most should let you change the permissions of a file. The better control panels will let you customize your various error pages and offer password protection for your site.
Apache is a popular choice for server software because of its highly configurable nature. Because it’s an Open Source server, it evolves rapidly and there are always plenty of volunteers to help find and fix the bugs.
The best thing about the Apache server is that you can configure it on a folder-by-folder basis using the .htaccess file. This contains information about how the folder and the files in it will behave when requested, and allows you to have many custom error pages, password protection and even a way to protect your images from displaying on unauthorized sites!
The configuration of Apache can be confusing at first, but it’s worth pursuing because it’s so flexible; spend enough time with it and you’ll be able to get it to do pretty much whatever you want it to. If you’d rather not get too intimate with the inner workings of an Apache server, then you might be able to complete the configuration using a more user-friendly control panel. This will make the task much easier to understand, and may even give you access to change the behavior of parts of the server you wouldn’t otherwise have the permissions to alter.
So Which Combination Should I Go For?
While it’s certainly possible to install Apache on a Windows server, the two most common OS/Server combinations are Apache on *nix and IIS on Windows. IIS will only run on a Windows system at the present time, so having IIS on *nix is not an option.
- If you don’t have any specific server or scripting needs, then it doesn’t really matter which combination you go for; although choosing a *nix server over Windows will give you better value for money in terms of performance and uptime.
- If you need to use a specific technology and you know that it has limitations dependant on the operating system of your server, then the choice of server software should already be clear to you.
- ASP developers are better off using a Windows server running IIS, but can also use a Unix server if a 3rd Party add-on is incorporated.
- PHP and Perl developers can use any environment that supports their technologies, but it’s worth noting that Apache offers modules that improve the efficiency of these languages; so perhaps they are more suited for use on a computer that runs Apache.
- If any PHP or Perl script requires the sendmail program, the operating system will have to be *nix.
If you’re just starting out and want to know which server is the right choice for the development of your site, base your choice on the features you think you’ll want to make use of in the future. Making the right choice early on will save you a lot of hassle; switching server side technologies from one platform to another is not as easy as simply uploading the files and hoping for the best!
For more information, visit:
Windows 2000 (and IIS) – find out more about Microsoft’s server offerings.
Apache Server – get yourself a copy and learn more about the Apache Web Server.
Chili!Soft – ASP enable your non Windows server environment using Chili!Soft.
Unix vs. Windows NT Hosting – more about the pros and cons of each type of hosting.
And for server-related books, try:
Look out for Part 2 of this guide, where we’ll look in depth at the hosting features you should assess using your checklist – file support, disk space, bandwidth and more!
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers