EXPERT SPEAK
Stress testing your
DevOps environment
Charbel Khneisser, Regional Presales Director
METNA, Riverbed.
T
he digital transformation process
driving growth in today’s cutting-
edge enterprises, owes much of
its success to applications, and DevOps
continuous delivery practices play a key role
in the delivery of that new software. Yet,
according to new research by Enterprise
Management Associates EMA, 70% of
companies still rely on primarily siloed,
manual troubleshooting practices when
addressing application performance issues.
Why is this a problem? Well, those
same organisations report that such
troubleshooting practices are the primary
factor slowing the continuous delivery
pipeline, which is contrary to the DevOps
credos of accelerated development,
increased automation, and frequent, high-
quality releases.
One of the main philosophies
underpinning DevOps is fail fast, fail
often, and as a result, not every release
can be expected to be perfect. However,
introducing performance monitoring
tools into the equation allows developers
to still apply the fast portion of that
mantra while also experiencing a higher
likelihood of success.
A common stumbling block during
the application development process is
the unknown factor that a real-world
scenario represents. An application
may work perfectly well in isolation or
for demonstration purposes, but then
fail or dramatically slow down when
implemented in a real-world environment.
This is where Application Performance
Management can help. Instead of simply
assuming that software will behave as
intended upon deployment, Application
Performance Management provides
With user experience now a critical success factor, developers can
no longer ignore stress testing their applications before go-live,
elaborates Charbel Khneisser at Riverbed.
developers with the functionality to find out,
offering realistic feedback loops that better
simulate the real-world conditions in which
the application is intended to operate.
However, in order to maximise the
benefits of Application Performance
Management in the context of DevOps,
a shift in mentality is required. DevOps-
oriented teams should focus on quality
earlier in the lifecycle. After all, quickly
getting new features into users’ hands
means very little if they ultimately
become frustrated with the new release,
or otherwise fail or refuse to use it.
Application Performance Management
offers more assurances that end-users will
operate applications as intended.
Speeding up development and release
cycles to get the newest features into
the hands of users means very little if
those features are buggy. Moreover,
underperforming features not only
frustrate users, but they are costly to
fix. According to IBM, resolving bugs in
production is 15x more expensive than
fixing them during testing.
Detailed performance diagnostics can
help identify and resolve bugs early in the
development lifecycle and keep developers
focused on coding, rather than constantly
recreating flawed test scenarios. Using
Application Performance Management in
the staging environment, where engineers
try to simulate load and understand
performance before it goes live, will ensure
an application passes load tests and does
not buckle under pressure.
The increasingly complex nature
of today’s application environments
means that even with thorough testing,
performance issues will still occur during
production. Apps can span on-premise and
cloud-based resources, consisting of short-
lived components like containers, and
often need to scale up and down quickly.
This is compounded by increased rates
of code changes, which, if not properly
managed, only increase the likelihood of
service interruptions.
Unfortunately, traditional approaches
to performance monitoring are comprised
of disjointed tools that do not talk to one
another, and this can make it very difficult
to pinpoint the root cause of an issue. As a
result, problems persist much longer than
they otherwise should.
However, a fully integrated toolset
comprised of continuous, full-stack
monitoring, unified dashboards and
integrations with popular collaboration
tools, should offer DevOps teams a holistic
view of users’ experiences, resulting in
much shorter mean-time to resolution.
Finally, it is important to remember
that unless your application is useful
to and popular with its users, then
performance is almost an irrelevance. Any
new development must be aligned with
market needs and provide value to end-
users and the business.
The good news is that Application
Performance Management tools can
also help understand user-behaviour
patterns with software across releases.
More specifically, they help determine
what features are most popular, how they
are performing, and how they impact
productivity or revenue. So, from inception
to reception, Application Performance
Management can speed up the development
process, increasing the efficiency of both
DevOps teams and the wider business.
53