Go Fast and Improve Quality with DevOps Shift Left Application Monitoring
By Peter Waterhouse, Senior Strategist, CA Technologies
Whatever your take on edgy animated sitcoms, it’s somewhat analogous to all the DevOps fanfare.
Want to go fast and deliver software at breakneck speed? No problem – just suit up on DevOps, find a sponsor (ideally from the exec ranks with some budget) and away you go, right?
Well, maybe not - because nothing is quite so simple on some old enterprise IT circuits, where even no-brainers like DevOps have about a much chance of gaining traction as a 10 year old has of becoming a NASCAR pro.
But slow down Ricky Bobby – things aren’t so clear-cut. Now, slick young biztech startups are in the competitive slip-stream. Using cloud and DevOps they’re breaking rules to deliver a software-fueled value proposition that customers find hard to resist. Moreover, being unburdened by horrendous cost structures they scale quickly, profitably and they can turn to the left.
In DevOps, the value of turning (or shifting) left is well understood. Rather than perform activities in a serial stop-start fashion, why not move them earlier in the software lifecycle - conducting them in parallel. Like test-driven development, the practice of writing functional tests before code so bugs are detected earlier.
It’s not rocket science, which is why it’s surprising that application performance monitoring hasn’t become a fully established shift-left practice. For many organizations it remains a pure-play IT operations function; only used to keep watch over production applications. So why should organizations rush to change established monitoring practices and what makes it tough?
The answer lies in new development dynamics. In seeking to accelerate those software-fueled, customer-centric value propositions, IT organizations are implementing architectures that promise speed and agility. Call them distributed, loosely-coupled, micro services– whatever – it simply boils down to platforms catering for styles of applications that can better adapt to an increasingly complex business-customer relationship.
But needing to deliver more digital touch points and functional gloss to maintain a high-quality customer experience is only part of the issue – there’s an added twist.
In seeking to accelerate those software-fueled, customer-centric value propositions, IT organizations are implementing architectures that promise speed and agility
Application functionality alone is not the only determinant of quality – usability and performances are critical too; they’re inseparable.
Because customers judge a business based on the quality of digital interactions which now includes performance, any issues (be that fixing problems or finding opportunities to optimize) must occur before production. So application monitoring becomes a business imperative - essential to enriching quality across our own software factories and serving many more practitioners vital information needed to drive improvement. Get this right and its DevOps gold – automated feedback loops that typify high-performance teams. That said, it’s easier said than done.
Shift left monitoring is hard because of two major issues. Firstly, those tools wielded behind the operational iron curtain are woefully inadequate to support the modern platforms comprising cloud services, containers and a multitude of micro services. Secondly, development stakeholders who’re increasingly accountable for ‘quality’, don’t trust or can’t work with existing monitoring tools.
These issues aren’t because of bad products. Any half-decent monitoring solutions can ingest, correlate and analyze millions of metrics. Where they fall down, however, is the operational tax imposed before anything meaningful is delivered. Too often, tools require lengthy agent configuration and setup. All fine for monolithic-style applications which don’t change much and where inherent fragility requires lots of pampering. But overkill in distributed application architectures where it’s no big deal for a container go down and pop back up.
This isn’t to say that development teams avoid monitoring. On the contrary, greater accountability sees teams seeking out alternative tools or even writing their own. But while this might address a discreet need, the cost and risk associated with maintaining a plethora of disconnected tools have to be taken into account. And ask yourself this–just how good is monitoring if it takes developers off their ‘day job’ – writing great code. That could become a shift-left anti-pattern.
So if dashboards and development inspired widgets aren’t an answer, what are? Well, it’s an approach where tools use modern methods to get the best from dynamic platforms. This can involve employing analytics to detect signals in noise and distill complex topology into experience-centric service views, but that’s only the start. Shift left success involves winning the hearts and minds of teams by using integrated service models whereby monitoring is delivered ‘on-tap’ to different quality stakeholders in the context of their roles and responsibilities. So if a developer needs to compare performance across software builds, a monitoring service would be automatically invoked in the context of the continuous integration activity.
Of course with the right solution in play the opportunities are endless. Imagine, business analysts using a predictive app experience analytics service to guide investment decisions. Or what about cross-functional teams identifying which coding practices and architectural patterns correlate to the best performance and lead to better business outcomes.
So is there anyone out who wants to go fast? We all do right? But the winners match app delivery speed with quality - using modern, integrated application performance monitoring services to shift-left - always.
“I’m gonna drive and I’m gonna go fast and I’m gonna turn to the left sometimes!”