Confirm server specification

Overview

Image: Overview icon

This resource will help you to confirm server specification within an information technology environment.

In this topic you will learn how to:

  • Confirm server design with client
  • identify server hardware and software specifications
  • identify and evaluate server resources
  • compile system requirements

This topic contains:

  • reading notes
  • activities
  • references
  • topic quiz

As you work through the reading notes you will be directed to activities that will help you practise what you are learning. The topic also includes references to aid further learning and a topic quiz to check your understanding.

Download a print version of this whole topic: Confirm server specification (951 KB 2797.doc)

Readingnotes

Image: Reading notes icon

Confirm server design with client

The first step in building and configuring a server is to confirm that the information about the project is correct, current and that the client agrees with documented specifications and design. You will need to reconfirm with the client the role of the server, how it will function with the remaining IT infrastructure, and the required configuration. Before building, configuring and commissioning the server, the user, and functional and technical requirements must be agreed to and signed off by the client.

Functional requirements

Functional requirements capture the intended behaviour of the system. This behaviour may be expressed as a service, task or function that the system is required to perform.

A requirement document is comprehensive, detailing what is required of an installation to meet the business needs of the users. Such a document can run to considerable length and would normally be prepared by an IT analyst or project manager. The author of the functional specification should be able to speak the language of both business and IT.

The functional requirements documents are the ‘blueprint’ for the project implementation. Anything that is missed at the requirements gathering stage will appear near the end of the project, and just like building a house, if the plumbing design is wrong then it will be expensive and time consuming to correct.

Requirements issues

One of the first and most important activities to embark on when confirming server specifications is to confirm client needs and to ensure that they acknowledge that requirements have been captured correctly and sign-off on the requirements. This may sound easy, but in many cases it is not!

For example, how can a client (who often has limited knowledge of server architecture) indicate what they want if they have not seen a working prototype to assess?

In many cases, inexperienced clients advise the developer on what they want, when they may not really understand what is technically achievable. This issue can also be made more complex if the process occurs in an organisation that has rigid IT policies, which can raise numerous compatibility issues.

So one of the tasks in confirming client needs is to document the requirements.

This may include identifying or clarifying

  • the business case
  • what the client considers the project’s main objectives are, including the services that are to be performed
  • what IT infrastructure is already in place
  • basic specifications
  • conflicting or overlapping requirements
  • maintenance and backup requirements
  • bandwidth issues that may affect the project
  • role definition of parties involved
  • the nature of the data (eg text, multimedia)
  • security needs (eg levels of user access and privileges)
  • available support resources
  • costings.
Functional requirements specification

The functional specification describes what the system will do, as opposed to how it will be done. This distinction is important because

  • the client may not be interested in the details of how a function is implemented, and the technical details may simply cause confusion for the client
  • the implementation details may need to change during the design and development of the project
  • you don’t want to have to negotiate changes to the functional specification just to change details of implementation
  • the technical specification for large projects will be detailed in a separate document, and you should not entangle one with the other.

The language of the functional specification should be clear, concise and (as far as possible) non-technical. It is very important to attend to details in the functional specification. One misplaced word may commit a vendor company to develop extra functionality that was never intended and damage the profitability of the project.

Fixed requirements

Some requirements are fixed, and not derived from the ideal functionality that the product or system should possess. These are often in the form of constraints set by the client. For example

  • A client may require a particular database application.
  • The client may require the server to interact with a management system in a particular way.

Examples of functional requirements

Functional requirements describe the way in which the different components and functions in the solution will interact. They will clarify how the solution is going to work and how users can use it.

Next are some examples of the questions you might ask in order to determine the functional requirements of an IT system.

User requirements
  • How many users are expected to use the system?
  • How many people will be utilising the solution at one time?
  • Where the users will be located (eg overseas, interstate or at home?
Technical requirements
  • What types of computers/operating systems will the users operate?
  • Are their desktops all the same?
  • What bandwidth restrictions occur presently?
  • What security (login) will they need?
  • What backup policies need to be in place?
  • Who will have administration rights?
  • What will the business do if the system fails at any stage?
  • Who is the project sponsor?
  • What does management expect the system will do and won’t do?
Hardware
  • Compatibility: will the solution work with existing systems?
  • Support for proprietary formats: will the existing systems and architecture support all types of data?
  • Will the new system be supported by existing resources within the company?
  • What funding is available for new hardware?
  • What is the backup strategy? Has this been costed?
  • Does the system need to be redundant, load balanced or clustered?
  • Will there be time delays to purchase and install hardware?
  • Who will be building the server?
  • Are there other projects that you may be able to share hardware costs with?
Software
  • What is the true cost of the software?
  • Are there licensing issues? As the system is in development, should you pay for all the licensing now or when the system is in live mode?
  • Can the software be licensed for use by multiple users who use it on different machines? (Concurrent licensing)
  • How long has the software been on the market for?
  • What happens if the software company becomes insolvent? Who supports it?
  • Who owns the source code?
  • What happens if the source code is modified? Who supports the product then?
  • Does the solution work with all other company software systems?
  • If web-based, does the solution function on all common browsers?
  • If security is a concern, can the software be delivered in a ‘locked down’ format?
  • Does the software support all file formats?
  • Is the software easy to use, or are there major training issues/costs?

Activity 1

To practise, go to Activity 1 –Research future trends, in the Activities section of the Topic menu.

Stage sign-off

A project is divided into many stages. Each stage will have entry and exit criteria that must be met before the project can progress further. At the planning stage, the owner of the system or project steering committee must sign-off on stage exit criteria, which would include server design documentation. This then would trigger the start of the next stage of the project the development stage.

The exit criteria will normally state that the following items have been identified and agreed to:

  • server platforms
  • operating systems
  • applications
  • hardware and software limitations
  • client and developer responsibilities
  • privacy issues
  • initial timelines
  • budget
  • state and federal regulations.

Again, the major purpose of the sign-off is to prevent problems later in the project by not progressing until specific criteria is met. No one wants disagreement about aspects of the server at the end of the project. The sign-off process forces all issues to be laid out on the table and discussed.

You must ensure that a realistic blueprint is achieved in order to avoid confusion occurring late in the project cycle and help the final result to be a positive experience.

You should now have a clear understanding of the makeup of the server, the operating system, applications and hardware platform that is to be implemented. The next step is to identify products and vendor equipment to be used in the server.

Activity 2

To practise, go to Activity 2 – Confirm client requirements, in the Activities section of the Topic menu.

Identify specifications

Once requirements have been defined and client needs are clarified, it’s time to start thinking about identifying products that fit the solution. In this case, we need to focus on the possible server solutions. Remember: a server consists of

  • hardware
  • software
  • network connections.

There are different types of server designs that need to be considered when identifying equipment. The equipment chosen will depend on the role that server is playing in the organisation and how it will fill a gap in the organisation’s business processes.The gap has already been identified by an analysis of requirements and client needs, so the design must fulfil the identified gap.

Your component selection will be based on the server design. Server design can be broken down into two sections: the high level design and the low level design. The high level design looks at the overall functionality of the server and how it interacts with the organisation’s information system. It dictates how the server will interact with other systems and the server architecture. The server architecture describes the fundamental method in which clients access resources. There are multiple server architectures to choose from, including

  • mainframe architecture
  • file sharing architecture
  • client/server architecture
  • web based architecture
  • thin client architecture
  • blade architecture.

The server architecture chosen will have an impact on and influence the low level design. Low level design is concerned with the physical makeup of the server - how the individual hardware and software components function together and how each server subsystem interrelates and functions as a whole.

Identify vendor architecture

Each vendor in the marketplace supports specific platforms and server architecture. When selecting equipment for the server, you will need to consider the hardware and software platforms from each vendor. Hardwareplatform refers to the hardware components that make up the computer system, while softwareplatform refers to the operating system or programming language developed for the hardware. There are defined terms used in the IT industry to describe the types of platforms, including

  • Wintel
  • Lintel
  • Mac, Macintel
  • Mainframe
  • UNIX
  • Alpha AXP
  • Java
  • .Net.

The Wintel platform refers to a Microsoft Windows operating system (the Win in Wintel) that uses an Intel x86 or compatible processor. The Intel x86 or compatible reference refers to a small number of processor manufacturers that produce a computer processor that is compatible with the x86 instruction set. Some examples of x86 compatible processor manufacturers are Intel, AMD, VIA and Transmeta.

A Lintel platform refers to a Linux operating system that uses an Intel x86 or compatible processor.

A Mac platform (Apple Macintosh) refers to a computer system using Apple hardware and a Mac OS operating system. The current processor used in Apple hardware is produced by IBM and is the 64-bit PowerPC G5. However, in 2006 Apple moved to the x86 Intel hardware architecture (Macintel). Mac OS X ‘tiger’ is the current Mac operating system.

A mainframe platform refers to a large processing intensive computer system. The hardware and software architecture can vary depending on the manufacturer. An example of a mainframe computer is the IBM zSeries. The zSeries is a high-end IBM product that uses 64-bit architecture. The zSeries uses IBM multichip module processor and can be configured to use a maximum of 1728 processors. IBM uses virtualisation technology to run multiple operating systems on a single mainframe. This allows the flexibility to install operating systems that best support the provided service. Currently IBM holds more than 90 percent of an expanding mainframe market.

A UNIX platform refers to a computer system that uses the UNIX operating system, or a derivative, on a variety of hardware platforms. UNIX is able to run a variety of processors including x86, RISC and PowerPC. Over the years UNIX has evolved into many different proprietary and Open Source operating systems. Sun Solaris is an operating system based upon the UNIX SunOS Open Source operating system.

In modern computing we are no longer limited by the physical platform of computer systems. With the use of virtualisation technology we can have multiple platforms on the one physical machine. With the use of software like Virtual PC or VMware the boundaries of running one operating system per physical machine are removed. This makes the consolidation of multiple platforms onto one physical platform possible, reducing the overall cost and the flexibility to add capacity as needed.

Platform selection

Platform choice is an important consideration very early on in a project. Most projects cannot be changed midstream, as there are many different factors such as file formats and protocols that are fixed requirements. These often differ from platform to platform. It must be noted that development can be completed on virtually any platform; however, some are easier and more cost-effective than others.

There are many different types of server platforms designed to perform many types of functions. A server’s platform will mainly depend on the type of service provided. Some of the functions provided by a server are

  • mail services
  • web services
  • transactional processing services
  • streaming media services
  • remote access services
  • file storage and retrieval services
  • network access
  • application services.

Hardware and software specifications

Detailed information about server hardware is available from the server documentation and from the hardware manufacturer’s website. At a minimum, the server vendor will have a component list detailing what hardware is in the server. From this information, you can then do research on each specific hardware component and its compatibility with the software. Microsoft provides a Hardware Compatibility List that shows which hardware is compatible with windows server products. This can be found at the windows server catalog sitewhich can be found at Redhat also has a compatible hardware list at

Software purchased separately will be available from the vendor or manufacturer’s website.

Identify and evaluate resources

Identify server technologies

Information technology is constantly changing and improving at a high speed. Vendors are constantly pushing the boundaries of technology to gain an upper hand in the open marketplace. Faster, bigger, easier to manage, reduced cost, reduced TCO - all of these things are making technology change at an increasing rate. As a systems designer, you will need to weigh the benefits of one technology over another. Identifying and evaluating new technology requires a systematic and standardised process that can be applied across technology areas. Common hardware technologies are

  • processors
  • random access memory
  • storage
  • optical drive.
Processors

A computer processor manipulates data and instructions from a piece of software. There can be multiple processors in a server, with each processor having a particular role. The most important processor in a server is the central processing unit, or CPU. The central processing unit can be thought of as the brains of the server. Some common CPU architectures can be found at When evaluating, remember that processor factors such as address bus, internal registers, and clock speed will affect server performance.

Other processors in the server are referred to as the server chipset. The chipset connects the remaining server processors to the CPU and typically contains the front side bus (FSB), memory controllers, bus controllers, I/O controllers and power management, etc.

Motherboards

Just as important as selecting the CPU or chipset is the selection of the motherboard, sometimes called the systems board, mainboard or planner. Motherboards are selected by form factor, referring to the size and shape of the motherboard. Common classes of form factors are mini, tower, pedestal, and rack mounted. Universally acknowledged form factors include

  • ATX
  • MicroATX
  • BTX
  • MicroBTX
  • Server Systems Infrastructure Thin ElectronicsBay (SSI TEB)
  • ServerSystemsInfrastructureCompactElectronicsBay (SSI CEB)
  • ServerSystemsInfrastructureMidrangeElectronicsBay (SSI MEB)
  • Blade Servers.

Each form factor is designed to perform specific tasks and work at different loads. Some form factor designs cater for small loads and are single socket CPUs, while others are designed for large loads and use up to 8 CPU sockets. Most server motherboards have plenty of expansion slots and room for scaling up. When selecting the motherboard, make sure you are familiar with all the specifications and limitations.

Storage

Primary Storage

RAM is the primary storage of a computer and is used to hold program code and data during computation. RAM and the CPU have a major influence on server performance. The two main types of RAM are static RAM and dynamic RAM.Static RAM (SRAM) contains its contents as long as there is electrical power. Alternatively, dynamic RAM (DRAM) needs to be constantly refreshed to retain its data. SRAM is mainly used in CMOS while DRAM is used as main memory.