Machine learning (ML), and artificial intelligence (AI) in general, has been commonly used within DevOps to aid developers and engineers with tasks.
The technology is highly capable of speeding tasks up and getting them done around the clock without its human colleagues needing to be present, if it is trained properly.
It is here where problems with AI and ML implementation can occur; if not taught properly, AI can display some kind of bias, and successful deployment of new software isn’t always a guarantee.
Add these possible issues to the challenge of getting staff on board with AI and ML implementation for the first time, and the relationship between this technology and DevOps may not always be the perfect match. With this in mind, let’s take a look at some pros and cons.
One common use case of AI and ML is to provide context to the various types of data a company has at its disposal. AI can be taught to categorise data according to its purpose quicker than engineers can.
This is a vital part of DevOps due to engineers needing to carefully examine code releases in order to ensure successful software deployment.
Automating the six Cs of DevOps
“AI and ML will be essential to aiding developers in making sense of the information housed across various data warehouses,” said Kevin Dallas, CEO of Wind River. “In fact, we believe it will become mandatory for analysing and processing data, as humans simply won’t be able to do it themselves.
“It will enable developers to better understand and use the data at hand; for example, to understand not just the error, or the occurrence of a fault, but the detail of what happened in the run up to the fault.
“What’s clear is that AI/ML is a vital strategy decision for every form of data from management and diagnostics to business-based value insights.”
Finding flaws and solutions
A major part of DevOps is ensuring that all possible errors are quickly eradicated before new software is deployed and made available to end users.
Joao Neto, head of quality & acceleration at OutSystems, explained: “With the right data, AI/ML can help us analyse our value streams and help us identify bottlenecks. It can detect inefficiencies and even alert or propose corrective actions.
“Smarter code analysis tools and automatic code-reviews will help us detect severe issues earlier and prevent them from being propagated downstream. Testing tools will also become smarter, helping developers identify test coverage gaps and defects.
“We can easily extrapolate similar benefits to other practices and roles like security, architecture, performance, and user experience.”
Continuous trial and error
Neto continued by explaining the benefits of AI and ML in experimentation when it comes to DevOps.
“Running experiments is not trivial and typically requires specialised skills that most teams don’t have, such as data analysts,” he said.
“Picking adequate control groups and understanding if your data is statistically relevant is literally a science. AI/ML can help democratise experimentation and make it accessible to all software teams, maybe even to business roles.
“We can also anticipate that by combining observability with ML techniques. Teams can understand and learn how their customers are using the product, what challenges customers face, and what specific situations lead to system failure.”
Can we automate data quality to support artificial intelligence and machine learning?
Possible problems with deployment
It’s clear that AI and ML has an array of capabilities for benefitting DevOps processes, especially when carrying out analysis in the back end.
However, when it comes to deployment, developers and engineers may need to think more specifically about where it’s needed, as working with AI here may not turn out perfect every time.
“A lot of AI projects have been struggling, not so much with the back end analysis such as the building of predictive models, but more with the issue of how to deploy these assets into production,” said Peter van der Putten, director of AI systems at Pegasystems.
“To some extent good old DevOps practices can come to the rescue here, such as automated testing, integration and deployment pipelines.
“But there are also requirements specific to deploying AI assets, for example the integration of ethical bias checks, or checks on whether the models to be deployed pass minimal transparency and explainability requirements for the use case at hand.”
Big Data LDN: Why you need to modernise your IT infrastructure for AI
Focus on “weak” AI has its downfalls
A criticism that has been made towards AI in DevOps is that it can distract engineering teams from the end goal, and from more human elements of processes that are just as vital to success.
“When it comes to tech and DevOps, we’re not talking about ‘strong AI’ or ‘Artificial General Intelligence’ that mimics the breadth of human understanding, but ‘soft’, or ‘weak’ AI, and specifically narrow, task-specific ‘intelligence’,” said Nigel Kersten, field CTO of Puppet. “We’re not talking about systems that think, but really just referring to statistics paired with computational power being applied to a specific task.
“Now that sounds practical and useful, but is it useful to DevOps? Sure, but I strongly believe that focusing on this is dangerous and distracts from the actual benefits of a DevOps approach, which should always keep humans front and centre.
“I see far too many enterprise leaders looking to ‘AI’ and Robotic Process Automation as a way of dealing with the complexity and fragility of their IT environments instead of doing the work of applying systems thinking, streamlining processes, creating autonomous teams, adopting agile and lean methodologies, and creating an environment of incremental progress and continuous improvement.
“Focus on maximising the value of the intelligence your human employees have first before you start looking to the robots for answers. Once you’ve done that, look to machine learning and statistics to augment your people, automating away even more of their soul-crushing work in narrow domains such as anomaly detection.”
If you want to see the benefits of AI, forget moonshots and think boring
The future of AI/ML within DevOps
While AI and ML has proven to be successful in speeding up DevOps as well as other areas of digital strategies, AI as a whole may need more time to develop and improve.
As this continues to be worked on by developers, what does the future hold for this technology’s relationship with DevOps?
“As the application of AI and ML in DevOps grows, we’ll increasingly see companies benefit and drive value for the business from more real-time insights, whereby AI and ML frameworks deployed on active systems will be able to optimise the system based on real-time development, validation and operational data,” said Dallas.
“These are the digital transformation conversations we’ve been having with customers across the industries we serve. Companies are realising that they can’t do things the traditional way and expect to get the type of results that the new world is looking for.”