From Gigenet Articles
[edit] How to Choose a Server
There are many different ways you can configure your server. Hardware is usually expensive, and so finance will obviously be a constraint. Were it not so, you could get the most expensive hardware with upto a terabyte of RAM! This article will show you how to choose a server in such a way that you get maximum performance for your needs within your budget. You can specify this server configuration to us when you select your dedicated server plan.
There are different facets of server configuration. You will need to decide for example, which operating system to use, how many cores to use, how much RAM you need, and what software you want to install. This article will explain each of these elements and help you decide what you need.
[edit] How to Choose a Server Operating System (OS)
The Operating System is software that controls the entire hardware resources and makes the hardware do what you want it to do. It's like the consciousness of the server and different OS's have different abilities and features. There are a wide variety of Operating Systems and there are few debates in the server world more intense than which Operating System is "better".
Some of the Operating Systems that are available are Windows, Linux, BSD, and Solaris. Let's look at them one by one.
[edit] Windows Server
Microsoft has a range of Operating Systems that are designed specifically for Servers. Technically speaking, you can install XP Professional on your Server and it would still run. However, given the fact that Server hardware is targeted towards an entirely different function set from the Desktop PC, this would be a colossal waste of resources.
The Windows Server Operating system is specifically targeted and optimized for the complex tasks that a server faces. The big advantage of a Windows Server is the ease of administration. Everything is graphically managed and user Friendly. The interface of Windows Server has been steadily improving over the years and one must give credit where it is due.
Another huge advantage of a Windows Server is Integration with Microsoft Products. This is more important than it seems at first glance. For example, .NET is an extremely popular and powerful programming framework and several web applications require a .NET server to run. The .NET framework runs only on a Windows Server, so if you want to use this language or are already using it, a Windows Server is your only choice.
Other product that neatly integrates with Windows Server, is the high end Microsoft SQL Server (MSSQL) which is an extremely powerful database management system. There are several businesses that rely solely on MS SQL for their day to day data operations and you need Windown Server for that. A final example is Microsoft Project Server which can provide extremely powerful Project management capabilities for your enterprise. This too requires a Windows Server to use.
The downside of using a Windows Server however is the cost. Windows Server licenses are not cheap and can cost thousands of dollars. The Licensing is pretty complex and increases with the number of machines that Access the Server. However, for some businesses, these costs might be worth the ease of integration with Microsoft Products.
[edit] Linux Server
One of the most popular Operating Systems for Servers is Linux. Linux is characterized by the fact that it is free, and has a large open community. In fact, if you ever meet a Linux fan, you're doomed. They will not stop trying to convince you that Linux is the best and greatest. Much like Apple enthusiasts actually!
There is much to be said for Linux as a Server Operating System. Over the years, it has shown itself to be tremendously fast, and secure. The Security comes from the fact that vulnerabilities are patched very quickly and that all software is usually vetted before it becomes available to the public. In addition, Linux runs a unique system of privileges that makes it difficult for a malicious program to gain what is called root access.
Linux systems are famous for their up times. This means that the server has to be rebooted much less frequently ensuring greater accessibility. Linux is also the cornerstone of the LAMP programming architecture. LAMP stands for Linux, Apache, MySql, and PHP. The combination of these 4 pieces of software to write dynamic web pages is extremely cost effective.
One of the advantages as well as disadvantages of Linux, is the interface. The server is accessed through a remote shell via a command line interface. It is not uncommon to see something called a "headless sever" without even a monitor! Access is achieved remotely through Secure Shell (SSH) or Telnet. This is an advantage because such an approach allows server administrators to customize the server to just about any level. Resources can be finely managed by an experienced administrator. However, many view this as a disadvantage as it is not user friendly and requires considerable technical expertise to manage.
The Linux Operating System itself can be customized freely as the source code is available. This adds an additional layer of flexibility. Not many people use this though since the technical knowledge required to change the code is quite daunting.
The Linux Open community has proved itself extremely dependable for support issues. In fact, many people compare it's support to commercial software support and claim that it's better. There are several commercial versions of Linux that provide guaranteed professional support. One such example is Red Hat Enterprise Linux.
To wrap up the discussion, Linux servers are easy to handle if you are confident of your technical ability. They are also extremely reliable. In fact, eight out of ten Internet Hosting companies use Linux as their operating system. However, if professional guaranteed support and pure ease of use is what you're looking for, then perhaps you're better of with another OS. Also, keep in mind that almost all Windows Products are not going to run on Linux, though proponents of Linux say that businesses can manage just fine without them.
Linux is free (or almost free) and for the financially strapped, this might make a significant impact on their decision. However, when deciding issues such as this, one must look into the Total Cost of Ownership including the manpower to administer it, the training, and the later costs of compatibility.
[edit] Other Server OS's
Apart from Linux and Windows, there are several other Operating systems that serve specific niches. Major companies often have their own custom software written for them. However, out of the box, Operating Systems like Sun's Solaris and FreeBSD are serious contenders for the server software market.
Solaris in particular is extremely well known for it's ability to gracefully handle increasing workloads. In addition, Solaris has some extremely useful functions that are invaluable in Server management. One such function is called DTrace which allows administrators to troubleshoot applications and even the OS. Solaris also makes use of the ZFS file system which is well known for it's reliability and ability to handle large volumes of data. Solaris also works exceptionally well with Sun Hardware. Solaris Administrators don't need to worry about compatibility issues when the buy hardware from Sun.
Other UNIX based systems like FreeBSD and OpenBSD are coming into prominence for their strict security.
[edit] Summary of How to Choose a Server Software
If you are going to need a specific programming or scripting support, or if you have specific applications that you absolutely must use, then this will probably govern your decision of which Operating System to use. If you're using the LAMP architecture, then Linux is pretty much a given. If you're going to use a lot of Microsoft Products including it's database and other great utilities, you simply have to use Windows Server.
For the tightest security, experts suggest that you seriously look at OpenBSD or it's derivatives. It's cryptography protocols and firewall suites make it absolutely perfect for high grade security systems.
A lot of Operating System decisions are determined by the style of your IT staff. Usually a person prefers one or another type of Operating System, and recommends that one. However, if you choose to have a managed Dedicated server, then the best thing to do is to consider your needs and using the pointers given above, communicate your preference to your hosting provider who will then add his or her opinions.
[edit] How to Choose a Server - Determining RAM requirements
One of the most important factors determining the performance of a Server is the RAM. The RAM is like the short term memory of the server that is extremely fast. The more RAM a server has, the more information it has at it's fingertips so to speak. This is a good thing because if the server didn't have critical information in a place where it could access it immediately, then it would have to look for it on the hard disk, and that takes time. Lots of servers are unacceptably slow because they don't have enough RAM to deal with their workload.
The catch is that RAM is expensive. And the price goes up exponentially. This means that one high RAM chip is more expensive than two lower RAM chips even though the total amount of RAM is the same. Add to this the fact that there are different types of RAM, as well as the fact that some Operating Systems have limits on how much RAM they can use, and the determination of RAM can become a pretty sticky question very fast.
[edit] Different types of RAM
There are primarily two types of RAM. Static RAM and Dynamic RAM. The technical details of the differences is way beyond the scope of this article. However, suffice to say that Dynamic RAM needs to be refreshed at regular intervals or the data gets lost, whereas Static RAM just needs a continuous supply of current.
Static RAM (SRAM) is much faster than Dynamic RAM (DRAM) but is obviously more expensive. So much more expensive in fact, that almost all servers use some form of DRAM. There are several variations on DRAM such as SDRAM, DDR RAM, DDR1(2,3,4) RAM. RAM technology keeps improving, and DDR4 SDRAM is expected to come out sometime in 2012.
[edit] The Amount of RAM needed
For a Dedicated Server, the amount of RAM needed can be anywhere from 2GB to 64GB depending on the applications that the server is running as well as the number of expected connections. Certain types of servers like Database Servers can benefit enormously from more RAM whereas something like a File Server will not need so much.
In addition, an Operating System like Linux can survive on much less RAM than a Windows Server. This is because Windows comes with it's neat GUI interface that requires more resident memory. In general if you're running a Dedicated Windows Server, anything less than 4 GB will be a tight fit making the assumption that you're going to use the Dedicated Server for some heavy work. 8 GB does nicely for a starting point Dedicated Server.
In case your bandwidth needs are higher and you intent to use Enterprise Class applications spanning multiple Geographic locations, you're going to be looking at something like 32-64 GB for RAM for your server. The general rule of thumb is that more RAM is better. And it's also nice to buffer yourself against future developments by having around 20% more RAM than you actually need. This will ensure that your system is still primed after software updates, and potential changes to hardware.
[edit] How to Choose a Server - How many CPU Cores are needed?
The next major decision you will need to take, will be the type of processor for your Dedicated Server. There is a lot of confusion regarding the exact meaning of cores, CPU's, and processors. Let's get an understanding of what it means to have several CPU cores.
[edit] Overview of Multi Core Systems
There is much confusion in terminology these days. This is an ongoing problem when technical terms are used to describe product features to laypeople. Many people these days use the terms Processor, CPU, and cores to describe the same thing. Therefore "multiprocessor" is looked on as the same as Multi Core.
To compound this, Operating Systems will often show more or less Processors than you expect. But this is where we explain everything from scratch.
[edit] Processors, CPUs, Dies, and Cores
Each Motherboard in a computer has physical slots that are available for Processors to Plug into. Most Motherboards have just one slot. You can buy the motherboard with the processor pre installed, or you can buy the processor separately off the shelf. In fact, when you go to a computer shop, and you see a processor in a box, it will fit into your motherboard slot.
The number of sockets (slots) a particular Motherboard has, determines what is called the "Way" of the server. So a server, whose mother board contains two slots is called a two way server. It means that two actual physical processors can be socketed into the motherboard.
Now, each processor that fits into a socket has one or more "Die". A die consists of the CPU along with supplemental circuitry to assist the CPU in doing it's job. Therefore, when we say that a Processor has two Dies, it means that each die consists of one CPU, making two CPU's overall.
And finally, each CPU consists of one or more " Cores ". A CPU core is a unit of processing that is capable of handling a set of instructions quite separately from the rest of the cores. This means that if there are two unrelated jobs to be done and two cores, each core can do one job (if the software allows it) and therefore double the speed at which both tasks can be completed.
If a CPU has two cores, it is called a Dual Core Server. Four Cores per CPU make it a Quad Core Server. And Eight Cores make an (You guessed it!) Eight Core Server.
Also remember that just because a server has more than one socket, doesn't mean that both sockets are used! Sometimes, you might not need the additional capacity that a processor in the extra socket will provide. However, in case you need to upgrade your Server processing power, you don't need to change your entire system if you have an empty socket into which you can just fit another processor into.
For example, our Quad Core Xeon Servers can be upgraded by adding another processor, giving you two Quad Core Servers with Eight Cores in Total without migrating to a new server.
[edit] The Effect of Multi Cores on Server Performance
More cores in a server means that the more Processes (Or threads) can run simultaneously at the same time. This means that if a program has been specifically written to allow multi threading, then it will indeed work much faster on a multi core CPU.
Unfortunately, most applications are not optimized to use multi threading. This is because writing such code is tricky and can result in bugs are are very difficult to find due to potential interdependance between threads. For individual applications therefore, having a multi core CPU won't affect their performance.
However, at an Operating System level, multiple cores make a very real difference. Unlike normal applications, Operating Systems consist of a large number of independent processes that can be ideally multi threaded. So applications that you run on your Operating System will get more time on a particular core since other cores are handing other processes.
[edit] How many Cores are Needed for your Server?
Now that we know the important points about Cores and How they affect server performance, we come to the main question that you need an answer to - How many Cores do I need for my server?
If you ask most people this question, you will invariably get the answer "It depends on your needs". While this is true (and safe!), it's really not of much help to those who have no clue about how many cores they need. So I'm going to stick my neck out and give a few concrete suggestions as to how many cores your server needs.
[edit] How many Cores for a Small Business
If your needs are restricted, and need a Server for hosting just two or three websites, or if you need a server to manage your Intranet, then you should go for a Dual Core Server. This holds true if your Server is specific to a single task like Email. Such Systems don't benefit greatly from adding more cores because their workload is comparatively light.
In addition to being able to take care of your needs, Dual Core Servers are the cheapest in the scale of things compared to Quad Core or 8 Core Servers.
[edit] Medium Sized Business with Back End Database
The middle ground is where you have your own IT department, have quite a few websites, and have some Database Applications running that require substantially more juice than regular applications.
Database applications are unique in that they are quite a memory hog. It's not surprising given the potential number of queries that they can handle, as well as the extremely complex processes they run. If you find that your Database is using up too much processing time and that your whole system slows down when your analyst has sent that query from hell, it's a sign that you need to upgrade to a Quad Core Server.
Interestingly, it's not very much more expensive than a Dual Core Server as you might expect. In fact, you can upgrade at a very reasonable price.
If your business is growing quickly, you can opt for a Xeon based Serverwhich has an additional socket, allowing you to quickly plug in another processor and double your processing power. You can do this without having to migrate your server saving significant time and headache.
[edit] Large Enterprises with Mission Critical Performance and Heavy Loads
We finally come to the heavy weight servers. These are mighty systems that handle huge loads of site traffic for multiple URL's, serve as Email Systems, File Manager, and Database applications all in one. They need tons of Bandwidth, Hard disk space, and above all, Processing Power.
Without a doubt, these Powerful machines will be 8 Core Servers, with possibilities to add more if required. These machines require constant uptime, round the clock management and powerful security. Experienced Colocation Facilities like Gigenet offer these systems.
[edit] How to Choose a Server Web Hosting Control Panel
Once you have decided on what hardware to choose and what Operating System you want installed on your server, the next step is to choose the administration software. This is very important since it is going to be the primary means by which you interact with your Server. I can't emphasize enough the need to get a Web Hosting Control Panel you are comfortable with. This is going to be the primary gateway to your server, and you or your IT staff are going to be staring at it whenever you want to interact with your server. It can be very frustrating to work with a software whose architecture and rules you don't understand.
In this section, we're going to take a look at three different Control Panels - Plesk, cPanel, and DirectAdmin.
[edit] The cPanel Web Host Manager
The cPanel Web Host Manager is the most famous of all the control panels. By that fact alone, you know that you're in good hands. After all, if so many servers are being administered by cPanel, it can't be a bad choice. Nonetheless, for the purposes of comparison, we need to look at it's features and how it stacks up to the competition.
The first thing we need to know about cPanel, is that it doesn't run on a Windows Server - yet. A beta version that supports Windows Server 2008 is slated for release anytime during early January 2009, but not many will take a chance on something that hasn't been tested yet. Where cPanel shines is in the administration of Red Hat Linux Severs, Fedora and FreeBSD serves. Within this market, cPanel has proven itself as a very powerful web host manager.
As far as price goes, if you go with cPanel through a hosting provider like Gigenet, you get a much better deal than if you buy it directly. In fact, the price factor is almost taken out of the equation when choosing between the three hosting managers listed above.
cPanel is known for it's clean interface. It's been around for so long that it's had plenty of time to understand the needs of it's users and this has resulted in it's having one of the easiest interfaces to use. As a client, you will be dealing with the component of cPanel called the Web Host Manager which allows you to access the server through your browser.
One of the biggest advantages of choosing cPanel, is something called the Fantastico add on. This add on is a set of scripts that accomplishes many commonly needed frameworks automatically. Most commercial websites have specialized needs that provide certain essential functionality to the end user. For example, one of your sites may need a shopping cart, another might need a blog, a third might need a Content Management System (CMS) to easily add material to your site, and a fourth might need a forum or a discussion board. These are complex applications that require expertise to install and manage. However, the Fantastico add on for cPanel does all this automatically (or Automagically!), making the administration of your sites much easier.
In fact, most websites these days are crippled without some basic features that end users have come to expect from a professional portal. Features like FAQ's, Polls, customer ticket systems and specialized systems to present online courses are so standard that your web site looks dull and poorly cared for if they are not present. Since the Fantastico add on is available only with cPanel, this is a huge bonus for choosing it as your web host manager.
If you're a reseller, there is one more clinching reason to use cPanel over the other packages. That reason is the RVSkin add on. This software allows you to theme the cPanel interface to your own liking so that your customers see your branding. It's a great way to establish yourself as a branded provider with this amazing piece of software.
[edit] The Plesk Web Host Manager
Plesk is another big name in the Web Host Manager business. One of the biggest differentiating factors between Plesk and cPanel that has kept them firmly apart till now has been the Operating System on which they run. Plesk can run on Windows and is therefore the Control Panel of choice for Windows Server based Hosting Solutions.
Just like cPanel, Plesk allows you flexibility to manage your server remotely and it has just about the same feature set. In fact, if it had a reduced or increased base of features, then there would be very little to discuss regarding choice. However, as far as usage goes, Plesk has a user interface vastly different from that of cPanel. So a large portion of the choice to use Plesk or not boils down to whether or not you're comfortable with the interface. You can view Demos of Plesk from our hosting page and this will give you an idea of what style you prefer.
Other things being equal, Plesk has often been touted as more secure and stable though several of these claims are unverified. However, you can rest assured that Plesk is installed on tens of thousands of servers all over the world and is therefore thoroughly tested. The latest two versions of Plesk in particular have been very well received.
A final point is that Plesk integrates wonderfully with Parallel's Virtuozzo. Since they are owned by the same company, this is not surprising. If you're using Virtuozzo for your virtualization needs, Plesk seems like a great option.
[edit] DirectAdmin Web Control Panel
DirectAdmin is a relative newcomer to the Web Hosting Control Panel Scene, and in that time it has carved a little niche for itself as a simple, fast, stable and secure control panel. cPanel and Plesk have been around for so long that over time they have grown in size and complexity despite efforts to keep things simple. That is usually one of the problems with software as it matures. It tries to be everything to everybody which is not by itself a bad thing, but it does mean that simplicity has to be sacrificed. In addition, having a lot of features means that there is more scope for the system to be unstable and vulnerable to security flaws.
Most people don't need all the bells and whistles of cPanel and Plesk and will be much happier with a simpler cleaner interface. DirectAdmin provides that and has quickly accrued a lot of praise for it's simple hosting features at a cheaper price.
DirectAdmin has a clear user interface which is neatly divided into that for users, resellers and administrators. At the dashboard of the control panel, users can see all important statistics at a glance, can manage their DNS mappings, FTP and email accounts. Resellers can quickly create and modify accounts as well as perform important tasks quickly.
DirectAdmin comes at a cheap price. If you go with DirectAdmin through a hosting provider it gets even cheaper. It is for this reason that DirectAdmin has become popular so quickly. Their smaller size means that they have a smaller community which responds very rapidly to problems. In several cases, you will have direct access to the support team via IM. This is in contrast to cPanel which has a fixed number of support tickets per week.
One other advantage of DirectAdmin is that you can update the software on your server without any hassles whenever the latest versions come out. You may think that this is no big deal, but cPanel doesn't allow you to do this! There is a reason behind that. The core software that cPanel runs on - namely MySql, Apache and PHP - is upgraded by cPanel automatically but this doesn't happen immediately. cPanel likes to make sure that all it's software is in sync and this can cause frustration when you want to urgently apply a new update to, say your MySql Database.
DirectAdmin allows you to update you software as and when updates are available and this is a big plus for users.
[edit] Summary of How to Choose a Server
You now have all the basic information required to understand how the major concepts needed to choose a server. Some important aspects that we haven't touched upon are Load Balancing, RAID and VPN's. The field of server management is very large and we will go deeper into it with more articles on this site.