The world of software development is changing fast. As applications grow more complex and teams become increasingly distributed, developers face unrelenting demands to deliver higher quality code at breakneck speeds. Manual processes, fragmented tools, and repetitive coding tasks have become bottlenecks that slow delivery and sap productivity.
While interest in DevOps is steadily increasing each year to help solve the bottlenecks, there are still many challenges that need to be addressed. DevOps processes rely heavily on various tools, a small pool of qualified talent, and many repetitive tasks that have only been partially automated so far. But generative AI promises to rewrite the rules of the game. Companies are beginning to augment developers with generative AI that automates mundane work, generates helpful insights, and boosts productivity.
DevOps teams are beginning to realize the full value of AI, to the point where only five percent of teams said they didn’t intend to incorporate AI into their DevOps processes in the near future. GitLab plans to improve its customers' DevSecOps workflow efficiency by 10x, by applying AI-assisted workflows to all users involved in delivering software value.
Welcome to the new era of AI-powered DevOps. Let's break down how DevOps teams can leverage AI towards faster time-to-market for products and reach their end goals of minimizing bugs and maximizing productivity for developers.
Streamlining Processes
The union of AI and DevOps unlocks new potential, empowering organizations to speed delivery, boost quality, and embrace an innovative future. Generative AI goes further by automating nearly every step of the development process, from code generation to debugging to deployment.
Basically, generative AI tools for DevOps teams come in a few categories, but we will focus on code generation, code security, intricacies involved with Continuous Integration and Continuous Deployment (CI/CD), and testing.
The first is code generation platforms, like Github Co-pilot. Why waste precious developer time on repetitive coding tasks when AI can handle the drudgery? For developers, generative AI can suggest complete code snippets, autocomplete unfinished code and accelerate development. By learning from large code repositories, the models provide intelligent recommendations tailored to context. For example, Gitlab’s experimental features such as Explain this Code, Summarize Issue Comments, and Summarize Merge Request Changes, and its existing AI-enabled features, Code Suggestions, and Suggested Reviewers are focused on driving developer productivity beyond code development, and improving workflow automation for all users throughout the software development lifecycle.
With regards to security, generative AI can help in analyzing security logs, identifying vulnerabilities, detecting patterns of malicious behavior, and providing recommendations for enhancing security measures. Managing errors and security incidents remains challenging due to noisy alerts lacking context. Engineers waste precious time trying to pinpoint root causes by digging through disjointed log files. AIOps platforms apply natural language processing to parse thousands of log events in real-time and surface insights into causal relationships automatically. AI anomaly detection spots growing problems early based on dynamic thresholds. Together, these capabilities allow rapid automated incident investigation and remediation.
For CI/CD, generative AI tools can auto-generate workflows and pipeline configurations through CI tools like Jenkins and CircleCI, quickly produce test data sets to validate builds and catch errors, and analyze code changes to identify risky commits and predict build failures. Generative AI can generate infrastructure-as-code templates to provision environments for CD, produce deployment manifests and automation scripts for releasing new code, and more.
And finally, generative AI brings unprecedented efficiency and coverage to test automation. By automatically generating comprehensive test cases, it explores edge scenarios beyond human imagination, strengthening robustness. The AI can assist developers by identifying vulnerabilities, improving code quality, and sharing knowledge. It also produces synthetic test data on demand to validate new features and changes. With test creation, data generation, code reviews and collaboration automated, developers can focus on innovation rather than manual testing. Generative AI empowers teams to deliver robust software at rapid speed.
Generative AI can assist with most DevOps processes by synthesizing data, simulations, models, and automation. It reduces manual efforts and enables teams to move faster. Adoption is still early but holds huge promise.
Generative AI Makes a Difference
You may be wondering, how much of a difference can AI actually make? Let’s take a look at some of the data in five particular areas: time to market, productivity, code quality, modernization, and cost.
In terms of time to market, DevOps teams using AI can debug and test code 70 percent faster than through traditional workflows. In addition, companies using AI-powered DevOps can reduce the planning and initial development stages of the SDLC by 50 percent. Faster time to market means DevOps teams can focus more on improving their product based on customer feedback.
When it comes to productivity, according to one survey, the majority of software engineers save between 10 and 30 percent of their time through generative AI. Presumably, that means they can spend the time they’ve saved on repetitive manual tasks for building new software and improving their processes even further.
Code quality is a trickier subject. According to developers who initially used Microsoft’s Copilot code generation tool back in late 2022, up to 40 percent of the produced code had vulnerabilities and errors. However, that data only applies to code generation. Remember that there are also dedicated platforms that can help resolve errors and vulnerabilities, and these may be able to identify or eliminate bugs up to 86 percent of the time. Though, of course, humans will still have to do the final checks.
Legacy code modernization is another use case for generative AI in DevOps. For most organizations, around a third of their software is based on legacy code, meaning code that isn’t up to the modern standards of performance. Legacy code is hurting 90 percent of businesses, and fixing it is a lengthy process that usually involves refactoring old code.
LLMs can be trained to learn patterns in legacy code and translate it into modern languages like Java, Python, or Go while preserving functionality. This automates time-consuming manual translations. Additionally, LLM’s can analyze legacy architectures and generate cloud-native deployment configurations for lifts-and-shifts to the cloud or replatforming on containers and microservices.
Finally, cost reduction is a major reason a lot of companies opt for AI-powered DevOps. According to an analysis from Mckinsey, AI coding assistants could save the global corporate IT industry as much as 32 percent of its current spending on product development alone. AI-assisted coding could also increase overall profitability and productivity in some industries by up to five percent. All of this data should tell you a little something about why generative AI in DevOps is a major competitive advantage.
Final Thoughts
Up until now, the entire field and practice of DevOps has been defined by efficiency. But AI has ushered in a whole new definition of efficiency. Now, AI-supported DevOps teams will be free to seek out even more innovations to make the practice better, faster, and more accurate.
Priyank Kapadia is a seasoned technology leader at Accolite (www.accolite.com), delivering solutions through design-led product engineering and advising clients to adopt Generative AI responsibly.