Artificial intelligence (AI) is everywhere today — or at least it seems that way. The technology certainly holds a lot of promise because it will enable all sorts of automation for business processes that are still largely manual, and deliver more power to data analytics.
One area that AI is already affecting and is destined to have an even bigger impact on is DevOps. Experts say AI and machine learning (ML) have the potential to enhance DevOps, even as many organizations are beginning to adopt the model to gain efficiencies in application development and other areas of their business.
“Artificial intelligence and machine learning has an all-encompassing relationship” with DevOps, says Spandan Mahapatra, business head of the high-tech industry/software segment and business solutions unit at Tata Consultancy Services.
“There are many companies already driving digital transformation with different degrees of maturity in their DevOps processes, enabling them to really drive outcome-based success,” Mahapatra says. “AI/ML is providing solutions to optimize the DevOps processes.”
It’s still early for the majority of DevOps teams to be leveraging AI, “but we see a number of clients starting to consider the opportunity that AI and data analytics might provide for them,” says Stephen Elliot, program vice president for DevOps, multi-cloud management, ITSM, and software-defined compute at International Data Corp.
Among the more notable uses of AI in DevOps is for understanding where problems arise in continuous integration (CI) or continuous development (CD), for problem identification and resolution, or for better acting on data collected from customers, Elliot says.
“We do see a tremendous amount of traction for analytics in [infrastructure and operations] teams, as many have deployed application performance or streaming analytics services to identify and solve problems,” Elliot says. “DevOps teams should consider the use of analytics, as it can impact process efficiencies [and] problem identification and resolution, while improving the customer experience and enabling more effective and efficient business outcomes.”
Embracing the trend
One company that’s embracing the combination of AI and DevOps is Power Home Remodeling, which provides exterior home remodeling products. The company has created its own proprietary technology platform known as NITRO, which encompasses everything from its customer relationship management (CRM) platform to its own internal social network.
“Because we’re actually a development shop, we have a true DevOps team,” says Tim Wenhold, chief innovation officer. Power is building out its own AI infrastructure through NITRO, with the goal of taking the treasure trove of data at its disposal and allowing AI and machine learning to help it to develop better customer service, create more efficiencies and augment the staff’s capabilities.
The DevOps team is “figuring out how to bring the AI infrastructure to life,” Wenhold says. “Essentially, our DevOps team has to support whatever developer environments are our priorities. So, in our world, the biggest impact AI and machine learning are having today is related to developers learning new skills.”
AI is also helping DevOps to move to a “predictive state,” Wenhold says. “As we look at our continuous integration processes, for example, it’s telling us where to make changes to improve that CI pipeline,” he says.
For instance, with security, it’s hard to quickly identify alarming patterns. “Today, it takes us a long time to review the various logs and reports that relate to security monitoring,” Wenhold says. “When you apply machine learning to identifying threats, we will be able to flag anomalies 1,000 times faster than [the] current practice. AI/machine learning will help DevOps teams to be more proactive vs. reactive, by providing us with the ability to predict better — across all of our environments.”
Just as business intelligence (BI) and big data are designed to provide analytics as opposed to simple dashboards and reports, “AI will help to advance predictive modeling to the benefit of DevOps,” Wenhold says.
As AI becomes even more powerful the impact on DevOps will only grow. “We’re going to get to a point where AI/machine learning won’t only help to quickly flag anomalies; they’ll help us to solve problems before we even know they exist,” Wenhold says.
The company has logs with millions of records. “Currently, we act as detectives: We review the logs, find the anomaly and make adjustments,” Wenhold says. “AI will change this process by finding the anomaly for us. And, then, it will tell us what might happen, and present options for making a change to address the threat. Even further in the future, AI will tell us after the fact about the adjustments that were made to correct an anomaly. That’s exciting stuff.”
Healthcare company Molina Healthcare is also enthusiastic about the AI/DevOps trend. “We’re already seeing where the value and benefits will come from,” says Rick Hopfer, CIO of Molina Healthcare, which started down the path of leveraging AI in the DevOps area in 2016.
“The problem we were trying to solve is how to get insights out of the mountains of data in all of the transactional logs that our systems generate on a daily basis,” Hopfer says. “Having a system to collect information was not enough, we needed to focus on the real problem vs. all of the white noise.”
To solve that, the company first needed to rationalize all of the existing tools it was using to monitor applications and infrastructure. Second, it needed to aggregate the data. This meant bringing telemetry from various tools into a central platform, correlating the data, and using ML to recognize the real issue. Third, it looked at trends and predictive analysis.
“This meant building the correct views to visualize the data and drive efficiency and proactively manage the technology,” Hopfer says. “We used a collection of vendor solutions to accomplish this. The results were impressive. Being able to pinpoint problems in almost real time significantly improved the amount of time to resolve issues.”
The future is now
Taking action based on analytics capabilities, within the context of a certain lens such as CI/CD, customer experience, problem management, and so on, is the future, Elliot says. “The reality is that automation and analytics is like peanut butter and jelly — much better together,” he says. “It will come down to enabling speed in the technology and business processes, and taking action in context of unique, specific, business and technology situations.
But companies should by no means treat AI and machine learning as technologies of the future, when they can have an impact on DevOps today.
“DevOps can increase the velocity of new applications, but in a post-digital transformation world, DevOps must be combined with the data requirements of AI,” says Andy Grimes, principal technologist at data storage and infrastructure management provider NetApp. “The combination of the methods of DevOps and modern data requirements has created a new paradigm of ‘DataOps.’”
Since new AI applications require aggregation and preparation of data at exponentially higher speeds and scale, “in this new paradigm of DataOps developers are more closely aligned with the IT team [and] must understand where AI applications should live in a hybrid environment,” Grimes says. “Modern DataOps will also embrace edge data collection, core on-premises data aggregation, data prep augmented with cloud tool sets, and the necessary architecture to frequently change based on tool innovation and continued evolution of the business.”
As the evolution of DataOps continues, Grimes says, data will remain a constant with the need to “feed the tools” of AI and analytics platforms, while applications and infrastructure will be constantly developed with continuous innovation and iterative design to support massive velocity and quantity.
AI brings three distinct capabilities — self-learning, prediction, and automation — that can improve current DevOps practices such as CI and CD, says Soumendra Mohanty, executive vice president and chief data analytics officer at Larsen & Tourbo Infotech, a global IT solutions provider that has guided a number of enterprise customers through digital transformation efforts including the implementation of AI.
While DevOps has provided agility and faster time to market for software delivery, a larger part of the delivery process is still missing critical components such as continuous innovation and a continuous feedback loop.
“AI and machine learning feed off data with self-learning capabilities,” Mohanty says. “This is precisely why AI and ML techniques are extremely beneficial if embedded into the DevOps tasks and processes.”
For example, when software code is being developed, AI/ML can keep track of the extent to which end-user experience is being addressed, by simulating various possible scenarios. “The requirements are no longer frozen and the end-user is not a passive player anymore,” Mohanty says. “AI/ML play a pivotal role in eliminating the earlier rules-based software development, and bring in a whole lot of flexibility through learning from the data.”
AI and ML can help keep track of production performance and establish links to past issues, what kinds of resolutions were provided, and to what extent they were effective. Certain issues can be predicted upfront and fixed automatically. “These interventions by AI/ML on DevOps will not only make code development and deployment and production runs much more predictable, but also will provide a continuous innovation process,” Mohanty says.
DevOps teams focus on development lifecycle, keeping changing requirements in mind. “However, an important aspect of becoming predictive about the quality of the code and data management is something they have not focused on,” Mohanty says. “With AI/ML embedded into the DevOps process, the DevOps teams can get insight into how the code is performing, whether all the scenarios for the customer journey are being addressed, whether past issues and resolutions are being considered, etc.”
Managing the data
AI can also help manage the growing volumes of data in DevOps environments.
“The field of AI/ML aims to find patterns and trends in enormous sets of data,” says Eliezer Kanal, technical manager of cyber security foundations in the CERT Division of the Software Engineering Institute at Carnegie Mellon University.
“Much of the success of this field in industry stems from having ‘large numbers of weak indicators,’” Kanal says. “For example, if you wish to know the temperature outside, you would go to a single source of information — the thermometer — which is a strong predictor of the temperature. Unfortunately, in many cases we don’t have a similar type of sensor that can directly measure what we want to know, so we have to rely on many, many weak indicators. Humans find this type of task very difficult, but for modern machines this is almost trivial.”
DevOps “is awash in enormous amounts of data; commit notes, issue tracker comments, bug reports, log files of every imaginable type, and automated code output,” Kanal says. This data is often used by development teams directly for their stated purpose: Bug reports are used to understand what a bug is, for example.
“But when ML/AI is brought to bear, much more can be gained,” Kanal says. For example, by examining the types of bugs that tend to get reported, analysts can uncover a number of secondary observations such as which modules are most heavily used, which are most likely to be buggy, which have the most difficult bugs, and all sorts of other highly useful information relative to the development process.
“By using the bug reporting system as a source of data about the [development] environment, instead of just as an operational tool, companies can learn significant amounts about their own development practices and improve their overall performance,” Kanal says.
Another example of this relates to managing production systems. “Modern systems generate enormous amounts of logs, much of which is used in postmortems whenever a system goes down or a failure occurs,” Kanal says. “However, by feeding these logs into an AI system, we can not only understand why specific failures occur, but also identify patterns in failure that may be difficult to detect otherwise.”
AI/ML techniques are quickly becoming easier to incorporate into existing products, Kanal says. Many technology vendors have released APIs and toolkits to help businesses incorporate these capabilities into their products.
To that extent, DevOps teams are becoming more and more familiar with not only the capabilities themselves, but also how they can be incorporated into software, Kanal says. This will significantly improve the quality of the software being offered to end users.
“The widespread availability of both AI/ML tools and training will likely lead to the continued advancement of AI/ML capability in the DevOps process for many years to come,” Kanal says.