I just saw an image tweeted by Tim Storm of FatWallet.com showing their new server rack and thought it would a good time to think about the requirements of hosting a high traffic website verses a shared account that most people or businesses start off with.
The fact is your site may never need a room full of racks or even a single dedicated server but when you do need to move up to something larger then a $15 a month shared account it is likely to happen faster then you could realize and there will be a huge learning curve just to keep your site alive.
All you have to do is look at a site such as twitter.. most of us knew nothing about twitter and with myspace, facebook and blog sites that allowed us to rant on and on why would anyone think a site that only lets you post 140 character tweets would be worth thinking about… Twitter like most sites probably started out on shared hosting or a single server but has grown past its ability to serve from one location and now uses a mixture of cloud computing and about 15 remote geoip sites to let people around the world communicate.
Even if your site only takes a few steps up on the requirements ladder it is better to continuously update your knowledge of hosting technologies then to try to pick the right choice at the time you must make the change. You may even find that picking a higher rung on the ladder earlier on can save you money in the long run when it comes to development hours and hosting costs.
Shared Hosting
So, we all start off with a $7 domain name and $15 hosting how far can that take you? You can probably expect to provide enough resources for a general website with a mixture of html, php, mysql and light image hosting for about 250,000 visits a month. This is not unique visitors that could visit many many pages but for about a quarter million full page views.
Now page views are often not reported correctly by most stats programs. You have to keep in mind that your stat program that runs off your server logs rather then a script that gets fired at the bottom of every page just before the </html> is inflating your page views due to many different scripts or sections of each page being executed to display a full page to your visitor. Every sidebar widget or banner could be generating a page view so its best to throw out all your stats other then bandwidth and unique visitors unless you write or install your own stat program or use a remote service like Google Analytics but even Analytics is not something you want to be using on every site.
So you find that you are reaching the 250k to 500k full page views a month and you are expecting your hosting service to either dump you or request that you upgrade to a better plan what are your options?
Virtual Hosting vs Dedicated Server
The next step up in hosting would be a virtual or dedicated server.
Virtual Servers on a single machine actually split the servers resources into slices. This can provide a bump up in your resources but because you do not have the ability to burst your resources at times when you need more availability you may find that processing of requests could take longer. Remember you will need to run a full operating system along side 4 to maybe 16 other accounts on the same computer and each one of you will be accessing the same drives and ram buses and so on.
Some hosts have started offering in house cloud computing which is basically a cluster of servers that act as one over a network. This can be a generally good option if the plan costs are low but there are times when other accounts can effect your availability. This is different then Amazon’s offerings where resources are located strategically around the world.
Dedicated servers like virtual servers require the customer to install an operating system and manage their servers on their own. This level of service varies greatly and can include anything from a one time setup cost and you are on your own … to a predefined amount of technical support including backups are reboots among other things.
Cloud Services and Remote Content Storage
Most of us are already familiar with the idea of separating your video hosting to a service like YouTube to reduce load on your server and bring down your bandwidth costs but there are many offerings by a variety of companies that can get your content off your server and provide it in mirrors around the world.
Amazon has E3 there are a variety of video only hosting companies and many backbone providers and companies that work in unison with them will host files in a mirrored environment.
Cloud Database services are very important when dealing with very large sites that require database connectivity. Basically you will be going from shared or dedicated servers that have limitations to a service that is limited mostly by the level of service you purchase not the hardware. Meaning if you have huge databases that have reached their limit due to processing speeds you will need to look into this type of service or work up to it by clustering a number of dedicated servers that you manage and that is not the easiest of tasks.
The cost for these services is not inexpensive and if you are considering such a service you may want to look into Amazon’s free offering just to give it a test.
Final Note
Managing your site once or if it ever becomes extremely popular can be a dedicated task and will require at least as much work as designing your interface and producing content. When you find that developing content is being placed on the back seat you will need to find solutions that can streamline the management of your site or you will need to hire someone to perform the work.
This can be a very difficult task in its self because you are handing over the management of your backend to an outside company or hiring someone to provide answers you may not have.
For this reason it is important that you educate yourself about different offering and innovations in technology by visiting not only hosting companies that may provide a slightly better solution but researching what solutions are being used by sites that are much larger then yours.
One such solution may be wordpress.com they have a business hosting solution that is above the standard offering for general users. Many large companies use it for their blogs including FoxNews so you can count on your site being available to your visitors.
A progression in the WordPress offerings may be general wordpress.com hosting with limited services then self hosting of a wordpress.org site on a shared account. After you reach your limitations of a shared account you could move to a dedicated server and then back to wordpress.com as a business customer.
This is only part of a solution you will need to develop for your site and will leave out many services such as making use of outside products that you need to host yourself.
If you are building your own custom solution you may go from shared hosting to dedicated or colocated racks of servers then to cloud computing for processor intensive or geoip serving of your static content such as images.
The direction you take will depend on the services you need and which is the easiest method to expand.
Getting caught in one or a group of technologies can mean a total redesign of your backend and may require more knowledge then you have or can obtain in the short amount of time between the point you realize you need it and your servers go offline from load.