The Evolution of DevOps & AI: Why "You Build It, You Run It" is a Lie
On the latest Livin' On the Edge podcast episode, I interviewed the CEO of Robusta, Natan Yellin, about the evolution of DevOps, throwing AI into the mix, and debunking the DevOps statement of "You Build it, You Run it."
The 'You Build It, You Run It' Dilemma
When discussing the evolution of DevOps teams, we can't get into it without covering the typical dilemma that arises in the DevOps ecosystem. "You Build it, You Run it" is the traditional approach of separating development and operations. It has been challenged by the need for developers to take ownership of their code in production. This shift requires developers to build the software and be responsible for its smooth operation and maintenance.
"'You build it, you run it' is a lie. It's a cultural thing, let's talk about what you should do instead," shares Natan. "Imagine you have a mechanical engineer, for example, with a background in metalworking building the screws for planes. Someone takes those screws, and they assemble that into an airplane, and then they ask that same screw engineer to FLY the plane. You build part of this, right? So you can fly it?"
Natan explains that although the engineer was responsible for building part of the plane, he is by no means a pilot capable of flying that same plane. The same thing can be said for cloud-native DevOps engineers who are asked to run, monitor, and maintain the same code they built. It's two different skill sets asking for chaos to unfold.
"These developers are building applications, and they know Java and have great application knowledge, but they aren't necessarily familiar with convoluted stacks that run in the cloud. They're now in charge of systems that break down, creating DevOps tension because they weren't empowered to run it in the first place," shares Natan.
So, How do we fix it?
Natan encourages DevOps leaders to ensure their teams are accountable for the quality and stability of their software. If you're truly going to embrace 'you build it, you run it,' then your team needs a deeper understanding of the entire software lifecycle. If you empower your team they will be motivated to write cleaner code, implement better error handling, and proactively address potential issues.
"This shift in mindset empowers developers to have a deeper understanding of the entire lifecycle, and it encourages them to consider the operational aspects of their code and make improvements that enhance its performance and reliability," shares Natan.
Natan cautions that developers need to strike a balance between focusing on new features and ensuring the stability of existing ones. It requires effective collaboration between development and operations teams to provide smooth deployments and efficient incident management.
What Role Does AI Play in That Though?
"AI can play a significant role in supporting the 'you build it, you run it' approach and doing it correctly. By leveraging AI-powered tools, developers can gain insights into the performance of their code in production, identify bottlenecks, and proactively address potential issues," shares Natan.
AI is an excellent solution to empowering these developers not just to build it, but run it. It enables them to handle the parts of the lifecycle they may not have otherwise been privy to. Now, many experts in the space carry around the perception that too much use of AI will eventually replace programmers, assuming that AI excels in logical tasks while lacking the common sense and creativity that humans possess.
However, as Natan pointed out in our conversation, that reality has been quite different. AI has demonstrated remarkable capabilities in creativity and performing imprecise tasks while still struggling with logical reasoning and common sense. This unexpected progression has led to a situation where AI has excelled in areas that were initially thought to be challenging while still having room for improvement in other aspects.
"AI is more like humans than we tend to admit, and it will continue to play a crucial role in troubleshooting, helping developers identify and resolve issues in production. Striking the right balance between AI-driven automation and human intervention remains challenging for many of us," shares Natan.
TL/DR- There's still plenty of room for human developers.The bottom line is that AI is a tool that is meant to help DevOps teams maximize innovation and efficiency, not replace them.
And it's more than just getting the "You Build it, You Run it" approach right. AI also plays a crucial role in troubleshooting, helping developers identify and resolve issues in production. By leveraging AI-powered tools, developers can gain insights into the root causes of problems and make informed decisions to improve the software's performance.
In the End: "You Build It, You Run It…With the help of AI."
My conversation with Natan Yellin shed light on the evolution of AI programming and what that means for DevOps teams moving forward. Natan's insights encourage further discussions and exploration of different approaches to AI troubleshooting, the right context approach, and how to empower your developers to take on greater parts of the software developer lifecycle successfully.
To learn more about Natan's journey and his work with Robusta, check out their website. Robusta helps developers respond faster by automating Kubernetes monitoring and tracking errors like crashing pods or Prometheus alerts, enriching them, and enabling one-click remediations.
For more insights on the Kubernetes world, APIs, and developer experience, visit our podcast page at https://www.getambassador.io/podcasts.