Stay up to date with enterprise technology trends
Get updates that impact your industry from our GigaOm Research Community
So often, tech practitioners can feel like technology kids – we talk about how development and operation can be automated, however, the possibilities that we have at our disposal often imperfect, fragmented, complex and for a long time the vision of what tools might be.
So is there any hope for the future? Recently, I spoke with Eran Kinsbruner, Head of Evangelization at Perfecto and Justin Reock, Chief Architect, OpenLogic at Perforce Software, about DevOps and AI, as well as how DevOps processes will be migrated. change over the next 5 years by automation. Eran just released the book—Software Quality Improvement: Machine Learning and Artificial Intelligence in DevOps Era (available from all good stores), so he should have a few answers.
What did I just learn? First, the importance of focusing on value in DevOps; second, the role of AI and ML in accelerating DevOps; and third, opportunities that exist today for AI-based innovation. Our chats have been edited for clarity, but here are the key points:
Jon Collins: What does DevOps really mean to you and what makes it work?
Eran Kinsbruner: DevOps is not a closed term that people perfectly understand. I like Microsoft’s definition of DevOps: it’s a combination of people, processes, and products that deliver constant value to their customers. Fantastic. But it’s still pretty vague.
So how do I do? I have people, I have signature teams, I have technology. I am building up these features for a short period of time. But what is the value? How do I know if I’m really adding value to my customers?
Perhaps execution speed is important to them? In my opinion, the value isn’t just about the execution speed, but more than that, you need to listen to your end user. What do they really want to get out of your product? Sometimes the late developer doesn’t even know how his feature will be used there.
Jon: Yes, I agree – you have to ask: What does value mean to your customers? Suddenly you have a conversation: How do we value? What are the benefits our customers are getting? And what have they prepared to get those benefits? It becomes a higher level conversation that can direct everything else.
Without that high-level conversation then you just pump everything out without a clue. It’s like making cars. Here’s another one. Here’s another one. Here’s another one. Does anyone drive them? I have no idea! So, and how does that relate to quality on your mind? What role does quality play throughout the life cycle?
Eran: So I’m looking at DevOps from the end-user point of view. Will end users use my product? What do they think about my product? And how do I understand all the feedback so I can improve and create more value for these users?
So quality is not just about functionality: putting something in, taking something out. You want value equal to quality by definition. As you put your costs into value distribution, you’ll learn what it really means: functionality, performance, response time, availability.
You discover it by testing what’s relevant from an end-user perspective because if that’s not something your customers are dealing with, then you are not testing or providing quality for what. important. So both in terms of development and quality assurance, you need to be very focused.
What do I need to cover? What should I check? On what platform? What scenario? It’s the most eloquent feature someone has actually touched on the previous code commit and the like. This is when you find results: features or products that are valuable to your end users.
Jon: Great, make it worth it first. But how do I map this onto the DevOps process, from a pipeline perspective? And how can AI help?
Justin Reock: When I think of DevOps, it goes back to The Theory of Constraints and applies the idea of reducing the amount of friction involved in converting value to throughput. For me, that’s the essence of DevOps, at least from a business perspective. We are doing everything we can to reduce the “backlog” inventory, ie the code has not yet been converted to money.
The more we can do to reduce the friction between transforming inventory throughput and organizational costs, the faster every line of code the developer commits to the source control repository. becomes flux, or money, as quickly as possible. And if you refine it back to that birth, then I think if you look at the AI, its location becomes very clear.
The ideal DevOps pipeline is a completely friction-free one: a developer tests his code, and it then runs in production 5 seconds later, as soon as it passes a series of tests. experience without any human being involved. The customer is buying something, and you’ve converted that code into throughput in just a few seconds. It’s brilliant, beautiful, and elegant, that’s the goal of DevOps and software, as well as AI.
Jon: Let’s go down to the practical problem – can we see an example?
Justin: Surely, for example software testing? There are many points that we can eliminate not only the slowness that having humans being part of the process causes, but if we do it right, we can eliminate more and more prejudice. of testers out of that system, which means we test less and less. In many ways, we still forcefully force the way we deal with that problem. We do A / B testing and release Canary, in case we don’t think about a viable path.
But we still have a goal here: DevOps is all about continuous feedback loops. So you have to get feedback on your product and you have to integrate that into new features and of course you have to fix the bug. The more we can mitigate those problems and prevent them from seeing daylight, the faster through things like Fuzzing and AI, the faster we can get that code out of the way.
All this is linked together. In a world where it’s all connected software, it opens the door to surrounding services, self-driving cars or fully automated retail locations. It helps to create our fully realized and augmented reality where everything is a digital asset and scarcity is proven through blockchain, but that blockchain matters only if quality is possible. enforcement.
Jon: Gosh. It is a huge leap!
Justin: Yes, you’re right, but I don’t think people really understand the molecular level at which software is about to blossom, due to AI in the DevOps process. Reducing friction in pipes is of greatest necessity and it opens up all sorts of opportunities.
Jon: Okay, let’s dive into this – what’s the lowest hanging fruit? What will change in DevOps over the next few years, because of AI and ML?
Eran: Let’s rethink the feedback loops. Sometimes DevOps developers and managers think they did the right thing and are doing it right, but then a machine learning algorithm comes along and frees them up, providing feedback that is different from what they thought they were. will receive. ML can help provide unbiased, unbiased feedback, not really reviewing a product roadmap or anything like that, but it does look at the end user, which is pretty clear.
Then, when you consolidate it with your product decisions and software delivery cycle, you’ll probably get something more solid and more relevant to your customers. That’s what I see as the biggest opportunity right now.
Jon: All that sounds great, it’s great theory. But what should I do to resolve these comments?
Eran: That’s a good question. You don’t have to throw everything away, and real AI can’t solve everything right away. But we need this software quality increase. Noise reduction, priority. Obviously we can apply them in the whole process, but let’s just focus on testing.
The most unreliable test case is a good one. We call them flaking. They are showing in red in your CI / CD path and you did nothing with them because you don’t know why they failed. AI can look at these failures and categorize them into different groups. And all of a sudden we can see that 80% of all of these errors are not the real ones. They are only due to the poor coding skills of a test engineer. Now we can zoom in by 20% that’s the real error, those are the problems that can really affect the value for my clients. Now I have something I can prioritize. I know where my developers need to focus.
Therefore, reducing noise and prioritizing testing can lead to accelerated software delivery. As you apply that to your existing processes, you can move forward much faster.
Jon: Great thank you! Therefore, AI and ML can open up enormous value in the digital world. The key right now is to look for direct opportunities to remove friction from the process itself, in testing, and across the process. Eran and Justin, thank you so much for your time!