Applications behave
differently over a real-world WAN then they do on a development or lab
LAN. Latency, packet loss, jitter, bandwidth contention and other WAN
characteristics all impact the delivery of IT services to the end-user.
Unfortunately, developers
rarely consider these factors when they first build an application. They
focus instead on issues such as application functionality and interface
design. Only after they have tackled these issues do they consider the
performance of the application on the network.
Addressing network
performance problems in an application so late in the game often is
difficult or impossible. Design and coding approaches are usually too
entrenched at that point to be changed. As a result, companies may wind
up trying to redesign the network to suit the application. That usually
means adding more bandwidth, but not all problems can be overcome with
raw bandwidth alone.
These problems can be
exacerbated in an offshore situation. Distances are greater and
bandwidth is more expensive. More network "hops" usually are involved,
which can create more latency and bandwidth contention issues. Last-mile
links may also be limited.
Three principles are
important in developing an application-testing strategy:
Fully
Capture Attributes Of Your Existing WAN Infrastructure
Effective preproduction testing of business applications requires
accurate emulation of the full WAN environment where the application
will be deployed. Any technology should be able to take a "snapshot"
of your WAN as it exists today and duplicate those characteristics
in the testing environment.
A WAN emulation solution
should automate this process, ensuring the accuracy of the WAN model,
while keeping the time and cost associated with creating the model as
low as possible. Such a solution should also enable the creation of
"what-if" scenarios, to assess the potential impact that changes in the
network-such as increased traffic or additional remote offices-may have
on application performance.
Test Early
And Often The later testing starts, the
more development work will have to be redone in the event a problem
is discovered. An emulation environment should remove any obstacles
that might otherwise deter developers from troubleshooting network
performance at every appropriate point in the development process.
The emulation environment also should make testing vendors' packaged
applications easier.
Get Actionable
Data Determine the root cause of functionality and performance
problems so they can be remedied. Developers need a solution that is
as intuitive and automated as possible.
Network-savvy developers
should be given the option to do more sophisticated functionality and
regression testing in the emulated environment. This will provide
further protection against deployment problems and will optimize the
quality of production code.
About Yigal
Gafni: Yigal Gafni is the Director of Customer Services for Shunra Software.
About Shunra
Software:
Shunra Software delivers application delivery assurance solutions for
software developers, QA professionals, and performance and networking
managers - empowering them to build distributed applications that
function properly and perform to specifications right from the start. |