The 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 to the equation allows developers to still apply the “fast” portion of that mantra while also experiencing a higher likelihood of success.
Fail fast, but fail better
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 (APM) can help. Instead of simply assuming that software will behave as intended upon deployment, APM provides developers with the functionality to find out, offering realistic feedback loops that better simulate the real-world conditions in which the app is intended to operate.
However, in order to maximise the benefits of APM 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. APM offers more assurances that end-users will operate apps as intended.
Avoid bugging your users
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 APM in the staging environment, where engineers try to simulate load and understand performance before it goes live, will ensure an app passes load tests and does not buckle under pressure.
With the right APIs, the process of collecting, sharing, and analysing performance data during testing and into production can virtually be automated as well, helping expedite processes and ensure releases perform optimally.
Get to the root of issues
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, consist 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 don’t 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 MTTRs (mean-time to resolution).
Learn to spot success
Finally, it is important to remember that unless your app 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 APM tools can also help you understand user behaviour patterns with your software across releases. More specifically, they help you determine what features are most popular, how they are performing, and how they impact productivity or revenue. So, from inception to reception, APM can speed up the development process, increasing the efficiency of both DevOps teams and the wider business.
Sourced by Paul Griffiths, senior director, Advanced Technology Group, at Riverbed Technology