Software development processes have changed dramatically over the last 10 years. We see more automation and more frequent builds, resulting in fast feedback loops from end users. The ability to automate much of the build, test, and deploy lifecycle has enabled this, but are we building more stable software? Are teams able to spend more time building new features and less time on unplanned and reactive work?
According to many surveys and industry reports, the answer is no. Even the most elite DevOps teams still only spend about 50% of their time on new features (Source:Accelerate: State of DevOps 2018: Strategies for a New Economy | Does DevOps Matter? Pg 31-32). Why is this? Why are teams not able to reduce the amount of time they spend detecting and resolving issues?
At Backtrace, we believe it is because teams spend too much time collecting, prioritizing, routing, and ultimately making sense of the error conditions that lead to application instability. We built Backtrace to fundamentally address this problem by enabling teams to automate as much of the collection and prioritization process as possible, and presenting the right information to the right developers at the right time in the places they already work. We think this is the key to allowing teams to spend less time on maintenance and unplanned downtime and more on new features.
Example: Errors in the build pipeline
Let’s take a look at a common example we see. Many companies are using tools like Jenkins, CircleCI, Azure DevOps, or GitHub Actions to manage their pipelines, orchestrating their CI and CD processes. During CI, systems execute test runs (i.e. functional, performance, unit test, code analysis, memory error checking, etc), and the team usually has access to high level dashboards that provide binary red/yellow/green statuses. But these statuses do not provide enough information for the team to know what went wrong and if they need to fix it. Engineers lose precious time collecting information to properly triage and assess the impact, and decide on remediation. Forward thinking software teams are thinking of new ways to address this problem.
Automated fault collection for CI/CD
Backtrace helps teams go beyond binary job status by turning coarse-grained job failures into fine-grained actionable work units. We ensure that all artifacts and application states are captured and grouped accurately when jobs fail. Team collaboration is simplified with the ability to drive alerts and automated ticket creation including links to share stack traces, source code, attribute values, and more. And integration is a breeze with fit-for-purpose libraries or services that ensure all application faults are accurately ingested, tagged, and analyzed to extract useful information.
Backtrace has been optimized to automate the manual work developers typically need to do during the Capture -> Prioritize -> Resolve workflow. We have learned from our customers that this is where they lose previous time as they try to detect and resolve issues that impact their app, game, service, or device. We focus on limiting the error prone manual efforts by helping engineers quickly answer the following questions: What crashed? How important is it? How can I fix it?
We do this throughout the SDLC.
During the “Test to Deploy to Operate to Monitor” phases, Backtrace is capturing all relevant fault data. This includes dump files and stack traces, environment variables, system and custom attributes, logs and other attachments. Automating the collection of this information is critical to ensure it isn’t overwritten or lost, especially in todays containerized and server-less deployments.
During the “Plan” phase, Backtrace helps prioritize which issues to fix based on dimensions that are important to you. We help teams understand which component crashed, how often, which users were impacted, and across which releases and environments.
Finally, during the “Code” and “Build” phases, we help developers resolve the issue by sharing easy to understand information to answer why it crashed. Backtrace includes an analysis engine that provides helpful hints and contextual clues as to what the root cause may be.
Address pipeline failures immediately with Backtrace
Backtrace provides a single view of quality for all your build pipelines, deployed applications, and development teams.
- Reduce your team’s debugging efforts from “hours-to-days” to “minutes-to-hours”, saving critical time and resources while significantly improving the organization’s bottom line.
- Give meaning to error data and create repeatable processes for fine grained actionable work items.
- Gain valuable insights to improve the stability of products while sustaining positive user experiences.
Schedule a Demo!
If you’re looking to spend less time debugging and gain the confidence you need to develop at greater speed, schedule a demo with us today! We’ll show you how you can improve your detection and resolution times of software issues by up to 90%, allowing you to spend more time on new feature development.
FREE TRIAL SCHEDULE A DEMO