Sie sind auf Seite 1von 8

IBM Global Services

Designing performance into your


Web-based applications

A demanding Internet environment


Key Topics How certain are you that your enterprise’s Web-based applications are designed to
meet the demands of your employees, vendors, business partners and customers?
Addressing and meeting How do you measure the potential losses — in terms of productivity, ineffective
performance objectives communication and lost revenue — when your customers click to another Web site?

Performance engineering In today’s environment, timely Web response and availability can mean the differ-
ence between leading or trailing the industry. Whether your Web applications
Modeling and testing support your internal business functions or a dynamic Internet client community,
successful Web-application design will focus on addressing and meeting specific
Developing application performance objectives.
templates
Due to the rapid growth of the Internet, the development life cycle of Web appli-
Acquiring the right skills cations has been greatly compressed. Many applications were developed simply
to demonstrate a new technology or capability. In some cases, they have become
fully functional production applications supporting new business capabilities. Yet
because of the origins of these applications, performance issues were not under-
stood or addressed until the testing or delivery phase. Weekly press articles
highlight the “war stories” of several major Web application rollouts that either
were unable to attain their response-time objectives or failed to meet large surges
in demand.
The key lesson to learn from these unpleasant stories is that you need to design
performance into an application from the beginning at the conceptual design
phase. A focus on performance itself is not sufficient. Successful deployment
involves performance engineering. Performance engineering helps ensure good ap-
plication design and development and enables the inclusion of performance
principles and practices from start to end. Using information from several systems
management processes provides quantifiable data to measure the implications
of architectural and application logic changes.

Figure 1. Performance engineering focuses key processes


on application performance.

IT operations Application
• Performance development
management life cycle
• Capacity • Testing
management • Modeling

Performance
engineering

A standard approach to performance engineering


For complex business applications, employ each activity of performance engineer-
ing for thorough planning. The activities related to the performance engineering
process are detailed in Figure 2. These activities, which must be performed at each
major stage in the application development life cycle, include:

1. Model: A model represents an application’s key logic flows, and describes


the expected flow of messages through the entire application from end to end.
Creation of an application logic model is facilitated by creating use cases and
message sequence diagrams.

2. Test: Conduct tests to capture empirical data, which can be used in the model for
key application logic flows. When test data isn’t available (such as during an early
life-cycle phase), use reasonable estimates based on comparable applications
or experience.

2
Figure 2. Cycle of performance engineering activities

1. Model

4. Recalibrate 5. Conduct 2. Test


performance
analysis

3. Validate
assumptions and
scenarios

3. Validate assumptions and scenarios: Along with the model’s representation of


the application logic, you need a set of scenarios that reflect expected business
and application transaction volumes. Test and revisit these scenarios at each
phase of the life cycle.

4. Recalibrate: When running models, you may uncover new insights regarding an
application’s performance behavior. As test data comes in, you may also need
to recalibrate to better reflect the environment.

5. Conduct performance analysis: Each activity involves the review and analysis
of performance data to learn about the application, develop ways to improve
performance or design alternative means for delivering the function faster.

The performance engineering goal at each stage of application development


is to better understand an application’s performance behavior and the effects of
various application-logic and architecture options. Performance engineering, like
capacity planning, employs an evolutionary approach. As an application is devel-
oped, you gain more information about its characteristics and target environment.
This information helps you develop recommendations and make improvements
prior to the application’s release.

3
Modeling is a key process of performance engineering and is used to understand
the behavior of an application in different operating environments and implementa-
tions. Following are three levels of modeling used in this process, as seen in Figure 3.

Figure 3. Three levels of modeling

Enterprisewide

IT component
Level of
modeling

Application logic

Initiation Design Development Test Transition Production

Application Development Life Cycle phases

Use the application logic model as early as the conceptual design phase. Once
the basic logic of the application and the key IT components (i.e., servers, network,
database) are known, you can then create a model representing the application
and use it to perform what-if scenarios. This process helps you examine application
performance under various conditions.

The IT component model explores in detail the application’s effect on a particular


IT component, such as a database or an application server. Using the application
logic model identifies the application’s “hot spots,” critical points of high demand.
An understanding of these points identifies the specific components which should
be modeled.

Toward the end of the development life cycle, the enterprise model uses what you
now know about the overall target environment, and helps you understand how this
application performs with shared IT components and resources. The model results
show the effect of other applications, as well as different load volume stresses on
the developed application.

4
Logic templates enable quick development
The Web environment poses new challenges to the performance engineering pro-
cess by requiring that design choices be made quickly and accurately within a very
compressed development life cycle. This change is driven both by the development
of new business applications and the transition of legacy applications to the Web.
The typical cycle of modeling, testing, validating and recalibrating shown in Figure 2
in many cases is unaffordable and too lengthy to support these rapid changes.

However, there is a new approach that addresses these issues. The first step
requires that you develop an overall, generic, systemwide model of your current
Web environment. Next, you design a series of application logic templates that
reflect the top ten application logic flows that you expect to use for the new applica-
tions. This assumes that these top ten logic flows are supported by a well defined
reference architecture.

Once these steps are completed and documented, you can quickly model new
applications, providing that they map closely to one of the initial application flows.
New application development requires a few hours with a performance engineer
to describe the basic logic flow of the proposed application and map it into one
of the modeling templates. You can then conduct a series of “what-if” analyses to
determine whether the application will perform to expectations. This approach
enables analysts to implement modeling and produce performance results in hours
instead of weeks. In a Web application environment, where actual development may
only take two weeks, this greatly improves your ability to plan for performance.

The benefits of this approach can only be realized by investing in the time and
effort necessary to develop the overall model and prototypes. The payoff is rapid
turnaround in modeling application logic and architecture choices, based on the
information you have gathered.

Template-based modeling is an effective way to obtain the benefits of performance


engineering in a Web development environment. The results can help ensure that
business-critical applications perform well on the first day of production, while
continuing to support a rapid application development cycle.

5
The skills of a performance engineer
Implementing a quick or standard approach to Web-application performance engi-
neering requires the skills of an analyst with experience in several competencies.
Performance engineers are multitalented IT architects. They must be as savvy in
current application technologies as they are in capacity planning, modeling and
performance tuning. This unique combination of skills makes for an effective perform-
ance engineer, who can quickly capture and identify the performance impact of
application design and architecture choices. Typical job responsibilities are included
in the following job description:

Performance engineers — A challenging and never-ending job

• Provide application performance design advice to developers, architects and


technical support people who are involved in the design and deployment of
the application
• Ensure that good performance design principles and practices are applied
by developers throughout an application’s development life cycle
• Develop guidelines, checklists and acceptance criteria for performance
walkthroughs, code reviews and performance tests
• Conduct performance walkthroughs
• Design, build, test, execute and validate application performance models.

6
Summary
As Web applications expand to support e-business transactions and effective
communications, performance engineering processes can help you effectively
meet the growing demands of users. You may choose to implement a standard
approach for more complex and strategic projects, and a template-based approach
for projects that have quicker implementation requirements. Whatever choice you
make, the return on investment in performance engineering can result in more satis-
fied users, increased availability of business functions and reduced risk of losing
valuable customers.

For more information


For more information on IBM Performance Management and Capacity Planning
Services, call 1-800-426-4682 (in the U.S.), and 919-301-4141 (from outside the U.S.).
You can also send an e-mail to us at capacity@us.ibm.com.

7
© Copyright IBM Corporation 2000

IBM Global Services


Route 100
Somers, NY 10589
U.S.A.

Produced in the United States of America


06-00
All Rights Reserved

IBM and the e-business logo are trademarks or


registered trademarks of International Business
Machines Corporation in the United States, other
countries, or both.

Other company, product and service names


may be trademarks or service marks of others.

References in this publication to IBM products


and services do not imply that IBM intends to
make them available in all countries in which
IBM operates.

IBM Integrated Technology Services organization


in the United States, part of IBM Global Services,
design and development of services offerings,
has successfully achieved registration to the
ISO 9001, 1994 international quality standard.

G563-0337-00

Das könnte Ihnen auch gefallen