Servers
From MissionTechWiki
Servers are simply computers that have a special role whereby they provide services to other computers. This may be file sharing, web serving, email hosting, user authentication etc. In a very simple peer-to-peer network this may be just one of the workstations. In a larger network they tend to be dedicated machines.
One problem, especially in the Windows world, has been the need to implement individual server machines for each role. In the the Unix/linux world it has been relatively easy for one machine to perform serveral roles. This seems to be less the case for windows systems. To reduce the need to have multiple physical machines, and to make better use of more powerful systems, it is becoming more commune to use Virtual Servers where multiple virtual machines run on the one physical hardware platform.
Contents |
Operating System
While there are considerable opinions as to which OS is better for a server, there are a number of areas you need to look at while choosing an operating system.
- What services will you run? - Some services will run better on Linux than Windows, and vice-versa.
- What OS do you know best? - Security has much less to do with the OS you choose to use than it does how well you set up and maintain it. Any operating system can be hacked. Even if you choose "the most secure OS," (if such a thing truly existed) but set it up insecurely, your data will be at risk.
- A "free OS" does not mean it is free. - It still takes time and knowledge to keep a server going. If you already know a LOT about the free OSes, then you can do an amazing amount of things for free. But it usually comes at a price-tag of your time.
- Using an easy to use OS does not mean you will set it up securely. - Windows is great, but to really set it up securely means you need to know a fair bit about it. You still need to read up a lot, attend ICCM, or something to remain up-to-speed on your security. Do not fool yourself into thinking that you can simply turn something on, have it work, and think it is really secure.
- Location & Internet - The physical location of your server may affect the OS used. Many OSes these days rely on an Internet connection to function properly. If you are setting up a server in a remote country with poor Internet, that may affect things. Also, servers that you will be remotely managing may need different remote management tools.
- Who will maintain the server when you are not there? - If you ever leave the organization, are killed in a wreck, switch roles, or something like that, who will maintain the server? If you have a good server team, cross-training can help that a lot. Otherwise you need good documentation or use tools/services that are very standard.
- An OS choice for one person and organization will be very different from someone else in a different situation. Most larger organizations use multiple operating systems, leveraging the strengths of each OS for the services that that server is providing.
Microsoft Windows
The strength of the Microsoft world is that a lot of things are easier to do (they usually have a very good menu system and very good "wizards"). Also, finding a computer consultant who knows about windows servers is fairly easy to do.
Many ministries find themselves forced to use a Microsoft server, simply because many finance/donor management packages integrate with Exchange (email server). Either that or those same packages will only run on a Windows server.
Linux, Unix & BSD
There are many strengths of the Open-Source OSes (Operating Systems).
- Most open-source programs run on these open-source OSes. This means that you usually have a number of free options of software you can install for a multitude of tasks. (One of the main pieces of software lacking has to do with Donor-Management)
- A single server can run many services. Missions can usually get more for their buck when it comes to raw CPU power when you use these Open Source OSes.
The Apache web-server runs natively on these machines, and so it is one of the primary OSes used for web-servers.
The primary weakness with Open Source servers has to do with a lack of people who know them well. While there is a lot of information on the web for how to set things up and administer a system, if you want someone to walk you through something, it can be harder to find someone than in the Microsoft world.
Virtualization OSes
Some virtualization software runs it's own operating system that is optimized for giving better functionality for virtual servers. For example, VMWare has it's ESXI server
An operating system that is specialized for one task will usually do that task better than an OS which is not specialized for that same task. It is possible to run VMware server on a standard windows or Linux operating system. But you lose a fair bit of efficiency due to the OS overhead of these standard OS boxes.
Appliances
An Appliance is a box which has an OS built into it that you do not have to interact with (much). For example, a NAS or email filtering box probably has a standard OS running under the hood, it simply does not have an interface that allows you to do much tinkering with it.
The strength of an appliance is that it usually is much simpler to maintain. If you need to patch it, it usually has a very simple mechanism to do so. And it usually does it's job fairly well. Some vendors have better amounts of control or management, so you do need to research your appliances fairly well.
The down-side to appliances is that you may end up with a lot of them. A server (especially one running an open-source OS) can run a lot of different services. While an appliance usually is set up to do just one service. To handle multiple services then, you end up with a lot of different appliances.
Hardware
Hardware is a very important aspect of a server. Not all computers are made the same, and when you put all your eggs in one basket, you want that basket to be especially sturdy.
Will a standard PC work as a server
The missionary answer to this is, "Yes." You can use duct-tape and bailing-wire to hold a car-engine in place (I know people who have done so), but when you have the chance, you want to get that engine welded back in place.
A standard PC will work as a server. Underneath all the server hardware there is a standard CPU, hard-drives, and network-cards. But there are many reasons why server hardware is much more expensive. Some of those reasons have to do with reliability, some of them have to do with maintainability. A very good "for example" is that vendors who make server hardware usually support that hardware for much longer than standard hardware vendors do. This means you can usually find replacement parts for your aging hardware. And don't kid yourself. Missions end up using hardware for years and years and years. We have a hard time throwing it out. So being able to replace that case fan to extend the lifetime another year or two may be a good thing.
Real server hardware
Real server hardware usually consists of multiple parts. If you buy a server from one vendor, it will probably come as one package. The vendor (if you have chosen a good one) will have done all the research to make sure all the parts play well together, and that there are good drivers for the hardware, etc.
The case
The server case usually has a lot to do with the capabilities of the computer. With a server, the case may very well be tied very close with the motherboard. The choice of case will determine if you can have hot-swappable drives (you need to have a Raid card that allows for hot-swapping), it will determine if you can have redundant power-supplies, has to do with the cooling of the system, and much more.
The Motherboard
The motherboard is very important also. Many motherboards are built into the cases, simply because there is a lot of integration between the two. The motherboard contains the BIOS (A server BIOS has a number of options that a standard computer does not have), it determines how much of a CPU you are capable of, controls the fans (most servers have a lot more fans than standard computers do)
The RAID Card
Servers usually come with RAID. This allows you to have hot-swappable disks, redundancy in your data, and in some modes, much faster file IO.
The problem with RAID is that most RAID systems are proprietary and non-compatible. For example, if you have the raid card go out in your server, you will almost assuredly need to replace it with the exact same make and model of card, or you will lose all your data on your disks. This is where "server hardware" comes into play. Most server RAID controllers can be found for a good number of years after they are no longer being made.
Network Card
Network cards are another place where server hardware is usually drastically different than the cheap stuff. I once did a test with some cheap cards I had lying around and an expensive card. I found that, under a light load, both cards were about the same. But under a heavy load, the more expensive card outperformed the cheap one almost three to one. If you are going to have a heavily loaded server, make certain you have a good network card.
Building your own server
Many people do succeed in building their own servers, and can do so, often a little cheaper than you could buy a good server. Sometimes the quality is similar, but usually it is not as good. There is no way you can do as much testing of the various components and how they interact as a vendor who specializes in server hardware can do. They go through rigorous testing, make sure you have updated drivers, and give good support (most servers get a LOT better support than desktop PCs, and tons better service than home desktops do)
At the same time, many organizations have successfully used standard PCs and home-made servers for their infrastructure. I will use the analogy of the "duct-tape and bailing-wire for the car engine" analogy I gave earlier on this page. In a pinch, you can get by with poorer quality work and prayer. Don't forget the prayer, as even the most expensive server can have problems with it; Prayer is always important. The better quality pieces you use, the more likely they are going to serve you well. Most organizations that have started by building their own servers have switched to buying them pre-built when finances have allowed for it. In the long haul, they have also specialized on one vendor, instead of simply finding the one server box that gave them the most bang for the buck at the instant they were shopping. Specializing on a vendor will often give you the opportunity to develop a relationship with your sales rep, which has a lot of amazing benefits too (from better tech-support to better prices)