As discussed in our last post, NoOps, at least in concept, seems to be the logical progression for enterprises seeking more automated ways to rapidly put their software into production. The post generated quite a bit of discussion, particularly on Twitter, as to whether it's wise or realistic to take humans out of the equation.
Jayne Groll, CEO of the DevOps Institute, for one, doesn't see NoOps as a viable approach. "We will always need people with operational skills to ensure that value is created in a post-production universe daily," she commented. "We should also count on these professionals for new operational innovation. We need #NewOps, not #NoOps. I hear 'NoOps' and think 'NoRespect' or 'NoJob.'"
There are so many scenarios for software deployments, with hooks and integrations and dependencies that go with it, that likely cannot be fully programmed into algorithms. Jim Kobeilus, senior analyst with Wikibon, expressed skepticism about NoOps in a tweet referenced in the post, so I went back to him for more elaboration. At this point, he says, NoOps is "sort of an asymptotic aspiration: Using data to drive progressive improvement of AI that squeezes manual effort out of more IT functions, approaching but never quite reaching 100 percent automation. There will always be a need for human supervision and intervention to assure the outcomes from AI-driven automation, for the simple reason that these outcomes impact the lives of people and organizations."
Continuous improvement and refinement of software also is something that can't be left unattended to machines, Kobielus adds. "Another reason why NoOps as perfect IT automation is unlikely to be realized is that the AI that drives it all will continue to require humans to engineer features, build and train models, and monitor their predictive effectiveness."
Perhaps NoOps is a long-term goal for which enterprises should strive, recognizing that human collaboration is a key requirement along the way to shape a more autonomous future. A term that may resonate more clearly for the path ahead is "Low-Touch Ops," coined by industry maverick J.P. Morgenthal. While acknowledging that autonomous, self-healing systems are the future -- perhaps in a decade or so -- for now, "our goal is clearly to get to as low touch of an environment as possible.".
NoOps is "an orthogonal concept," Morgenthal states. "It doesn't matter if the software developer or an operations professional is responsible for the care and maintenance of systems, at sometime, for the known future, a system is going to require some human-led action to restore service. The opportunity is making this requirement as infrequent as possible."
Achieving low-touch operations beings together intelligence, orchestration and automation, Morgenthal continues. Today's enterprise systems are complex beasts, with layer upon layer of functionality and connections. The goal of low-touch ops is to bring to the surface "Intelligence to be able to, as accurately as possible, automatically identify root cause. Orchestration to be able to connect resolution and mitigation actions to specific root causes. And automation to enact the changes necessary to bring about homeostasis to the system(s) once again."
Morgenthal brings this narrative full circle, suggesting that what this is, for all intents and purposes, is DevOps. "The goals of faster time to market and high quality as related to increasing customer experience and business agility are only valid if the application is available. To this end, DevOps is as much a focus on achieving low-touch operations environments as it is in being able to continuously add capabilities and enhance value."
Best of MWC 2019: Cool tech you can buy or pre-order this year