Review Server & Software for Server

Review Server & Software for Server

Server Overview

In information technology, a server is an application, or device that performs services for connected clients as part of a client-server architecture. A server application, as defined by RFC 2616 (HTTP/1.1), is "an application program that accepts connections in order to service requests by sending back responses." Server computers are devices designed to run such an application or applications, often for extended periods of time with minimal human direction. Examples of d-class servers include web servers, e-mail servers, and file servers.

Server

Term usage in information technology
Server is an adjective in the term server operating system. A server operating system is intended, enabled, or better able to run server applications. The differences between the server version and the "workstation" version of an operating system vary. Sometimes (as in the case of Windows 2000 and Windows 2000 Server), the primary difference is the removal of arbitrary license-dependent limits on the number of network file share connections accepted. Some server editions include additional server applications bundled with the operating system. Some server applications (e.g. Microsoft 78900IIS) impose arbitrary limits on the number of HTTP connections they will accept, depending on whether they are running under a server operating system or not.

A server computer (often called server for short) is a computer system that has been designated for running a specific server application or applications. A computer that is designated for only one server application is often named for that application. For example, when Apache HTTP Server (software) is a company's web server, the computer running it is also called the web server. Server applications can be divided among server computers over an extreme range, depending upon the workload. Under light loading, every server application can run concurrently on a single computer. Under heavy loading, multiple server computers may be required for each application. Under medium loading, it is common to use one server computer per server application, in order to limit the amount of damage caused by failure of any single server computer or security breach of any single server application. Any server computer can also be used as a workstation, but it is avoided in practice, again to contain risk.

Server or server computer is also a designation for computer models intended for use running server applications, often under heavy workloads, unattended, for extended time. While any "workstation" computer can run server operating systems and server applications, a server computer usually has special features intended to make it more suitable. Distinctions often include faster processor and memory, more RAM, larger hard drives, higher reliability, redundant power supplies, redundant hard drives (RAID), compact size and shape, modular design (e.g., blade servers often used in server farms), rack or cabinet mountability, serial console redirection, etc.

 

The name server or server appliance also applies to network-connected computer appliances or "appliance hardware" that provides specific services onto the network. Though the appliance is a server computer, loaded with a server operating system and a server application, the user need not configure any of it. It is a black box that does a specific job. The simplest servers are most often sold as appliances, for example switches, routers, gateways, print servers, net modems.

A server is defined as a multi-user computer that provides a service (e.g. database access, file transfer, remote access) or resources (e.g. file space) over a network connection.

Server hardware
Although servers can be built from commodity computer components particularly for low-load and/or non-critical applications dedicated, high-load, mission-critical servers use specialized hardware that is optimized for the needs of servers.


A server rack seen from the backFor example, servers may incorporate “industrial-strength” mechanical components such as disk drives and computer fans that provide very high reliability and performance at a correspondingly high price. Aesthetic considerations are ignored, since most servers operate in unattended computer rooms and are only visited for maintenance or repair purposes. Although servers usually require large amounts of disk space, smaller disk drives may still be used in a trade-off of capacity vs. reliability.

CPU speeds are far less critical for many servers than they are for many desktops. Not only are typical server tasks likely to be delayed more by I/O requests than processor requirements, but the lack of any graphical user interface (GUI) in many servers frees up very large amounts of processing power for other tasks, making the overall processor power requirement lower. If a great deal of processing power is required in a server, there is a tendency to add more CPUs rather than increase the speed of a single CPU, again for reasons of reliability and redundancy.

The lack of a GUI in a server (or the rare need to use it) makes it unnecessary to install expensive video adapters. Similarly, elaborate audio interfaces, joystick connections, USB peripherals, and the like are usually unnecessary.

Because servers must operate continuously and reliably, noisy but efficient and trustworthy fans may be used for ventilation instead of inexpensive and quiet fans; and in some cases, centralized air-conditioning may be used to keep servers cool, instead of or in addition to fans. Special uninterruptible power supplies may be used to ensure that the servers continue to run in the event of a power failure.

Typical servers include heavy-duty network connections in order to allow them to handle the large amounts of traffic that they typically receive and generate as they receive and reply to client requests.

The major difference between servers and desktop computers is not in the hardware but in the software. Servers often run operating systems that are designed specifically for use in servers. They also run special applications that are designed specifically to carry out server tasks.

Servers have a unique property where the more powerful and complex the system, the longer it takes for the hardware to turn on and begin loading the operating system. Servers often do extensive pre-boot memory testing and verification, along with starting up remote management services. The hard drive controllers then start up banks of drives in sequence so as not to overload the power supply with the sudden surge of everything turning on at once, then followed by RAID system prechecks for correct operation of redundancy. It is not uncommon for all these preboot hardware checks to take several minutes, but then for the machine to run continuously for over a year of uptime.

Server operating systems
Some popular operating systems for servers such as FreeBSD, Solaris, and Linux are derived from or similar to the UNIX operating system. UNIX was originally a minicomputer operating system, and as servers gradually replaced traditional minicomputers, UNIX was a logical and efficient choice of operating system for the servers. However, the market share of the Windows Server product line has been growing steadily, and has become the new top server operating system in revenue from sales, as of 2005.[1] However UNIX-based systems, many of which are free, are more popular.

Server-oriented operating systems tend to have certain features in common that make them more suitable for the server environment, such as the absence of a GUI (or an optional GUI); the ability to be reconfigured (in both hardware and software) to at least some extent without stopping the system; advanced backup facilities to permit online backups of critical data at regular and frequent intervals; facilities to enable the movement of data between different volumes or devices in such a way that is transparent to the end user; flexible and advanced networking capabilities; features (such as daemons in UNIX or services in Windows) that make unattended execution of programs more reliable; tight system security, with advanced user, resource, data, and memory protection, and so on. Server-oriented operating systems in many cases can interact with hardware sensors to detect conditions such as overheating, processor and disk failure, and either alert an operator, take remedial action, or both, depending on the configuration.

Because the requirements of servers are, in some cases, almost diametrically opposed to those of desktop computers, it is extremely difficult to design an operating system that handles both environments well; thus, operating systems that are well suited to the desktop may not be ideal for servers and vice versa. Regardless of OS vendor, system configurations that are ideal for servers may be unsatisfactory for desktop use, and configurations that perform well on the desktop may leave much to be desired on servers. As a result many operating systems have both a server and a desktop version released. Nevertheless, the desktop versions of Windows and the Mac OS X (also Unix-based) operating systems are used on a minority of servers, as are some proprietary mainframe operating systems, such as z/OS. The dominant operating systems among servers continues to be UNIX versions and clones.

The rise of the microprocessor-based server was facilitated by the development of several versions of Unix to run on the Intel x86 microprocessor architecture. The Microsoft Windows family of operating systems also runs on Intel hardware, and versions beginning with Windows NT have incorporated features making them suitable for use on servers.

Whilst the role of server and desktop operating systems remains distinct, improvements in both hardware performance and reliability and operating system reliability have blurred the distinction between these two classes of system, which at one point remained largely separate in terms of code base, hardware and vendor providers. Today, many desktop and server operating systems share the same code base, and differ chiefly in terms of configuration. Furthermore, the rationalisation of many corporate applications towards web-based and middleware platforms has lessened the demand for specialist application servers.

Servers on the Internet
Almost the entire structure of the Internet is based upon a client-server model. High level Root name servers, ISP (Internet Ssrvice Providers) DNS servers (Domain Name Servers) and routers direct the traffic on the internet. Many millions of servers are connected to the Internet and run continuously throughout the world.

Among the many services provided by Internet servers are: the Web; the Domain Name System; electronic mail; file transfer; instant messaging; streaming audio and video, online gaming, and countless others. Virtually every action taken by an ordinary Internet user requires one or more interactions with one or more servers.

There are also technologies that operate on an inter-server level.

Servers in daily life
Any computer or device serving out applications or services can technically be called a server. In an office or enterprise environment, the network server is easy to identify. A DSL/Cable router is a server as it provides a computer with application services such as assigning an IP address (via Dynamic Host Configuration Protocol, DHCP), and Network Address Translation (NAT) services which is the firewall that protects a computer from the internet. iTunes software is a music server for MP3 players. Shared printers or folders on a computer use it as a server. These instances can cause security problems for home users. Wireless access points, if not properly secured, can also serve out a network connection to those within range who may then be able to access previously shared data. This is why securing wireless networks has become important of late Many private servers are around for such online games as Everquest, Everquest II, GunZ: The Duel, World of Warcraft, Counterstrike etc

Server Linux

Linux Virtual Server

Linux Virtual Server (LVS) is an advanced load balancing solution for Linux systems. It is an open source project started by Wensong Zhang in May 1998. The mission of the project is to build a high-performance and highly available server for Linux using clustering technology, which provides good scalability, reliability and serviceability.

The major work of the LVS project is now to develop advanced IP load balancing software (IPVS), application-level load balancing software (KTCPVS), and cluster management components.

IPVS: is an advanced IP load balancing software implemented inside the Linux kernel. The IPVS code was already included into the standard Linux kernel 2.4 and 2.6.
KTCPVS: implements application-level load balancing inside the Linux kernel, currently under development.
Users can use the LVS solutions to build highly scalable and highly available network services, such as web service, email service, media service and VoIP services, and integrate scalable network services into large-scale reliable e-commerce or e-government applications.

The LVS solutions have already been deployed in many real applications throughout the world.

Proxy server

In computer networks, a proxy server is a server (a computer system or an application program) which services the requests of its clients by forwarding requests to other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server. The proxy server provides the resource by connecting to the specified server and requesting the service on behalf of the client. A proxy server may optionally alter the client's request or the server's response, and sometimes it may serve the request without contacting the specified server. In this case, it would 'cache' the first request to the remote server, so it could save the information for later, and make everything as fast as possible.

A proxy server that passes all requests and replies unmodified is usually called a gateway or sometimes tunneling proxy.

A proxy server can be placed in the user's local computer or at specific key points between the user and the destination servers or the Internet.

Caching proxy server
A proxy server can service requests without contacting the specified server, by retrieving content saved from a previous request, made by the same client or even other clients. This is called caching. Caching proxies keep local copies of frequently requested resources, allowing large organizations and Internet Service Providers to significantly reduce their upstream bandwidth usage and cost, while significantly increasing performance. There are well-defined rules for caching. Some poorly-implemented caching proxies have had downsides (e.g., an inability to use user authentication). Some problems are described in RFC 3143 (Known HTTP Proxy/Caching Problems)

Web proxy
A proxy that focuses on WWW traffic is called a "web proxy". The most common use of a web proxy is to serve as a web cache. Most proxy programs (e.g. Squid, NetCache) provide a means to deny access to certain URLs in a blacklist, thus providing content filtering. This is usually used in a corporate environment, though with the increasing use of Linux in small businesses and homes, this function is no longer confined to large corporations. Some web proxies reformat web pages for a specific purpose or audience (e.g., cell phones and PDAs).

Access control: Some proxy servers implement a logon requirement. In large organizations, authorized users must log on to gain access to the web. The organization can thereby track usage to individuals.

Server Proxy

Anonymizing proxy server
An anonymous proxy server (sometimes called a web proxy) generally attempts to anonymize web surfing. These can easily be overridden by site administators, and thus rendered useless in some cases. There are different varieties of anonymizers.

©2007 www.ERPSoftwareBusiness.com