Currently, the emergence of tools based on generative AI models is becoming increasingly diverse, but, How are they being applied in our day-to-day work as DevOps?
While ChatGPT can help in various areas, whether through its plugins or natively, the world is focusing on specialized tools for developershelping in code generation to streamline processes.
An example of this is GitHub CopilotHowever, as is often the case in our field, wanting to use these tools means adopting the ecosystem proposed by the provider, which can impact the technical feasibility within our organizations.
Deciding to use them is not a simple decision, since their implementation often does not achieve the expected results.
What should we consider before opting for a generative tool?
It is important to identify which pains from our environment could be mitigated with the use of some tool of this type, although we all know the devops life cycle:

Its implementation is usually seen in the following way, where we can identify 3 main flows:
• Pipeline infrastructure

• Pipeline microservice (CI)

• Pipeline deployment (CD)

As we can see, we consist of various processes that are automated And depending on the level of DevOps adoption, they can be very good. optimized, so…
Where and when do we apply AI?
Let's use GitHub Copilot as an example to guide us:
This tool focuses on the initial stage of the software development process , where it can help us translate the requirements of our user stories into code.
Their goal is facilitate developmentallowing us to write code more efficiently and possibly identify problems before it's integrated into a continuous integration (CI) pipeline.
To begin, we could implement a similar process without relying on the GitHub ecosystem. One option would be to develop a backend application that communicates with the ChatGPT API.
Using a defined prompt, this application could offer us suggestions based on our user stories whether they are reference code snippets or technical aspects to consider. This approach could help to shorten the learning curve associated with new requirements.
Another process that can be optimized is the Validation and suggestion of new unit tests for the code increments we add to our projects.
This optimization could be coupled in the continuous integration (CI) processPerhaps in our feature commits. The goal would be accelerate a process which, depending on the developer's experience, can take quite a while.
These proposals serve as an introduction to understanding what processes we could Automate and take it to the next level with generative AIWhat follows will be more practical:
We will perform proof of concept to apply these principles, whether using ChatGPT or another model that we can employ locally in our workflows.
It's important to note that both ChatGPT and GitHub Copilot have a associated cost...in addition to other potential drawbacks that could affect data integrity. Therefore, we could consider using pre-trained models and develop our own generative AI tools.
Finally, to interact with these generative Artificial Intelligence models, it is essential understand the basic prompt engineering conceptsThe accuracy of the responses we obtain from the models will depend largely on their proper development. Furthermore, we will examine the general architecture of the models to understand how they function and their scope.
