While recently thumbing through some old comic books, I got a laugh from all the quirky advertisements. Fantastic promotions of awesome gadgets – like x-ray specs and radio wrist watches. Each designed to extract a gullible kid’s hard earned allowance. Of course they were all too good to be true and probably left many kids disappointed — and maybe like me, just a tad cynical.
I spied one ad that actually got me thinking about DevOps. It’s the famous “kick sand in your face” strip, which to those unfamiliar offered “98 pound weaklings” a sure fire program to build muscles, beat up bullies, and make lots of new friends down at the beach.
In IT we also have weakling apps we wish could be stronger. Services so brittle and fragile that any proposed change, update or enhancement is seen as risky – perhaps even career threatening.
So is it possible to beef up these veritable data center weaklings? Can we also find a way to turn the tables and make our apps stronger?
Well yes we can, but only with some new thinking. But definitely not (if like kids reading comics), we get sucked in by outrageous DevOps claims, along with a raft of gadgets and tools that never quite live up to our expectations.
Here are four things to consider as you look to toughen up your apps:
- Problem fixing is on the decline – successful businesses finally get that mobile and cloud is the only way to engage customers at scale. This means IT operations won’t have nearly as much stuff to keep watch over in the future. While some mourn the loss of visibility, it actually forces us to do a much better job at what’s really more important – ensuring an awesome customer experience. IT Operations as a discipline will no longer be judged on how effective it is at fixing problems, but on its ability to detect service issues before they impact customers. Therefore app toughness means less after-the-fact causal determination and more analytics for pre-emptive strikes on emerging apps problems – especially those about to bite the business.
- Issues now lurk in the “shadows” – developers now have lots of control. With the ascendance of agile and new techniques like test-driven-development and infrastructure-as-code, activities like build, configuration management and provisioning can be codified into work streams. This leads many to argue that operations as a function is defunct (or at least soon will be). After all, if operations doesn’t need to be involved, why is the function needed at all? Unfortunately this “shadow Ops” logic neglects to consider an inconvenient truth – basically that performance and supportability are not top-of-mind issues for developers. So while we have faster lead times, the reality could be a steady stream of weaker apps. That’s what you call “failing fast”, but not as DevOps intended it.
- Agile Operations is about “Craftsmanship” – since developers can’t always be counted on to instill quality, its incumbent on IT Operations to help teams build these capabilities. This doesn’t mean trying to impart years of ops knowledge, but actually crafting this expertise into automated solutions – solutions others will use to improve the performance and supportability of applications in context of the actual task being conducted. This could include:
- Making more accurate performance data available during development so as to code and test against realistic conditions
- Integrating change management processes with release automation so as to activate change approvals and co-ordinate all workflows – essentially ensuring compliance while eliminating typical delays from manual handoffs
- Providing earlier guidance to developers on code defects by incorporating standardized, consistent and scalable monitoring into every new release stage
- Working with business analysts and development to gain usability and customer experience insights from newly released mobile apps
- Collaborating with developers and service managers to make applications easier and less costly to maintain and support – essentially ending the 3:00am head scratching and blame games!
Looking at these examples it’s obvious the new IT Ops craftsman won’t linger behind the production curtain. On the contrary, they’ll be the ones working across the entire software pipeline; focused squarely on acquiring new skills and building solutions to drive better business outcomes. Those who blissfully remain in denial, preferring instead to watch monitoring consoles and build out physical infrastructure have a lot to lose.
- Application resilience is so yesterday – With on-premise applications the traditional logic has been to associate reliability with preventing and/or recovering quickly from problems. But highly distributed, scalable, cloud-native apps are very different, so our approach also has to change. These applications are the epitome of complexity (only on steroids), introduce many more moving parts, and will service unknown demand – meaning failure is inevitable. Therefore design and operational practices must move beyond break-fix, to ensuring inevitable failures have a minimal effect on customer experience and that each application release ‘learns’ from the experience – yes, actually gets stronger.
While the old 98 pound weakling comic book advertisement is kind of hokey, many businesses are getting sand kicked in their faces by digital disruptors. So before it’s too late, start re-engineering the operational practices needed to toughen up your applications. Just remember that while rapidly developed apps now deliver your business muscle, they’ll atrophy just as quickly if you neglect quality and performance.