The options available with a web hosting package are very wide ranging, and can be a bit confusing to understand – especially since the options are presenting in a large number of ways, and condensed in various ways, while shopping for a package online. Hopefully I can give you a breakdown of the categories these features fall into and help you to focus on the features that are important to you.
I break the features down into 10 categories, and will discuss the categories one by one to give you a firm grasp of the options and make an informed purchasing decision.
10 Categories of Web Hosting Package Features
1. Operating System
2. Web Server
4. Disk Space
9. Control Panel
10. Applications / Programming
1. Operating System
The operating system is the underlying software that runs on the host. It manages the physical hardware of the server and attempts to optimize the use of RAM, disk space, network, and CPU for the requests coming into the machine. The underlying OS does not have to be the same as your desktop or even the OS you use to develop your website. In fact, due to most of the management functions being driven through a web GUI, you might never know or care what the server operating system is.
The predominant operating systems you will find while shopping for a web hosting service are Windows and UNIX. With Windows you will see versions available such as Server 2003 or Server 2008, and with UNIX you will see many brands of Linux, usually CentOS, Debian, or Redhat. Choosing between UNIX and Windows is an important decision, and involves a lot of variables, but in the end it simply means deciding if you want to build your website with open source technology or with Microsoft technology.
Research the application you want to use or run as your website and check to see if it has any Microsoft technology requirements (MSSQL database, MSAccess database, ASP, ASP.Net). If you find no pressing reason to use Windows, then UNIX will most likely be a better choice for you. UNIX runs the open source scripting languages slightly faster and is also slightly cheaper than Windows.
There are a few specific sub-features of the operating system that may be of importance to you.
Do you need a virtual private server? This gives you a dedicated virtual operating system all to yourself instead of you sharing the OS with others. You still share a machine with others, but there are stricter walls in place to guarantee you bandwidth, CPU, and memory even if a website on the same machine is getting heavily hit. It also gives you great configuration choices with everything since it is your own OS. These packages are more expensive than the shared options, but are worth if as your site grows. The VPS packages mainly vary is the amount of RAM dedicated to you, so I would recommend going with the smallest package and monitoring the RAM usage over time and upgrading into a bigger package as needed.
Do you need a dedicated SSL certificate? Most sites offer a shared SSL certificate, which is fine for some smaller sites, but if you are running a medium or large ecommerce site you will need a dedicated certificate. Some buyers justifiably will not send in their personal and credit card information without a guaranteed valid SSL private certificate. Also some shopping cart applications require the dedicated certificate as well. Be careful when shopping for this – some hosting services say they give a SSL certificate with all their hosting plans but do not explicitly tell you that it is a shared certificate. If the plan does not include a dedicated IP, then it is a shared certificate.
To directly remotely administer your site, you may need to either shell into with UNIX or Remote Desktop in with Windows. The UNIX shell option is sometimes referred to as SSH Shell, Secure Shell, or telnet. These options are only useful to you if you intend to do low level maintenance and tweaking, mainly in the VPS packages. With a good hosting package with a high powered control panel, you will not need either of these.
You may see mention for the ability to schedule cron jobs – this is the UNIX version of scheduled tasks. This ability is only needed if you wish to run scheduled tasks at set times, such as a nightly backup. Most of the good control panels provide an interface for the cron job entry, but they also provide interfaces for performing maintenance tasks such as backups. You will probably never need this feature.
2. Web Server
The web hosting companies usually offer Microsoft IIS or UNIX Apache web servers. Both have their plusses and minuses, and it will only make a difference to you if the website you are developing or the application you are running requires one or the other. Apache, being open source itself, has slightly better hooks in it to run many of the open source content management systems and blog engines based on PHP, PERL, and Python, so go with Apache if that is all you need. The Windows IIS also has quite good open source content management systems and blog engines based on ASP and ASP.Net, but I would suggest not going with a PHP/PERL/Python web application on Windows IIS – see the above discussion of the operating system as to why.