Building Blocks   «Prev  Next »
Lesson 4 Building the server
ObjectiveIdentify the considerations for selecting or building a server.

Selecting | Building Server (Considerations)

What may be surprising to many of those who are new to Information Technologies (IT), is that the hardware on which you implement an eBusiness solution is likely to be only a small portion of the cost of the solution. It is therefore important that cost should not be the primary factor that influences the choice of hardware.
Information Technologies: Concerned with all aspects of managing and processing information, especially within a large organization or company. Because computers are central to information management, computer departments within companies and universities are often called IT departments. Some companies refer to this department as IS (Information Services) or MIS (Management Information Services).

Selecting the Correct Server Hardware

The key to selecting the right server hardware and software is in the planning and testing. Some IT managers believe that you should simply purchase the biggest and fastest machine with the longest specification sheet that your budget will permit. This may work in some cases, but it is certainly not a guaranteed winning strategy. In addition, the server is not just about the computer on which the prime application resides; it is more likely to be a complex combination of computers, operating systems, and the mechanisms that link them together and to the clients they will be serving.

Considering Server Components

The following components need to be considered for each server involved:
  1. The server hardware requirements
  2. The operating system
  3. Web server software (for solutions based on a Web interface) and any required extensions
  4. Commerce server software with commercial transaction support (shopping baskets, secure payment systems, and so on)
  5. Database server software
  6. Server Management suite
  7. Archiving hardware and software
  8. Email support software and/or groupware server software

Scalability

Scalability is perhaps the most important issue when you are specifying the server requirements. The architect must consider the solution's ability to handle the user load now and in the future. As we have mentioned before, it is not the architect's role to get involved in the "nitty-gritty" tactical details, such as the amount of RAM or the disk space required. However, the architect will need to come up with a comprehensive plan and list the required components, along with their present and future capabilities.

Server clusters

The server hardware may not be a single machine but instead a "server cluster", such as Microsoft Cluster Server (MSCS).
For example, there may be several server machines or clusters, each performing different functions such as database servers, application servers, Web servers, development servers, and so on. These may be in different locations. It is very important that the connections between servers not become bottlenecks or security loopholes.

Server cluster and parallel processing

In a server cluster, two or more machines are connected together, and behave like a single machine so that they can perform parallel processing. Parallel processing is a technique where either several CPUs (Central Processing Units) in a single machine, or in the case of a server cluster, one or more CPU's in multiple machines, each take the responsibility of processing requests to the server.
This increases the performance of the servers, and provides the capability to perform load balancing. With load balancing, a server becomes more scalable and can share the requests it receives from clients with the other servers in the cluster. This also provides for fault tolerance functionality .
A server cluster is particularly useful for a site that either requires a large amount of up-time/availability or a lot of scalability. The following FlipBook looks at a specific example of this issue.
Fault tolerance functionality: The ability of a system to respond gracefully to an unexpected hardware or software failure. There are many levels of fault tolerance, the lowest being the ability to continue operation in the event of a power failure. Many fault-tolerant computer systems mirror all operations -- that is, every operation is performed on two or more duplicate systems, so if one fails the other can take over.

1) Server cluster 1 2) server cluster 2 3) Server cluster 3 4) server cluster 4 5) Server cluster 5

Server Cluster Parallel Processing

Outsourcing servers

In some cases, it may prove best to outsource the servers. There are Internet Service Providers ISPs [1], Application Service Providers[2] , and other technology partners who can lease a server or part of a server farm to provide all or part of your enterprise's server requirements. The primary advantage to outsourcing the server is that the responsibility for maintaining and keeping the server up-to-date becomes the responsibility of the technology partner. We discussed these issues in more depth in a previous module.
In the next lesson, you will learn about considerations for the client-end of eBusiness.

Building Server - Exercise

Click the Exercise link to complete an exercise on identifying the considerations for selecting or building a server.
Building Server - Exercise

[1] Internet Service Provider(ISP): An organization that provides access to the Internet. Small Internet service providers (ISPs) provide service via modem and ISDN while the larger ones also offer private line hookups (T1 or fractional T1). Customers are generally billed a fixed rate per month, but other charges may apply. For a fee, a Web site can be created and maintained on the ISP's server, allowing the smaller organization to have a presence on the Web with its own domain name.
[2]Application Service Provider: Application Service Providers are third-party entities that host (manage and distribute) software-based services and solutions to customers across a wide area network from a central data center. Do not confuse this acronym with Active Server Pages (ASP). ASP is a form of applications outsourcing.