Thursday, March 20, 2008

Picking a dedicated web server.

Hosting websites on a dedicated web server brings a wide range of benifits with it. Not competing with other people's sites for system resources, the ability to optimize the environment to your business, and more control of system downtime are just a few of the benefits offered by a dedicated server. There are also some downsides to having your own web server, though. Having your own web server requires a much higher level of technical knowlege than using a shared web host does. It also is more expensive, and requires more of your time to maintain. If you make the right choices when you first purchase the server, however, making the decision to use a dedicated server to host your web sites and web applications will be one of the best choice that you've ever made.

The first thing that you need to do when getting ready to purchase a dedicated web server is to evaluate your current and future business needs. Once you've evaluated your needs, you can then pick a hosting provider, and move on to setting up your web server. Here are a just a few of the items that you should take into consideration when evaluating your needs.

Current Traffic Patterns

Because of the recent explosion of dynamic web applications such as ASP.Net and PHP, it is no longer possible to give out a maximum number of hits that a given web server can support in a day. There are just too many variables that come into play for a given web app. In spite of this, I will throw out a ballpark figure based solely on experience. Your typical Dell server running either Apache or IIS should be able to handle about 100,000 page requests per day if your PHP or .net web application is well written. If you are primarily serving static content that number gets closer to 1 million.

Expected Traffic Growth

If you already have strong traffic rates and expect to grow at a rapid rate, you will probably want to overbuy when you purchase a server. Migrating can be a painful process, so try to make sure that you have room to grow when choosing a web server to host your new site. You may also want to consider running your site on more than one server. Often running your database and web server separately will give you huge performance increases. In very high traffic scenarios, some people will serve the static content (i.e. html, images etc.) from an entirely different server than they serve their dynamic content from (this is not recommended unless you have a very high level of technical ability).

Data Storage Needs

When evaluating your storage needs, try to think of how much data a typical user action will create multiply this by the number of users you anticipate having in 2 years or so, throw in 10 kilobytes or so per page hit per day for logs (times the number of days you want to keep the logs), and add 20 Gigs or more for your OS and things that you don't expect. Also keep your backup needs in mind. You may want to include a tape drive in the system, or perhaps you will need to backup to external disk. Whatever you do don't neglect this step. If you aren't going to back up your server you might as well not have an online business. Finally consider adding a performance boost to your system by using 10k or 15k scsi drives to house frequently accessed data.

Uptime Requirements

If your site isn't up then you aren't making money. On the flip side of the coin very high levels of uptime are very very expensive. Redundancy is a good way to maximize uptime at a fairly low cost. Two power supplies, two network interface cards, two cpu's, and multiple drives configured to use RAID 1 or RAID 5 are all good ways to make sure your system doesn't go down due to system failure. Making sure that your server uses less than 1/4 to 1/2 of the processor, disk, and RAM available to it on average is also a good way to increase your uptime. If you have very high uptime requirements (less than 30 minutes downtime per year). You will probably want to look at a clustered solution. You will also want to make sure that you are hosting with a top-notch web host, since in that situation technical expertise is key.

Technological Requirements

If your site was developed with ASP.NET/MSSQL it's better to stick with Windows Servers. If it was developed in PHP, a Linux Server is probably a better option for you. If you are running a language that runs equally well on either distribution, then it is usually a good idea to go with the platform that you are the most familiar with.

Security Needs

If your business model requires high security, you will want to make sure that you are hosting your server in a secure location. You will also want to use an SSL to protect data transmissions to and from your clients. If your security needs are very high, you will want to make sure that your servers are behind a dedicated firewall such as the ASA from Cisco.

Bandwidth Requirements

Even if you are going to be hosting your own web server, determining your bandwidth requirements during the planning stage of your web deployment is important. Most ISPs and web hosting providers charge much more per Mbps for overages than they do for pre-planned usage. A little careful planning before you purchase a data plan can save you from costly overage fees.

Once you've evaluated your requirements it is time for you to either make a decision on a web hosting provider or to go out and purchase the web server on your own. Follow this link for more information on things to look for in a web hosting company.

After you've purchased a dedicated web server from a reputable web host or bought a server on your own, it is time for you to begin configuring it. We have some hand-picked links to sites with great information on configuring a windows or Linux web server.

No comments: