Contributed by Raminder Rathore, CDF Ambassador
GenAI is the latest talk in town that is revolutionizing the way we work today. It’s a new wave that is driving a change in the way we operate. It proves to be helpful across multiple industries and domains, spanning different disciplines and use cases. Specifically in DevOps, teams are taking advantage of GenAI tools and platforms to expedite their work and bring in the change that benefits everyone.
This blog focuses on some key areas in DevOps where GenAI tools are creating a big impact and how this will become a common norm in the product lifecycle. Before we get into the details, let us first understand GenAI.
What is GenAI?
GenAI stands for Generative Artificial Intelligence. It refers to a stream in AI capable of generating text, images, videos, and other data. GenAI tools are trained models that accept user input as “prompts” and based on their training data, generate new data as “suggestions” for the user. In simple words, it is like asking a question to the tool and the tool reverts with responses based on its intelligence (I mean based on its training data). The user can accept the suggestions or re-enter their prompt for better results that match their expectations or even ignore the suggestions if the response does not match the expectations.
What are the different types of GenAI tools?
There are different categories of GenAI tools available that are enabling everyone, across various sectors, to become more productive. Let us take a look at some of these variants:
- Chatbots handle customer inquiries, these are customer support bots that act as the first line of support available 24 x 7 to all customers. (Popular examples: ChatGPT and Intercom)
- AI-pair programmers work as copilots with developers and help them generate programming code. These new trending tools are helping product teams increase their team velocity. (Popular examples: Microsoft GitHub Copilot and IBM watsonx Code Assistant)
- Text-generation tools generate content, help teams with writing tasks. (Popular examples: ChatGPT and Jasper)
- Image-generators generate images based on the context provided. Imagine generating artwork based on the textual descriptions. (Popular examples: DALL-E and DeepArt)
- Design-assistants enable teams with design layouts, they basically generate visual content and layouts. (Popular examples: Canva and Figma)
- Data and Analytics tools analyze data and provide insights to teams for better decision-making. (Popular example: Tableau)
- Music and Video generators help teams create and edit videos, compose and generate sound effects. (Popular examples: Jukedeck and Pictory)
How is GenAI being leveraged in the DevOps world?
With the different types of GenAI tools that exist today, and the capability that it offers, DevOps teams will become productive and self-sufficient. In fact, GenAI tools, especially the AI-assistants (also known as AI-pair programmers) are empowering DevOps teams from every aspect. Whether it is smarter infrastructure management, quick enhancements to CI/CD pipelines, or performing predictive maintenance, or detecting anomalies earlier. GenAI tools for sure will bring in better collaboration, higher efficiencies, and enhanced velocity. But, before adopting any such GenAI tool, it is important that teams first agree on the GenAI approach, secure approvals on the investments, start coaching teams on effective prompt engineering, and continuously monitor and support this change from the leadership perspective.
The Journey…
Step 1: Define, brainstorm, and agree on the AI journey and the approach with investments.
Step 2: Onboard GenAI tools, whether they are free or come with associated costs (licensing should be clearly managed).
Step 3: Enable teams to understand prompt engineering and drive the new change consistently. Provide teams with required training and start identifying use cases for implementation.
Step 4: Identify change champions who coach and monitor the adoption of GenAI tools. These champions build a repository of best practices and case studies over time.
Step 5: Across every discipline, identify use cases that can be assisted easily with GenAI tools. Record the acceptance.
Step 6: Build an organization-level dashboard to continuously review adoption and utilization of these GenAI tools.
Do note that GenAI tools are probabilistic, meaning that they provide suggestions based on the context provided. They may not always be correct. As users, we need to continuously review the suggestions provided and take the right action (which could be either accept the response from the GenAI tool or ignore or re-enter the prompt.question again to get better responses).
The table below summarizes the software disciplines, the related activities and the use cases where these GenAI tools are leveraged. GenAI tools like Microsoft’s GitHub Copilot, RedHat’s Ansible Automation playbook, TensorFlow, Hugging Face, etc. are all helping teams to become better.
Software Discipline | Activity | Use case |
Planning | Documentation | – Generate documents, suggest folder structures/organize content – Review content – support for different languages |
Coding | Code generation | – Generate code snippets /boilerplates from a few lines of code to generating complete functions/files – Translate code from one language (like legacy) to another language – Optimize and improve the code |
Code review | – Review code, identify issues, and suggest code improvements | |
Testing | Unit testing | – Generate unit test cases for selected code/files – Review nomenclature and suggest improvements |
System testing | – Suggest and generate code to integrate test cases with CI/CD pipeline – Analyze failures in the pipeline and suggest fixes | |
Infra-as-Code | Building infra | – Generate playbooks for setting up infra components like firewalls, authentication, VMs, etc. – Suggest options to optimize code |
Operations | Monitoring | – Detect unusual patterns, report incidents, trigger auto-remediation – Notify teams for detailed diagnosis |
Maintenance | – Analyze historical data to predict potential failures that may occur in the near future – Suggest preventive actions to reduce downtime, focus on system reliability |
But, is this journey simple?
Well, there could be many more use cases where GenAI tools are helping DevOps teams. But all this is not as easy as it sounds. While organisations define their AI roadmap and approve on required investments, practising and using GenAI tools on a day to day basis (by all the DevOps teams) is a cultural change that takes some time. Teams need to learn the art of prompting, that is asking the right question to the GenAI tool, which is possible by providing the right context. As teams get trained on this new mode of working, they slowly enable themselves to leverage the benefits. Like, integrating the respective GenAI tool in their respective area of need and then practising it daily to achieve results. There are multi-fold benefits like increased developer productivity, faster deployments, quick remediation, and preventive analysis. If DevOps is all about collaborative teams using integrated and optimized processes—GenAI adds power to these methodologies.
Future adoption of GenAI
While GenAI tools assist us with our DevOps tasks, it also is learning. The adoption of GenAI tools will for sure increase this decade and gradually, it will become a common practice. Teams will continue to practice DevOps to expedite processes like building and updating code and pipelines, implementing security principles, analyzing, and predicting issues, fixing issues quickly, and so on, but it will all be done with the help of GenAI tools.
To summarize, GenAI tools and DevOps teams will complement each other. There was a point when automation used to fuel DevOps (it will still continue as well), but now GenAI has taken the front seat.
GenAI empowers DevOps teams to:
- Deliver code faster: GenAI tools not only help experienced developers generate and update code faster, they also enable newcomers to understand the code more quickly, making the learning curves smaller. With the auto-generation of boilerplate codes, teams can generate modules, and even entire projects, much quicker.
- Enhance CI/CD pipelines: There is always room for improvements. As we continue building CI/CD pipelines, we are always on the lookout for quick reviews and suggestions. These GenAI tools help teams with quick peer reviews, suggest techniques for optimized code, and flags security vulnerabilities.
- Improve and enhance infrastructure management: GenAI tools now assist teams in building new infrastructure with existing templates, thus saving manual efforts. Not only this, it also helps teams with learning logs and predicting any potential failures that may occur ahead.
- Enhance collaboration and collaboration: GenAI tools or AI-copilots are wonderful assistants for generating meeting notes, tracking and suggesting training and development plans, and also updating documentation.
The GenAI journey is only beginning. I look forward to seeing the day when it’s in full swing. For now, we need to understand its relevance and its power in the DevOps world and leverage it wisely!