Self-Driving Cars? Where’s My Self-Driving App?
Those lucky enough to own a Tesla marvel at how the Autopilot feature enables handsfree driving but more interesting (to me at least) is how the system behind the scenes works. Each Tesla is a sophisticated data collector that pushes sensor info to a massive shared database. Paired with machine learning algorithms, this enables what Tesla calls fleet learning. Initially, the vehicle fleet is a passive recorder – noting the position of road signs, bridges and other stationary objects. Real-world driver actions are also recorded and compared to what Autopilot would have hypothetically done in that same scenario.
Their machine learning algorithms create what is essentially a geocoded white-list of radar-recognized objects. This list is designed to prevent false alarms – like auto-braking for a road sign that might initially appear to be on a collision course but just happens to be posted on a rise in the road. When enough cars (sensors) observe and report the same safe driver action, the object is white-listed. False breaking events are eliminated as fleet learning intelligently learns what are true “alerts.”
In the world of ITOps we are all too familiar with a deluge of data that can generate false alarms. There’s even a name for it: “alert fatigue.” Containerized apps and microservices have an ephemeral nature that can create an exponential increase in number of events to process as compared with traditional architectures. The sheer volume and velocity of data now surpasses a human’s cognitive threshold. Using the Tesla analogy, why can’t these systems become self-learning such that apps auto-remediate and fix problems without human intervention?
The short answer is that they can and the concept of a self-driving app is being made real today through a combination of machine learning and artificial intelligence commonly referred to as AIOps or Artificial Intelligence for ITOps. According to a recent MIT Sloan Management Review article, 97.2% of Fortune 1000 executives surveyed are currently building or launching AI initiatives. Many of these projects will automate common tasks that support teams undertake to improve app quality and improve end user experience. Software improving software so companies can better compete with rivals in the application economy.
This is no easy task. Currently, operating mobile and cloud (which are deterministic) software requires basic hosting, monitoring, and managed services, much of which is not differentiated as most customers move to cloud. Operating AI-native (non-deterministic) software is significantly more complex, as it requires continuous, proactive, creative testing, AI-training, monitoring, and adaptive evolution to remain useful. How does one trust and ensure that an application is working correctly when both behavior and context change every moment?
The self-driving cars we know today are the culmination of discrete improvements that when combined, can now replace the human operator. Adaptive cruise control, lane-keep assist alarms and autonomous parking were initially delivered as driver assistance features (see Figure 1). When these technologies are combined they automate the complex and unpredictable task of driving.
Many monitoring and analytics tools have basic anomaly detection features. Some can utilize differential analysis to separate the noise of false alarms from what is truly actionable. These features can help the drivers or in this case the IT and app support teams tasked with problem resolution. True AIOps solutions move past assistance and recommendations to use machine learning to observe problem patterns and what fixes have worked historically. Coupled with automation, these capabilities can create self-driving apps that automatically heal themselves when inevitable performance and availability issues occur.
Figure 1: Self driving data application
Ashok Reddy, CA Technologies DevOps Group General Manager, will discuss this evolution along with other leading data scientists and site reliability engineers on June 20th at the AIOps Virtual Summit. Sign up to view his session titled Achieving Autonomous Operations through AI and Machine Learning by clicking here.
*This post originally appeared on APM Academy.