Why do we need a web host?
To have a website it is essential that there is some sort of hosting service available to us. Our website's files need to be located somewhere. These files (xhtml, php, css, etc.) also need to be served up to web browsers instantly upon request. This can be can be achieved in two ways:
- By building and maintaining our own web server
- Or by using a web hosting company
In the remainder of this page I plan to describe and evaluate these possibilities and conclude with which course of action is most suitable to take. I believe doing this will give us a clearer understanding of why we actually need a web host.
Building and maintaining a web server...
A web server is simply a computer that is responsible for accepting HTTP requests from clients, which are known as web browsers, and serving them HTTP responses along with optional data contents, which usually are web pages such as xhtml documents and other linked objects (images, etc.).
One of the advantages of building our own web server is that we will have complete control over the quality of the hardware components to be used. We will also be able to choose what software is installed on it. For example, we can use our preferred open-source operating system: Linux. Coincidently, a very widely used web platform makes use of Linux.
LAMP boxes are web servers that use a Linux distribution for the operating system; Apache for the web server software; MySQL as the database management system and either Perl, PHP or Python for programming/scripting. Due to the fact that all of the software is free to use, the cost is reduced to just merely paying for the hardware.
However, "merely" paying for good quality hardware can be fairly expensive and that's not the end of the story. To be able to host ourselves we will also need a relatively good internet connection, one that's upstream bandwidth is quite considerable. If we just used a normal broadband connection, even if it was purely dedicated for this purpose, visitors to our website could suffer. We could possibly use a ADSL2+ connection with upload speeds of around 1.3Mbps, but with a standard contention ratio of 30:1, performance won't be amazing. A more suitable solution would be to have a SDSL (Symmetric Digital Subscriber Line) installed with a 2Mbps 1:1 service, but the total cost would be very high.
To be honest, it is my belief that this option is only worth while if the company and its website takes off beyond all reckoning, but it is still a future possibility.
Using a web hosting company...
Therefore, the only suitable course of action is to find a reputable web hosting company and choose from one of their packages. Hold on a minute, how do we know which is the most suitable package for us? The possible combinations are almost infinite! First we must come up with a comprehensive set of criteria. This will allow is to weigh up all the factors in a sensible amount of time. We will then be able to compare and contrast our specific requirements with the packages available to us.
Criteria to be used:
- Performance
- Speed (Connectivity)
- Reliability/Backup (Contingency measures)
- Availability (24/7, 365)
- Space
- Amount of storage space on server
- Usage limitations (Monthly bandwidth allowance)
- Account details
- Number of email accounts allowed
- FTP account details
- Security
- SSL provision
- SPAM protection
- Software
- Operating system (Preferred: Linux)
- Server software (Preferred: Apache)
- Customer support
- Forums
- Ticketing system
- Availability (24/7)
- Additional services
- Server side scripting (Preferred: PHP)
- Database system (Preferred: MySQL)
- Log analysis tools (Urchin, Access to raw files)
- Special features (Ruby on rails?)
If we can put a tick next to each of these and the price is reasonable, we can gradually narrow down our package list to just a few.