Future of AIAI

DevOps and AI: Beating Software Development Challenges Together

By Naresh Duddu, AVP and Global Head – Modernisation, Infosys

DevOps is a software development methodology combining software development and IT operations to streamline and speed up application development. Through automation and the use of essential practices, DevOps enables the creation of high-quality, secure and reliable software. It is also transforming ways of working by empowering teams with tools and CI/CD (Continuous Integration/ Continuous Delivery) pipelines. But, along with these benefits DevOps can be limited in effectiveness for organisations if companies struggle with the time and effort needed to fix identified issues. For example, slow remediation of code issues, dependence on Subject Matter Experts for reviewing code, and longer time-to-recovery are common hurdles. The integration of AI in DevOps can mitigate all these challenges to significantly enhance software development. 

Artificial Intelligence is rapidly increasing its presence in DevOps. The AI in DevOps market, valued at US$ 2.9 billion in 2023, is projected to expand at a 24 percent CAGR to touch US$ 24.9 billion by 2033. AI brings several advantages to software development, from automation to agility to intelligent monitoring. This piece focuses on how it resolves the challenges of DevOps mentioned earlier. 

Fix code issues faster  

While organisations have automated development tasks, such as static code quality scanning and static application security testing to identify vulnerabilities in their CI/CD pipelines, they often don’t have the time to resolve all the issues that surface. Gradually, the list of unresolved issues adds to technical debt. 

AI overcomes this problem by detecting coding issues in the early stages of development. Tools, such as GitHub Copilot and DeepCode, integrate within the IDE (Integrated Development Environment), providing real-time code scanning feedback and suggestions for improvement, to prevent the accumulation of technical debt. 

Machine learning-based tools, including Amazon CodeGuru, Snyk and SonarCloud analyze code repositories and changes during pull requests with great precision. Snyk – along with its DeepCode-based engine – is capable of fixing even unusual and complex security vulnerabilities. Sonar AI CodeFix uses auto-suggestion capabilities to accelerate issue detection and remediation and thereby improve overall code quality. 

DevOps platforms, such as GitLab and GitHub, have extended their offerings to encompass AI-powered scanning and fixing, enabling teams to rapidly isolate potential issues in runtime during coding and fix them quickly by choosing among the options provided by the platforms. Further, these platforms offer a common view to both development and security teams, improving their understanding and control of application security. 

Review code with efficiency 

Usually, highly valued resources, such as subject matter experts (SMEs) or technical architects, review code to ensure conformance of coding practices with organisation policies and best practices. Unfortunately, reliance on manual expertise can cause delay and inconsistent reviews. One way to resolve this is by using Copilot extensions to check code compliance with enterprise standard templates. Integration with the organisation’s knowledge base of standards and policies leads to more contextual responses. By reducing the need for exhaustive code reviews and improving consistency, especially when large development teams are involved, this approach improves efficiency, while freeing up experts to focus on core activities, such as designing solutions. 

Improve predictability of release success  

It is hard to achieve predictability in software releases in complex programs involving the participation of distributed teams. If issues are detected a few weeks into development, certain features may need to be descoped to reduce the risk to the release. Hence early visibility is key. AI enables this by studying and correlating past data across DevOps tools and using probability to predict outcomes in near real-time. Early insight helps enterprises to correct course and allocate the right resources. Tools, such as Digital.ai, are enhancing risk identification and prediction to improve release reliability. 

Triage and auto-heal using cloud platforms 

Cloud-native architecture brings its own set of challenges; troubleshooting is at times complex and requires expert knowledge. But the problem is that manual troubleshooting elongates time-to-recovery. AI neatly resolves this by not only detecting issues faster but also aiding in recovery. Open-source projects, such as K8sGPT, have provided capabilities to scan Kubernetes clusters and triage issues in simple English to greatly simplify Kubernetes management. Organisations can also build AI-powered auto-healing capabilities to aid recovery and improve availability. 

The path to successful AI adoption in DevOps 

By keeping track of AI’s evolving capabilities, organisations can identify the best or most mature AI tools to combine with DevOps. In order to arrive at the right decision, they should evaluate a range of options including new offerings from DevOps tool partners, prioritising solutions providing focused Proof of Values (PoVs). This effort can be anchored by a central DevOps team that considers needs across the organisation before drawing up the AI adoption strategy. 

However, the bigger challenge for organisations is creating a flexible DevOps framework that evolves at the speed of AI without needing constant re-engineering. For enterprises with hundreds or even thousands of CI/CD pipelines, making the necessary changes for incorporating AI capabilities could mean significant effort, particularly in the case of poorly designed DevOps solutions. This is why the DevOps pipeline framework needs to be made scalable and extensible. A possible approach is to standardise and templatise the life cycle stages and create ephemeral pipelines, allowing tool changes to be made easily and reflected automatically in the CI/CD pipelines using the common DevOps framework. 

Author

Related Articles

Back to top button