Chapter 11: Performance and Availability


The e-Business model is very different from the traditional models. Placing an e-Business application on the Internet means you have potentially millions of users, all around the world, operating at all times of the day. If this is extended to a Pervasive solution, it increases the complexity and requirements to support a good quality of the offered services.

This chapter discusses the non-functional requirements of performance, availability and scalability related to each component of a Pervasive Portal solution.

11.1 Concepts

The multi- tier model provides the separation of the presentation, business logic, persistence and integration components of an application, facilitating the scalability and implementation of availability and performance. As shown in Figure 11-1, these non-functional requirements complement the picture.

click to expand
Figure 11-1: Multi-tier model with high availability, performance and high availability

To understand these non-functional requirements, a brief description is provided below.

Availability

In IT, a system, application, or component that can be used is considered to be available . Availability is the measurement of the time during which the element is out of use, that is, experiencing an outage . Availability is usually expressed as a percentage of time the element is not out of service; the availability measure is calculated by subtracting the duration of the outage from the base time and dividing the results by the base. High availability is the term usually associated with the ability to run for extended periods of time with no (or minimal) unplanned outage. High availability refers to a system or component that is continuously operational for a desirably long length of time. Availability can be measured relative to "100% operational" or "never failing". A widely-held but difficult to achieve standard of availability for a system or product is known as "five 9s" (99.999 percent) availability.

To provide continuous availability, every element of the infrastructure must support continuous availability. The level of service delivered can be no higher than the availability of the weakest link. Improving one element to deliver near 100% availability while ignoring other elements does not provide as much benefit as a more balanced approach. The total availability of an infrastructure is calculated by multiplying the availability values of all components. In Figure 11-2, the availability of the entire solution is 93%. The value of each node does not represent reality; these are only samples.

click to expand
Figure 11-2: Availability chain

Performance

Performance has three definitions:

  1. The speed at which a computer operates, either theoretically (for example, using a formula for calculating Mtops - millions of theoretical instructions per second) or by counting operations or instructions performed (for example, millions of instructions per second (MIPS)) during a benchmark test. The benchmark test usually involves tasks that attempt to imitate the kind of work the computer does during actual use.

  2. The total effectiveness of a computer system, including throughput, individual response time, and availability.

  3. In a transactional system, how long it takes to get a response to a request.

Scalability

Scalability is the capability of a system or component to adapt readily to a greater or lesser intensity of use, volume, or demand while still meeting business objectives such as acceptable levels of performance and availability. There are two types of scalability:

  • Vertical - In terms of hardware, this is achieved by adding more power to the hardware, like CPUs, memory, etc. The advantage of this type of scalability is the use of the same system running on the same hardware, only with more power. It is important to check that the system supports and recognizes all the power features added. The disadvantages are that the scalability is limited to the hardware growth capability and the solution support for that growth.

    In terms of a Web application, vertical scaling provides a straightforward mechanism for creating multiple instances of an application server, and hence multiple JVM processes.

  • Horizontal -In terms of hardware, this is achieved by adding more hardware equipment in parallel to support the load. For this type of solution, a load balance component is required to distribute the requests between each piece of equipment that is running the solution. The advantage of this type of scalability is the endless growth achieved by adding new hardware and the possibility to use less powerful machines. If there are at least two machines attending the requests , it will improve the availability, because if one fails, the other can assume the workload and also improve the performance since there are more machines attending the load. The disadvantage is that some solutions do not support load balancing.

    In terms of a Web application, in horizontal scaling, clones of an application server are created on multiple physical machines. This enables a single application server to span several machines yet still present a single system image. Horizontal scaling can provide both increased throughput and failover support when compared to vertical scaling topologies.




Patterns. Pervasive Portals
Patterns: Pervasive Portals Patterns for E-Business Series
ISBN: 0738427772
EAN: 2147483647
Year: 2002
Pages: 83
Authors: IBM Redbooks

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net