Success Stories of running Autopilot on Autopilot
OpsMx Autopilot is an AI/ML-powered Continuous Verification platform that verifies software updates across different deployment stages using CI/CD pipelines, ensuring their safety and reliability in live/production environment. It automates new release verification, reducing time-consuming and error-prone manual verification processes. Autopilot uses AI and ML technologies to assess the risk of a new release, find the root-cause of issues and abnormalities for instantaneous diagnosis, and provide real-time visibility and insight about the performance and quality of new deployments to avoid business disruption.
In this blog, we will discuss how Autopilot is used to analyze and improve the release and deployment of any particular product. To understand the efficiency of Autopilot, we at OpsMx, decided to use it in our own product, and we chose to use the functionalities of Autopilot on itself. This is when we came up with the name – “Autopilot on Autopilot”.
Problem statement
We started with the idea of using Autopilot on Autopilot to see what value we are bringing to our customers. As they always say “We must taste our own dog food”. With that thought in mind, we started the deployment of Autopilot on Autopilot. Some of the most generic issues of a release cycle or deployment are:
- Handshake issues between different modules of the product
- Negative test cases.
- Long release cycles.
This is where Autopilot comes in. Autopilot helps to reduce the time and effort and increases the quality of the release in your CI/CD process. That is when we came up with the idea to test whether we are really able to catch some interesting insights with the logs and metrics emitted in various stages- build, test, deploy and prod using Autopilot. Our release cycles are generally once a week but we have a customer base who have daily release cycles, rather some of them have a release cycle every two hours. In such kinds of enterprise environments, saving a minute is also very crucial to maintain the speed of the overall software delivery process. Read more on How OpsMx customers are using Autopilot to improve the speed of CI/CD.
Solution
We deployed Autopilot on Autopilot with a build frequency of once every night; that’s when all our engineers push their respective codes into the repository. We started analyzing the analysis report every morning to see what are the new issues that engineers have introduced in their previous day’s work. With that, we have been able to raise and fix quite a few issues that would have been difficult for QA to catch or might have taken some time for engineers to test during Unit Tests. We must admit that, more often than not, we end up testing positive test cases and disregard testing the negative ones. The irony is, most of the problems arise during the negative test cases.
Let us now go through a few of the issues that we have caught using our Autopilot on Autopilot (I fondly call it AonA :)) in the recent past. This will bring in more context to what all I have been talking about in this blog.
In the screenshot above we can see how this particular run has been failed by our analysis for the OES-dashboard service due to NullPointerException. We know NullPointerException (problem with object initialization) can break the system and should be fixed for the release to happen.
On Similar lines, we caught another NullPointerException in one of our other service OES-sapor.
The other issue that we generally face is when different teams are working on different platforms to bring out one feature in a product and/or application, we can call it a handshake issue. We are no different than any other team but the only difference is that we deal with our own issues using our own product. Here is a glimpse of one such issue that we captured using Autopilot.
Autopilot Dashboard – Log Analysis Screen of OES-Autopilot service
In the above snapshot, we can see that in OpsMx Autopilot there is a data mismatch issue between the analytics Data Science (DS) engine and the controller. Though the problem is easier to resolve if we know about it, it can break the system if not resolved in time.
To get a deeper understanding of any logs highlighted as issues in Autopilot, we have a link to Kibana (data source) in the summary section of the analysis page, where we can look at all the log events that have occurred before and after that particular log event to get more context.
We will come up with many more use cases that we have been able to capture, solve and expedite our release process using AonA in the future.
Conclusion
Thus in this blog, you have learned how Autopilot as an AI/ML-powered Continuous Verification tool helps you verify your software updates or new feature releases across the various deployment stages, ensuring their safety and reliability in production. We have seen how Autopilot is quickly able to track and identify the problems with handshake issues, negative test cases, and long release cycles. Autopilot automates new release verification, reducing time-consuming and error-prone manual verification processes. Autopilot assesses the risk of a new release, finds the root-cause of issues, provides instantaneous diagnosis, real-time visibility, and insight about the performance and quality of new deployments to avoid business disruption. Please do let us know if you have been facing similar challenges with your release deployments in our comments section.
If you are interested how leading American companies are leveraging Autopilot, please refer the link below:
- Online Leader Accelerates Software Delivery with Autopilot
- Telecom Leader Accelerates Time to Market with OES and Autopilot
- Networking Leader Automates Build Analysis with OpsMx Autopilot
Autopilot is in use today at companies around the world that are improving their release cycles, reducing errors in production, and improving their governance processes.
Contact us today to see a demo of Autopilot and learn how it can help you accelerate your software delivery.
OpsMx is a leading provider of Continuous Delivery solutions that help enterprises safely deliver software at scale and without any human intervention. We help engineering teams take the risk and manual effort out of releasing innovations at the speed of modern business.