It's interesting that so many practices we employ in IT operations have a militaristic ring to them. We manage alert storms, assemble war rooms and firefight problems. Staff triage casualties during constant bombardments of new deployments – engaged in a tools arms race to manage each new offensive.
Chivalry is Dead, Chaos Reigns Supreme
Break-fix was fine in the age of IT chivalry. Attacks in the shape of releases came at pre-determined moments over longer cycles – giving us more time to organize. Furthermore, the 3-tier nature of the foe meant failure conditions were more predictable. Yes, war was hell, but "rules-of-engagement" like standardization and rigorous change management meant we could limit the casualties.
But just as medieval chivalry died when armies recognized that playing nice didn't guarantee much at all, the IT equivalent has been similarly dashed. Now with business success inextricably linked to digital dexterity, developers are increasingly empowered to move faster and buck the rules - plus they have the weapons to do it. Polyglot coding languages to engage more customers in more ways across more channels, containers to fuel constant change and exploit shrinking windows of opportunity, and cloud for scale. But in a business world where the loyalty link between customer and company is reversed this is all goodness. Why? Well, because rapid tech adoption and experimentation is the only way to future proof an uncertain future.
Keep Calm and Carry On, Yeah Right!
Faced with this new normal our operational mantra is much akin to the old "keep calm and carry on" posters issued by the Brits during World War II (repurposed in many hilarious Interwebs memes). Sure, the enemy is at the gates and things look bleak, but we can take it - we always have. In truth, however, we can't. The complexity and intentional chaos introduced by modern applications demands new approaches. Time then to stop beating the war chest and get out of the trenches. Time for a new approach – Diplomacy.
Diplomacy isn't about fixing problems after the battle commences and the sirens start. There's a limit to how good we can get at that, plus outcome-centric businesses don't want problems in the first place. Nor is it about bludgeoning colleagues with doctrines that slow down the pace of change. Nope, it involves employing new practices to deliver critical performance insights that improve decision making within and across our modern software factories – collectively.
How Experience Insight Pays Dividends
Consider a case where a retail business is demanding increased performance and response times for an application during a busy season. In the past, we'd instinctively throw more horsepower at the problem. Of course, cloud can help with what's ostensibly cheaper and elastic resources. But even here we the tendency is to load-up with bigger and hence more costly compute instances. All fine I hear you say if the application results in more sales, but what did that millisecond improvement actually cost and was it really worth it? Have our profit margins improved or shock-horror, actually declined.
Now consider an alternative universe where teams use application performance insights to collectively determine what that improvement will actually cost the business. Want to increase sales conversion speed by 50 percent? That'll require lowering latency by 100ms, which can be achieved by purchasing computer here and cost you X. However, we've determined that by improving this area of your codebase you'll receive 95 percent of your speed expectation but it'll only cost Y. Additionally, and based on seasonal demand predictions factoring in a 40 percent uptick in customers, we can maintain performance levels needed to support profit margins of Z. Now and whatever the decision, it's going to be fact-driven. That's application performance diplomacy at its best, with folks getting around the business table with the IT delegation leading the negotiations.
The Truth is Out There – We Just Need to Go Deeper
Deeper performance insight leads to better decisions. Consider a case where analytics determines that a certain group of customers have a greater propensity to buy under certain conditions – be that time-based, geographical, device-centric etc. Although they only represent 10 percent of your customer base they deliver 75 percent of the revenue – great, but not without risk. Now imagine having insights into customer experience and being able dial-up (or down) application performance in order to protect and grow that 10 percent. We could achieve this by measuring performance for each service supporting a variety of engagement scenarios (e.g. mobile or web) and linking it to purchasing outcomes. This requires complete and uninterrupted performance visibility from the point of customer engagement to back-end fulfillment – or ‘end-to-end' in IT speak.
With these types of insight there's no end to what we can collectively achieve. Development teams can determine and share code that correlates with better performance with ops and architecture outlining where applications should be deployed to achieve better business outcomes.
When you think about it we've become good at fixing problems. Apps fail and we fix them. Flaky infrastructure breaks and we patch it up and send it back to the front. But consider this. No matter how battle-hardened we think we are, old break-fix approaches and sheer will-power no longer scale to the chaos confronting us. So, start getting diplomatic using application performance insights everyone can share to drive success.