Choosing a server is a major decision that is often time-consuming and costly. Wrong decisions can lead to undesirable consequences. In this article, we'll first talk about some issues to consider when planning, and then move on to discuss how to choose between Windows and Unix.
Planning considerations
When selecting a server, a key consideration is determining what operating system to use. Here are a few things to consider:
Will the server be added to an existing server/computer environment?
What limitations does existing or selected applications impose on OS selection?
Adding servers to an existing environment often means that the new servers must use the same operating system as the existing servers because of application constraints and the limited skills of existing operators.
If new applications are required, software vendors may require or strongly recommend the use of a specific OS.
Windows vs. Unix and Linux
Unless you have to use a proprietary OS (such as OS/40 or Z/OS on some IBM systems, or even Novell's Netware), you generally have three choices: Windows, Linux, or Unix. The Unix mentioned here includes all Unix systems provided by system manufacturers, such as IBM's AIX, Hewlett-Packard's HP/UX or SUN's Solaris. Likewise, there are some options for Linux systems.
The first choice is whether to use Windows or an extended family of Unix or Linux. As mentioned above, sometimes you may be forced to use a certain operating system, but if you have the freedom to choose, it is best to compare products based on their standards in terms of scalability, robustness, and cost of use.
How many clients must the server support?
The first basic step in server selection is determining how many simultaneous clients the server must support. Different applications use different amounts of server resources, and this information is needed when configuring the server.
Whatever the number of these clients and applications, it is the initial number. Over time, business activities increase, or computer-based activities increase. This natural growth makes system scalability particularly important.
Scalability is a measure of a system's ability to be upgraded in different aspects, including processing power, storage capacity, main memory size, and network connectivity and bandwidth. A system that can be expanded is a cheaper, less disruptive option than replacing it with a larger system.
Scalability is critical, but there is currently not much information on how to reasonably estimate the scalability of a server system, and there are no practical empirical methods. Furthermore, there are no established testing standards for measuring scalability.
It's important to note that an OS that has been tested, tried, and retested over time has better functionality. Especially for multi-processor operating systems, older operating systems often provide better features than newer systems.
What applications must be supported?
When considering which OS is best for your app, it's a good idea to divide the apps into four broad categories:
File, print or communications server
database server
application server
Compute intensive server
This classification does not mean that applications of different types cannot exist on the same server at the same time. However, systems with different uses can easily reach their limits because it is difficult to prioritize resource allocation among different classes of applications unless a resource manager is used.
To assess a client's resource usage, first figure out which clients use each application. Each application may require a different combination of resources from the server.
Nature of work
The next issue to address is the working nature of server support. Will it be used for business-critical applications, workgroup, department-wide or enterprise-wide applications, or other applications?
A server can be dedicated to a workgroup, a department, or a number of applications within an entire company. Obviously, deploying all required applications to the same server seems to save costs, but this will increase the vulnerability of the system, because once one application causes the system to crash, all applications will stop functioning.
We have also mentioned before that when a server is running an uneven workload, it is difficult to balance the resource needs of various applications. Although there are applications that can solve this resource allocation dilemma, the problem is still difficult to solve.
Generally speaking, it is best to deploy multiple servers, each dedicated to one or a small subset of activities. In this way, the vulnerability of the system can be reduced, because if you have multiple servers, if one server fails, you can also transfer the work to other machines. The use of server redundancy is the basis of high availability systems.
[Cut-Page]
financial problems
While the purchase cost of servers and necessary software is obviously a large component of the total cost, we also strongly recommend evaluating the total cost of ownership (TCO) when making purchasing decisions.
TCO includes direct costs and indirect costs.
Major direct costs include:
Software and hardware purchase costs
Operate and manage systems
Application development, support and communications
Electricity costs to run and cool the system
System space cost
Indirect costs are more difficult to quantify and include the cost of system downtime. Downtime costs include not only the costs of dealing with system unavailability (such as lost productivity), but also the soft costs of unavailability. Due to system outage, customers or suppliers are suddenly unable to do business with you and may turn to your competitors.
When a system is down or slow to respond, users may be unable to do anything but wait for the system to recover. More often, they may talk to each other and ask for help to solve the problem. In either case, they spend time and resources figuring out how to do it, which also adds to the company's costs.
There are benchmarks to follow when comparing system price and performance. But since these benchmarks measure servers in specific ways, your usage is likely to be different. Although the resulting benchmark numbers are real, care must be taken when using them. It is recommended that these benchmarks be used only as an indication or to filter through a large number of possibilities. Never make a purchasing decision based on these benchmarks alone.
Systems that scale well are much more expensive than those that don't. But when your servers can't run the necessary workloads, it's often cheaper to buy the more computing power you need than to upgrade and replace the system.
financial problems
While the purchase cost of servers and necessary software is obviously a large component of the total cost, we also strongly recommend evaluating the total cost of ownership (TCO) when making purchasing decisions.
TCO includes direct costs and indirect costs.
Major direct costs include:
Software and hardware purchase costs
Operate and manage systems
Application development, support and communications
Electricity costs to run and cool the system
System space cost
Indirect costs are more difficult to quantify and include the cost of system downtime. Downtime costs include not only the costs of dealing with system unavailability (such as lost productivity), but also the soft costs of unavailability. Due to system outage, customers or suppliers are suddenly unable to do business with you and may turn to your competitors.
When a system is down or slow to respond, users may be unable to do anything but wait for the system to recover. More often, they may talk to each other and ask for help to solve the problem. In either case, they spend time and resources figuring out how to do it, which also adds to the company's costs.
There are benchmarks to follow when comparing system price and performance. But since these benchmarks measure servers in specific ways, your usage is likely to be different. Although the resulting benchmark numbers are real, care must be taken when using them. It is recommended that these benchmarks be used only as an indication or to filter through a large number of possibilities. Never make a purchasing decision based on these benchmarks alone.
Systems that scale well are much more expensive than those that don't. But when your servers can't run the necessary workloads, it's often cheaper to buy the more computing power you need than to upgrade and replace the system.