Availability Guide for Application Design

Availability Guide for Application Design525637-004
10-1
10 Designing Applications for
Change
Upgrading an application can be a time-consuming effort for several reasons:
Significant changes in strategic or design requirements can delay completion of an
upgraded application for months or years. Delayed completion can lead to reduced
application availability when the existing version of the application has insufficient
capacity for its users or does not support urgently needed new features. By
allowing for future changes in strategic or design requirements in your initial
application design, you can reduce the delay required for future upgrades or even
remove the delay entirely.
Once the coding is completed, the rollout of an upgrade often requires a major
reconfiguration effort. For most application designs, upgrade requires that the
application be brought down, sometimes for several hours. By allowing for future
upgrades in your initial application design, you can reduce the downtime required
for future upgrades or even remove the need to bring the application down at all.
This section provides some guidelines on how you can reduce or eliminate reduced
application availability and downtime caused by an application upgrade. Note,
however, that no technique or product option alone will guarantee uninterrupted
availability. Each technique must be carefully applied, with consideration given to the
kinds of change you anticipate and to how those changes affect the way your
application works.
This section presents the following information:
Preparing for Future Changes discusses some general program-design techniques
that will help to make later upgrades easier.
Changing a NonStop TS/MP Application on page 10-24 provides some specific
guidelines on how to design a client/server or requester/server application for ease
of upgrade.
Changing a NonStop SQL/MP Program or Database on page 10-27 provides an
overview of the techniques you can use to eliminate or reduce application
downtime when upgrading a NonStop SQL program or making structural changes
to the database.
Preparing for Future Changes
Many techniques that can help design applications that you can upgrade with little or
no application downtime simply involve using basic structured programming
techniques. These techniques and other techniques that aid availability during
application upgrade include:
Considering portability requirements
Isolating data from the application