“Shift left” is a relatively new term that means activities and responsibilities are moving earlier in an application’s lifecycle (that is, moving left on the delivery chain).
The shift left concept has been applied to practices like security and QA. But its usefulness is not limited to those processes. This article discusses three reasons why application performance monitoring (APM) can be valuable earlier in the development cycle.
How APM impacts app performance in production
In today’s IT world where timelines are always under pressure to be shortened—testing, especially performance testing, is often one of the first areas to get bumped from the schedule, leaving operations (“Ops”) teams to deal with tracking down and diagnosing application performance issues.
APM tools have been invaluable for just this reason. With automated application component discovery, modeling, and display combined with deep-dive component monitoring and analytics, Ops teams have been able to provide development teams with detailed information that leads to rapid discovery and resolution of performance issues in production.
While there are many ways shifting these tools left will help, this article is going to cover three of the biggest reasons.
1. Tools finally exist for developers
Historically, APM tools have been used by and designed for IT operations. They have been great at monitoring applications and alerting someone about performance degradation. Some were better than others for pinpointing the root cause of problems.
Newer APM tools, like Retrace, were designed for developers. They combine application logging, errors, and detailed traces of what their code was doing. These details make it easy for developers to identify the exact root cause of performance problems with their applications.
2. Fewer performance issues make it to production
By utilizing APM tools in development and QA, many performance issues and bugs can be identified before they make it to production. Performance baselines can be set in QA and new builds can be compared to that baseline for potential problems.
Giving developers access to performance details, applications logs, and errors enable them to better troubleshoot and validate problems in QA environments.
Developers can also use tool like Prefix on their development machines to find problems in their code as they are writing their code.
It costs less money to fix a bug that is found in QA than in production. There is a significant ROI to find problems before they get to production.
3. Common toolset for the entire lifecycle
When development and Ops teams use the same toolset to track performance and pin down defects from inception to the retirement of an application, this provides a common language and faster handoffs between teams.
APM tools, like Retrace, can be used in development, QA, and production. This keeps everyone using the same toolset across the entire development lifecycle.
In a non-unified environment, each team would need to reproduce errors, recapture the logs, and reanalyze the data in their own toolset.
Traditionally, it would be like this:
- Ops, using APM, notices something trending slow.
- Ops then opens a ticket with all the details they can extract and sends it down the pipeline.
- Either the development lead will review the ticket, ensure it has all the information she wants and then dispatch it, or ask for more information, which Ops probably doesn’t have.
- Developer accepts the ticket, reads the long log files, reviews any screenshots, and then manually searches other environments to see if the error is happening anywhere else. If not, she will need to reproduce the error to make sure they can increase logging levels to diagnose the error so they can triage and then resolve it.
With a unified toolset used across all environments, the scenario runs more like:
- Ops, using APM, finds an anomaly.
- Ops notes the date/time and opens a ticket with just that information.
- The development lead immediately dispatches the ticket with no review required.
- The developer, using the APM tool, finds the anomaly immediately and then starts to extract the information she will find useful.
- In the same tool, the developer also has the ability to search for other instances of that error and even increase the frequency and level of logging in production to capture additional
- information points to aid in triage, and ultimately root cause analysis.
The developer is productive on the issue in minutes, not hours or days. Application performance management tools, like Retrace & Prefix, help development and operations teams better collaborate across all deployment environments.
With the three reasons given above, you can see the value of APM shifting left. The time saved by operations and QA teams offset additional tooling costs. Plus, better performance in customer-facing environments will improve satisfaction levels, and less interruptions to all your e-commerce revenue streams will keep executives happy.
- Why Application Logging is Critical to Your APM Strategy - October 11, 2017
- 3 Reasons Why APM Usage is Shifting Left to Development & QA - October 4, 2017