After acquiring a domain name, an address for a site, the next thing needed is space to host it. This article will focus on hosting a site at a third party’s location or hosting provider.
The server space is akin to a physical location to place a business. Most commonly, with small to medium websites, space is leased from a third party. There are three different types of hosting packages to fit the size and complexity of the site being deployed. Sites can easily migrate from one type to another as they grow, although the management of the server increases with upgrades as well.
A shared server is a single server that hosts multiple websites on the same web server service. Each user gets their own space in their home directory to host their website. Shared hosting is mostly found using the LAMP stack, that is GNU Linux for the operating system, Apache HTTP Server for the web server, MySQL for the database and PHP for the scripting language. Hosts are continuously adding support for easily using other languages and frameworks on shared hosting, so shared hosting is a viable candidate for most common web software packages that are available today.
Shared hosting is like sharing an office where tenants compete for the shared resources like a receptionist. If someone want to use the shared services and they are in use, they have to wait for them to come available. On web servers, the shared services are the server’s CPU and memory. If a site is located on the same server as one or more heavily loaded sites, visitors to the site may see slow and sluggish site performance. If another tenant causes the receptionist to quit, there may even be some downtime. There are measures put in place to avoid one site dominating a server, but in general shared hosting has the greatest chance of heavily visited sites affecting another site.
Virtual Private Server
A Virtual Private Server (VPS) provides an isolated, separate server for each user. Multiple virtual servers will be hosted on a single physical server, but unlike shared hosting, a virtual server provides dedicated memory and CPU resources for the server’s private web service, with the full physical CPU usually being available to VPS’s in burst mode when the resource is not being used by other VPS’s. As a virtual server acts exactly like a physical server, additional knowledge and experience is needed to properly install and manager the server. To provide the most secure environment for a website, it is best to have an experienced professional setup and manage a VPS.
A VPS is like having an office with half-time support staff which are employees, but sharing the washrooms and other common areas with other tenants. There are fewer opportunities for bottlenecks, but there is still the possibility of being affected by other tenants in the same building.
Dedicated Physical Server
A dedicated physical server provides a whole physical server for client use. When a physical server is required, purchasing a dedicated physical server with a third-party hosting can be much more cost effective than hosting yourself due to the other infrastructure (environmentals, redundant Internet links) provided. Like a virtual server, a dedicated server is best managed by an experienced professional.
A dedicated server is like owning a building. The only performance issues will be as a result of the setup and design. Those items are in the owner’s full control to change if they are issues.
A dedicated physical server is the most expensive hosting option, and is normally only required for sites which are already experiencing high traffic numbers. For sites that are launching and growing, shared hosting and virtual servers would be more appropriate.
What you get
Hosting packages of all three types provide a specific amount of server resources. Deciding on the package to use will depend on the amount of these resources required. Disk space and bandwidth are the two common resources found with each type of hosting, while CPU is worthy to note with VPS and dedicated hosting packages.
Disk space is the storage space for a web site. All site content (pages, images) and administration files (mailboxes, logs) need permanent storage on disk. Disk storage is where the site pages are served from and is measured in megabytes (MB) or gigabytes (GB). The percentage of disk space used can be measured over time and will naturally grow as logs and mailboxes grow, even without additional content on the site.
Disk space has a hard limit. As the disk space limit is approached, arrangements need to be made to upgrade the hosting package to increase the disk space available. Disk space is similar to the physical space available to a business, with various parts of it required for storage, offices, retail space, etc. When the space is all used, a business will either get rid of some stuff or find more space.
Bandwidth is the measurement of the data transferred to visitors. It is measured over a monthly period. A single page stored once on disk may be served thousands of times in a month. The amount of data sent over the network for all pages and files equals the bandwidth use for the month.
For small sites, the amount of bandwidth in hosting packages may never be reached in any given month. Larger or more media driven sites (serving large image, audio or video files) may reach their bandwidth limit more often. Unlike disk space, bandwidth is not usually a hard limit. Instead overages are charged based on the amount of additional bandwidth used for that month.
Bandwidth is similar to the processing capacity of a physical business, like how many transactions can be processed in a day or month. Once that limit is approached each month, it may be time to look at expanding, but the amount of processing available resets to zero each month and temporary help will allow temporary processing overages on a month-to-month basis.
CPU is the measurement of processing time provided to the web server. It is measured as a percentage of available processing time. CPU usage normally only comes into play with virtual servers. Web server processes that use a lot of CPU on shared hosting may cause the host provider to ask for the issue to be addressed or else require the site be moved site off of shared hosting to a more private hosting type.
For most sites, CPU usage should scale with the memory size of the virtual server based on the traffic seen by the site. If a site does perform processor intensive tasks, it may require a larger virtual server to have enough CPU resources at its disposal.
There are two general operating system choices for hosting: Microsoft Windows and Gnu Linux/Unix based systems. Microsoft Windows is a commercial operating system while Linux and BSD Unix descendants are free and open source. Open source provides a more transparent platform with support from the community and reduced licensing costs while there are additional costs licensing a commercial operating systems and other applications (database).
Most hosting providers focus on one operating system choice and Linux/BSD hosting is probably the most popular type available today. While it is possible to use the common open source software such as the web server (Apache HTTP Server), database server (MySQL) and languages (PHP) on a Windows Server platform, it is generally considered not appropriate for hosting production systems.
There are a multitude of vendors that provide hosting services, which is what can make it difficult for inexperienced people to choose a host. Each site owner will have their own preference for qualities in a host which will range from price to performance to support to up time. I have direct experience with two hosts that I can recommend (note — referral links below) plus I can list some other high-end hosts that get excellent testimonials and reviews from respected individuals on the web.
A Small Orange is an excellent choice for reasonable prices, excellent support and good performance. A definite good starter host for shared hosting sites, they also offer VPS’s so A Small Orange can grow with a site. Remember to check my hosting page for coupon codes if you are signing up for a new hosting package with ASO and record some savings on your initial invoice.
Slicehost offers inexpensive and excellent performance virtual server “slices”. In my research, I have not found anyone providing cheaper VPS’s, and their performance, management interface and support are all top notch.
A high-end host that receives much praise in testimonials on the web from high-profile and busy web sites. Joyent provides a virtual server offering called Accelerator, they are a serious option for high-traffic sites that demand a high-performance infrastructure.
A high-end host that provides an expandable Grid-Service (gs) as an affordable solution to shared hosting. For sites which many only require shared hosting resources most of the time, but need to expand occasional for bursts of traffic, Grid-Service is an attractive option. They also have virtual server (Dedicated-Virtual (dv)) and Dedicated Physical Virtual (dpv) Server options available.
A domain name has been chosen and server space purchased from a host. A site is still not visible, however. Next, the software to manage the site must be selected and installed before the site content can start to be managed.