How AI & ML Transform DevSecOps — Exploring Their Full Potential

By 
Maria Schwenger
October 11, 2022

Gone are the days when the philosophies of AI and ML appeared straight out of a science fiction movie. Today, these sophisticated technologies are becoming mainstream faster than we had predicted.

DevSecOps is, in fact, becoming more AI-driven over time to deliver advanced, highly secure applications and keep up with today’s rapid software development cycles. Here, we delve into the connection between AI and ML, their most common use cases, and how these technologies will shape the future of DevSecOps.

Interrelation between AI & DevSecOps: Why is it Important?

Development. Security. Operations. 

Streamlining these three crucial processes into one cycle demands rigorous innovation, testing/analysis, and process improvement. DevSecOps practices also involve constant monitoring of data and hunting for bugs or issues, most of which occur in the very early stages of software development. Manually, keeping up with this accelerating pace of the development cycle can be stressful.

AI & ML, on the other hand, can easily sift through data to recognize patterns and irregularities—simply because they process and learn from enormous data logs using highly sophisticated computer systems. AI and ML can also be helpful when discovering anomalies or patterns that we might not be aware of. 

Just through automation, these technologies can lessen the burden for security professionals while minimizing the scope of human error. For example, Artificial Intelligence helps assess the big chunks of data gathered in logs/tools during DevSecOps processes, optimize the feedback loop, and establish self-discovering/governing systems.

AI & DevSecOps: Most Common Use Cases

Automated software testing

By employing scripted sequences that testing tools carry out, automated software testing verifies that the software is functioning correctly and meeting requirements. From defect identification to issues before testing, issue management to resolution during all stages of development, and more; AI automation can ensure seamless, uninterrupted operations, running independently without the supervision of software professionals.

Maximum process optimization

Process issues such as change management, alert management, etc. are inevitably more common in DevOps and are capable of ruining the technology. Here, AI can help fine-tune the change management processes and procedures throughout the Build to Testing environments by leveraging historical data. It can also help manage code freeze/unfreeze, prioritize response/time and assign alerts to capable teams by judging past behavior, volume, and source of alert — and that’s only the tip of the iceberg.

Enabling AI-led hyper-automation

By enabling AI to handle redundant, tedious tasks, hyper-automation cuts down any lag and helps boost productivity. It helps gather real-time data and send priority alerts to the software developers in case of any build success/failure status, orchestrating complex pipelines. It can also run or automatically restart automated tests to flag concerning areas and self-assign bug fixes to proper people based on previous data.

Seamlessly improve collaboration

Finally, AI can also help optimize internal collaboration between Dev, Sec, and Ops teams. From automatically identifying and updating issues to tagging the responsible team members on different messaging platforms, AI helps facilitate a continuous feedback loop throughout the processes.

Our AI/DevOps Experiment: Brief Overview & Results

I implemented projects for testing in the organization where I worked, and one of them was a two-year-long experiment which started off by focusing on understanding whether AI is capable of transforming how DevOps teams develop, deliver, deploy and test applications. We were further keen to find new and innovative ways to improve productivity using artificial intelligence and to create new metrics and tasks based on AI/ML capabilities. 

Here’s what the results showed:

  • Accelerated application delivery by 24%
  • Cut down the time for running automated security scans by 45%
  • Decreased the number of alerts handled by devs by 57%
  • Reduced the amount of false-positive vulnerabilities by 32%
  • Lowered number of incidents in production by 18%
  • Optimized Promoting to Staging environment by 50%

Conclusion

Based on my experience and these results, investing in strengthening DevSecOps infrastructure is highly necessary to develop more secure software quickly. Testing, defect identification and integration are some areas where AI/ML integration has the most impact, resulting in a higher quality product and development productivity. 

Begin your journey by recognizing the DevSecOps targets that need improvement, make sure you have the required ML expertise and focus on the simpler tasks first. Open source communities like Fabric for Deep Learning can be of help when you’re facing roadblocks at the outset of your experimentation. 

Many vendors already offer products and services that apply AI across the DevSecOps cycle.  Read up on their pros and cons and opt for one of them when assembling your DevSecOps tooling kit. 

Maria Schwenger
Partner, Cloud Native Build Leader, Americas IBM - IBM Consulting