Noops - A Brief Overview

An IIT Kanpur alumnus, Shankar has been associated with DXC for over eight years now, prior to which he has worked with companies such as Polaric Financial Technology, Satyam Computer Services, Medi Projects, Kanishka Systems, and American Megatrends, to name a few.

In simple terms, what is 'NoOps'?
NoOps literally means 'no operations'. This refers to an approach that involves the complete automation of IT operational tasks to such an extent that internal, dedicated operations teams focused on managing the under-lying environment are eliminated. One way to think of this would be the 2016 science fiction film, Passengers. From my perspective, this film provides an ideal look at NoOps. It tells the story about the spaceship Avalon, which is on a 120-year space journey to colonize a new planet. It navigates by itself, monitors itself, heals itself, monitors human activity & inactivity, and it keeps the hibernating humans safe, all without any human supervision. The ultimate of intelligent automation and the ideal NoOps scenario. There entire film is shot without any ship crew shown throughout! Well almost.

NoOps with automation, intelligence and self-healing capabilities enables an enterprise to be efficient AND agile and contribute on their path to growth AND profitability

Now coming back to earth. Essentially, what NoOps means is that the environment and the associated automation for managing the runtime of applications would be such that an enterprise and its application developers would not need to worry about standing-up infrastructure components and managing them. The developers just focus on core business capability required in applications to meet user needs.

It does not mean that no one will perform operations of the underlying environment needed to support the application. There will surely be compute, storage and other components that need to be managed, but all that is automated and invisible from the point of view of the enterprise and its application developers.

Now, what if something were to go wrong? If the environment and the applications could heal themselves, then you have NoOps. In other words, NoOps is a journey where the goal is to automate the operations function to such an extent that no human intervention is needed to run the operations, from the enterprise point of view.

Is a full-fledge NoOps realistic to achieve?
In my view, NoOps is a means to an end, but not an end in itself. What we are really interested in is building systems that can be fully automated, intelligent, and self-healing. This means putting in place two important mechanisms into the environment of applications. One is 'automation' to deploy applications and manage the underlying infrastructure, and the other is the 'intelligence' to detect need for changes and apply them.

As of now, NoOps is only at the beginning of a long journey in terms of having solutions in place for self-healing. We need to put in place software and soft-ware defined hardware that can provide 'intelligent' data about itself. Through machine learning techniques, we have already begun to build systems that pull together operational data in solutions such as Splunk, run analytics and take some level of corrective action.

NoOps involves plenty of automation both at development time and runtime. If you observe the automation going on in the development side through Devops, a fully automated, end-to-end automation is beginning to take shape in several enterprises. On the runtime as well, cloud providers, for example, have taken most of the operations out for cloud-based solutions from the point of view of the enterprise. There is still a lot of journey to cover for enterprises to automate end-to-end for all solutions and build intelligence & self-healing capability to reach the goal of NoOps. So, while enterprises go for the goal of NoOps, many of them will have to take a practical view on how far they should go with it. Ultimately, it should make business sense!

What does NoOps mean for enterprises?
At the highest level, I believe enterprises are interested in both growth and profitability. NoOps with automation, intelligence and self-healing capabilities enables an enterprise to be efficient & agile and contribute on their path to growth & profitability. It therefore makes sense for enterprises to look at NoOps closely.

NoOps is outsourcing of operations from the point of view of business of an enterprise. From the point of view of IT of an enterprise, adopting NoOps means that IT only needs to focus on development side automation and management to support the business. The runtime environment of a NoOps enterprise is such that it is auto-mated and self-managed and typically outsourced. This is easier said than done.

But then, No-Ops is a journey towards an ideal goal. It means a lot of change in the enterprise. Like removing bottle necks in traffic, it is an on-going journey. When you clear a bottleneck, the traffic jam moves to some other point, which you must fix. The same is true with NoOps in an enterprise. It needs consistent management attention otherwise the returns will not justify the investment.

What should the focus areas for enterprises be when designing for long-term goal of NoOps?
I think an enterprise should focus on three areas:
Strategy & Investment: Clear Strategy towards NoOps and investment is required to build and standardize on the necessary tools for building automation on development side and outsourcing the runtime environment.

Management Commitment: NoOps is not a big-bang event, but rather a journey, and the enterprise management must commit to a journey for at least a period of at least three to five years.

Establish a NoOps Enabling Center: As part of a NoOps initiative, an enterprise can look at starting a NoOps Enabling Center that helps to create the core NoOps champions, who can guide and advise the rest of the enterprise, to be aligned with the NoOps strategy.