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.
The SSL certificate is hosted by the web server, and the web server has to do extra processing of SSL HTTPS requests – it has to encrypt/decrypt and verify data passing between the client and the server. For this reason, some would argue that you should shy away from web hosting packages that offer free SSL shared certificates to everyone. You might end up sharing a server with 100s of other websites that overtax the server. A well run website will only go into HTTPS SSL mode for the actual entering of credit card data, not for the entire website – but you do not know if the other websites on your server are well run.
This is a measure of the amount of data transmitted in/out of you website, usually on a monthly basis. Keep in mind that a typical website only transmits a very small amount of the content to each user, and even though a package only offers a few gigs of transfer a month, you will most likely not overshoot your allotment. If you do, then your website is really popular with thousands of visitors, and you should be generating a nice revenue stream. Most of the web hosting companies will spell out what the penalty is for overshooting your allotment – it is usually a dollar to two per gig, which makes it cheaper to upgrade to the next highest package of course. If your website is heavy on images or multimedia, you may need a bigger allotment of monthly bandwidth immediately. Fortunately they all offer a monthly meter to watch your bandwidth usage so that you can plan accordingly as your site grows in popularity.
Some hosting companies offer an unlimited bandwidth package – be wary of this. There is no such thing as unlimited bandwidth, so what they are selling is unmetered bandwidth. Many of them with unmetered offerings will inform you after you purchase an account of what their acceptable use policy is concerning bandwidth and disk space, disallowing you from performing nightly 500gig backups of your personal computer and such activities. In fact, many of these policies also stipulate that you must upgrade to bigger packages if your website begins to infringe on the bandwidth of others on a shared hosted machine. Once again, this is not a bad policy; if you get notified of infringement due to the activity of your website, then it is so popular that your revenue stream covers the additional expense of a bigger package.
4. Disk Space
This is the allotment of bytes on the hard drive given to you for your website. A large website with 100s of pages can easily fit into a gigabyte of space, so you actually do not need that much for a typical website. If you website has a catalog of thousands of items for sale, stored in a database with several images apiece, then you will need a significant upgrade in disk space. Usually as your site grows in popularity and content, you will be upgrading for bandwidth first, and get more disk space along with the upgraded package.
Some of the hosting companies will include your database space and your email space in this disk space allotment, so plan according to how they segregate the space.
As it was with bandwidth, many web hosting providers offer unlimited disk space, and there is no such thing as unlimited disk space. What they are selling is unmetered disk space, with an acceptable use policy. It is difficult to breach their acceptable use policy with a normal website, only by doing something outside the norm, such as hosting and anonymous ftp site of spurious files.
This is the number of web addresses that can point into your web hosting account. Almost all of the providers offer sub domains, where your main site is YourSite.com and you have sub domains of http://www.YourSite.Com and files.YourSite.com. Many will allow you to point externally hosted DNS entries pointed into your account s folder, but some do not. This may be referred to as Add-on domains, and most will offer in one of their packages multiple add-on domains. This allows you to purchase additional domains and point it into separate folders within your hosted account. This way you can run multiple websites, which appear completely unrelated, to be physically located and managed together.
Many of the web hosting providers offer a single or even multiple free domains with their accounts. Some even offer lifetime free domains, saving you the 10 dollars a year for the domain. Be sure and shop for that option if you want to save a few dollars a year.
Almost all of the web hosting providers offer email accounts, which gives you an email address of YourName@YourSite.com. Most of them also offer web based email, POP and IMAP access, and spam filtering. Where they will differ is the number of emails accounts they provide, the disk space total or per mailbox, and advanced features such as mail list management. It is up to you as to how important email is to you and your website – there are plenty of free email providers on the internet so this has never been an important set of features for me.
Many of the web hosting providers offer unlimited emails, but again there is no such thing. As your email accounts grow, the bandwidth and disk space used will also grow, and neither of those is unlimited. So you eventually break their acceptable use policies and are forced to upgrade into a bigger package – again, not a bad thing if it is your website that is growing and creating revenue for you.
FTP is the file transfer protocol used to send and receive files back and forth to your website. This feature may or may not be important to you, depending on if you wish to server files up to anonymous people through this protocol. Most websites today deliver files through HTTP through your website, which allows you to manage access and users through your website instead of through the FTP accounts.
A database is server package that structures data into an easy to store and retrieve manner. The database is one of the items used to create dynamic websites such as content management systems and blog engines. You will want to take advantage of the database also if you intend to create any sort of ecommerce website to store your user’s information, catalogs of items for sale, and orders placed.
MySQL is available on most web hosting packages, whether it is on UNIX or Windows. MySQL is open source and does not require licensing per user, so it usually offers more instances available to your account. This is important so that you can have separation of data within your website. For example, your website may have a database for the content management system, the blog within the CMS, the items for sale catalog, and the shopping cart application. You could push all of those applications to use a single instance within the database, but you may have compatibility problems if one of those applications requires special database connection information, or table name collisions between the applications. Sharing instances between applications is also a security risk, since one part of your website could be hacked exposing all of the data stored, including user’s financial information. If you are running multiple websites then these problems, collisions, and security risks will be compounded. Separation of applications into distinct database instances is important.
MSSQL is available on most of the Windows hosting packages, but is usually slightly more expensive due to its commercial licensing restrictions, and usually has lower instances and disk space available. But some website applications are built to take advantage of its feature set, so you may require this as your database. You could still take advantage of MySQL with as many applications as you could, there is not any reason a single website could not use multiple different databases.
MSAccess is the openly available database for Windows that is more of a file level database and not a dedicated server running it. It provides adequate storage for lighter database usage, but would not be sufficient for any larger data storage needs.
Researching the needs of the applications you intend to run on your website, and planning the database requirements needed for each, will drive you to a conclusion of which hosting package to use based on these database needs.
9. Control Panel
The control panel will be the location you will manage all of the details of your web hosting account. All of the providers give you a web based control panel that is easy to use and provide sufficient help to understanding all of its features so that you can avoid calling them for help.
The web hosting providers will vary in the type of control panel they provide, however. The two main control panels are cPanel and Plesk, which are found on about 80% of the providers. The remaining 20% give you a custom built control panel. cPanel and Plesk are so popular because they provide feature rich management utilities right out of the box and both can be branded to appear like the host provider’s pages, but they are expensive to license. Both work on UNIX and Windows hosted accounts and allow for complete management of the underlying operating system configuration, web server configuration, web site configuration, email ,ftp, DNS, etc.
If you are new to web hosting then it really does not matter with control panel you choose, but if you are familiar with cPanel or Plesk you may prefer to go with a hosting provider which provides you with the control panel you are comfortable with.
If you are interested in getting into being a hosting reseller, then you will want to ensure you get licenses provided to you for your reseller account through the web hosting provider so that you can brand it and give it to your sub-hosted customers (and not have them call you with configuration needs).
Many on the internet recommend removing cPanel and Plesk from your virtual private server since both can be major bandwidth, CPU, and disk space hogs. One of the great benefits of a virtual private server is being able to login as root or administrator and manage the operating system and web server directly, removing the need to obfuscate into a web GUI those tasks. Of course you would need to be a lot more technically keen on doing those tasks yourself, or you could pay a few dollars more a month and get a managed VPS package.
10. Applications / Programming
No matter the type of website you plan to build, you will most likely use a few pre built packages as the foundation of your site. The pre built packages are built with some sort of programming or scripting language. They may be using PHP, PERL, Python, Java, Ruby, ASP, ASP.Net, or Coldfusion. Most of these languages run on any operating system, except for ASP and ASP.Net, both of which are Microsoft technologies requiring windows (and application probably requires IIS and MSSQL database as well). PHP, PERL, Python, and Java are cross platform, but UNIX runs them slightly faster than Windows and is usually a slightly cheaper package. Ruby is a UNIX only language, and it may be referred to as Ruby on Rails. Not all web hosting providers give access to all of these languages with all of their packages – make sure you shop it carefully to ensure the host and the package you purchase has the language you need.
The applications you decide run will tell you what their requirements are. In fact, the web hosting provider will give you the tools you need to install the applications from the control panel, which makes it a breeze to get up and running with the base installation of whatever application you choose. These days all of the web hosting providers allow you to get up and running with the base installation of the most common blog engines and content management systems within minutes after purchasing.
If you are interested in a blog, read up on WordPress and BlogEngine.Net. If you are interested in a content management system, read up on Joomla, Drupal, DotNetNuke, and mojoPortal. For a message forum, read up on PHPBB and YetAnotherForum applications. There are many more pre built applications to help you get up and running including shopping carts, mail list management, web authoring tools, and catalog databases.
I hope that this article provides you with enough understanding to make a wise decision when selecting a web hosting package. Happy shopping!