In today’s digital economy, businesses need to rapidly develop new apps, products, or services and collect timely feedback from customers. So it’s no surprise the DevOps movement continues to gain steam.
Puppet’s annual State of DevOps Report always does a phenomenal job of capturing the importance and impact of DevOps. Like previous years, the research shows that high-performing practitioners deploy code much more frequently and are far more likely to exceed their goals for profitability, market share, and productivity.
But in comparing this year’s results to last year’s, one area stood out to me that warrants a closer look. While the gap is narrowing between organizations classified as low performers and high performers in terms of velocity (deployment frequency and change lead time), the gap is widening in terms of stability (mean time to recover or MTTR and change failure rates).
(Table courtesy of Puppet’s 2017 State of DevOps Report)
Performance monitoring improves DevOps speed and reliability
To an extent, this means low performers are sacrificing quality for speed. One could speculate that’s because they focused closely on automation, and rightfully so, given that it’s the heart of DevOps. However, they did not focus enough on end-to-end performance.
To be fair, there is an underlying notion of “fail fast, fail often” in DevOps. The idea being that it’s far better to quickly detect, recover, and learn from mistakes than waste a ton of time and effort building something that still might be unsuccessful.
However, with performance monitoring tools, teams can still apply this “fail fast” mantra, but can also experience more successes. Here are three ways performance monitoring can help you improve service delivery and make a greater business impact.
1. Integrate performance monitoring into Continuous Delivery and Continuous Integration
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, poor-performing features not only frustrate users, but they’re also costly to fix. According to IBM, resolving bugs in production is 15x more expensive than fixing them during testing.
That said, bugs often find their way into the code base as feature sets grow. Relying on testing processes within lab environments to spot potential issues isn’t sufficient. Such practices can be time-consuming and not completely representative of real-world conditions where thousands of people use the app simultaneously.
Continuous Delivery and Continuous Integration have emerged to accelerate the building, testing, and releasing of application or software updates. But adding performance monitoring tools to the mix can help teams deliver those updates quickly, without compromising performance or quality.
- Detailed performance diagnostics can help identify and resolve bugs early in the development lifecycle and keep developers focused on coding, not on constantly recreating flawed test scenarios.
- Performance monitoring in the staging environment, where engineers try to simulate load and understand performance before it goes live, will ensure the app passes load tests and does not buckle under pressure.
- With the right APIs, the process of collecting, sharing, and analyzing performance data during testing and into production can virtually be automated as well, helping expedite processes and ensure releases perform optimally.
2. Resolving issues in production before business is impacted
Even with thorough testing, performance issues will still pop up in production. That’s due to the increasingly complex and distributed nature of today’s application environments. They span on-premises and cloud-based resources, consist of short-lived components like containers, and need to scale up and down quickly. What’s more, increased rates of code changes, if not properly managed, only increase the likelihood of service interruptions.
Now, performance monitoring tools are well known for their value in production troubleshooting and root-cause analysis. Unfortunately, traditional approaches to performance monitoring, comprised of disjointed tools that don’t talk to one another, make it very difficult to pinpoint the root cause of an issue. As a result, problems persist much longer than they otherwise should.
However, with a fully integrated toolset, DevOps teams gain a holistic view of users’ experiences, and this can result in much shorter MTTRs.
- Continuous, full-stack monitoring across apps, networks, and infrastructure, on and off the cloud, along with deep insights into the end-user experience, helps rapidly identify and resolve issues before business is impacted.
- Unified dashboards generate common views into application performance, enhancing collaboration between teams when troubleshooting issues.
- Integrations via REST APIs with popular collaboration tools (e.g., HipChat and Slack) and incident management systems (e.g., ServiceNow and Jira) improve troubleshooting and system recovery processes.
3. Measuring the impact of releases for more informed roadmap planning
Speed and quality are paramount to DevOps, but determining the success of new releases is equally important. After all, you need to ensure you’re aligning with market needs and providing value to your users and the business.
Performance monitoring solutions help you understand how users are adopting your apps or software across releases. More specifically, they help you determine what features are most popular, how they’re performing, and how they impact productivity or revenue.
- Device-based end-user experience monitoring measures your customers’ abilities to complete activities before and after an application change.
- Similarly, detailed transaction reports highlight top- or underutilized features, as well as those with the most financial impact, across releases.
In both cases, performance monitoring solutions can help DevOps teams, product managers, and line-of-business stakeholders cost-justify future investments. This also helps them make more informed roadmap planning decisions, as well as prioritize tuning or optimization efforts.
Accelerate innovation with faster releases and higher-impact apps
As you embark or continue on your digital transformation journeys, DevOps will play an increasingly greater role. Riverbed is here to help. Our solutions accelerate development, improve application delivery, and continuously fine-tune performance—all while ensuring releases achieve business objectives.