AIOps is the application of Artificial Intelligence (AI) and Machine Learning (ML) to network events, metrics, traces and logs to automate and improve IT operations and service assurance.
AIOps can help IT Operations teams work faster and smarter by:
- analyzing billions of events in real-time across complex environments
- enabling rapid incident resolution
- preventing outages
- generating detailed network operations reports and actionable insights
- driving improvements to the way networks and services are managed and maintained
A well planned AIOps solution can help to transform operations and automate the delivery of service assurance.
Challenges for DevOps and SRE Engineers
DevOps and Site Reliability Engineering (SRE) teams face considerable challenges in today’s fast-paced business environments and the cost of failure can be high. Service outages can hit sales, upset customers and damage a brand’s reputation, so providing a continuous and high quality service is paramount.
The use of AI in IT operations has been driven by the need to find solutions to the following challenges:
- Rapid growth in data volumes generated by the IT systems, networks and applications
- Increasing data variety with the need to analyze events, metrics, traces (transactions), wire data, network flow data, streaming telemetry data, customer sentiment and more
- Increasing velocity at which data is generated
- Increasing rate of change within IT architectures
- Maintaining observability while adopting cloud-native architectures
- Automating recurring tasks intelligently and adaptively
- Predicting change success and failure rates and impact to SLAs
AIOps solutions must balance the goal of faster, continuous development and deployment of digital services while maintaining increasingly large and complex network infrastructure and applications in a market place that tolerates no downtime.
These challenges have driven new ways of working and managing software development that allows for continuous integration and continuous delivery (CI/CD) of new software while maintaining a stable and reliable service to customers.
How Does AIOps Work With DevOps?
By applying AI and ML techniques to the analysis of network events, AIOps can help automate service assurance which improves agility in collaboration with other DevOps processes, by streamlining the detection of incidents and improving outage detection.
AIOps enables DevOps and SRE teams to quickly identify, understand, and prioritize the issues that may cause downtime and impact the customer experience or lead to missed service-level agreements (SLAs).
How AIOps Helps to Enable True Network Observability
Observability is the latest hot topic in the DevOps and SRE world, and refers to the ability to see exactly what’s going on in the operational network, applications and supporting services.
AIOps can help with observability by providing detailed insight and additional context by applying AI techniques to the analysis of log events, traces and metrics.
Applying AI and ML algorithms to the vast amounts of collected network data can eliminate noise and detect anomalies that would be otherwise impossible to see.
Incidents and issues can be correlated to changes, logs, traces and other events which can help identify root causes, resolve issues more quickly and prevent them from happening again.
By providing contextual intelligence to the DevOps and SRE teams, AIOps paves the way to true network visibility and improved service assurance.
Understanding the AI in AIOps
AI is essentially made up of algorithms that run complex mathematical operations capable of analyzing large amounts of data, learning about that data, spotting trends, anomalies and significant events, making predictions and providing context.
Within AIOps, AI can combine historical pattern matching with real-time data to identify recurring and new problems. This data can be enhanced with other external sources of data to deliver even better understanding and service impact predictions.
What is Machine Learing (ML) in AIOps?
Machine Learning, or ML, is the science of getting computers to self-adapt in order to perform useful tasks without requiring explicit programming by a human.
ML occurs auromatically without any intervention using one or more of the following techniques:
Rules Based Machine Learning
In the early days of AI, outcomes were decided upon using a set of prescriptive expert rules to work out what actions to take. This is best imagined as a “if this, then that” approach.
However, there are problems with rules based ML and the latest ML methods are moving beyond a basic rules based approach. Some of the problems are:
- Rules are limiting and frustrating. Rules are easy to create, but you can never create enough to address every situational option.
- Rules give an illusion of simplicity. While they give the illusion of simplicity in practice they have exponential complexity
- Rules do not address unpredictable events. The algorithms obviously only work if a rule has been defined and are unable to cope with unforeseen or unpredictable events. Random failures are undefinable and confusing.
- Rules are expensive. Constant maintenance of rules is very expensive, both in money and time. A complex set of rules can also hinder detection of problems and corrective actions.
- Rules cannot be scaled. Rules often have a narrow scope that only work in simple environments, and that prove very difficult to scale in order to deal with extremely complex IT environments.
Unsupervised Machine Learning
Unsupervised ML algorithms are simpler and aim to find patterns within a given set of data. Being unsupervised, the training is typically longer in duration, and the results may not always provide the required detail.
Supervised Machine Learning
Supervised ML allows algorithms to learn by example, by providing the system with “good” and “bad” examples. Training by example enables targeted insights to be developed by the system and can give more accurate results for a specific use case.
Reinforced Machine Learning
While it is true to say that AI drives automation, humans still have a very important role to play in making algorithms smarter. Reinforced ML allows human users to interact with and provide feedback to the AI system.
In AIOps, for example, it should be possible for DevOps and SRE engineers to provide comments as they resolve issues.
Neural Networks and Deep Learning in AIOps
Neural networks and the science of deep learning is a branch of supervised ML. Neural networks are software systems that try to recreate the way that a human brain works and are made up of artificial neurons, with each neuron connected to other neurons.
Neural networks are trained automatically, by presenting different contextual examples to the network, together with their respective outcomes. The neural network then works out which neurons it needs to activate to achieve the same results.
Eventually, the neural network develops enough pathways to allow it to process and make decisions on any future data that it is presented with.
What is Deep Learning?
Deep learning is a specific area of development within neural networks, and is a way to enable advanced ML.
Deep learning involves a much larger and more complex interactive network with multiple layers of nodes and neurons with sophisticated interactions within and between each layer.
Deep learning is essentially concerned with helping to identify patterns and solve problems automatically without human interaction.
How Deep Learning Works in AIOps
Legacy operations systems can no longer handle the vast amount of data being generated by today’s modern and complex IT networks.
But AIOps driven by advances in ML, neural networks and deep learning can automatically process massive amounts of data, pick out trends, identify problems and propose solutions, while continuously improving over time.
What is the AIOps Workflow: An Overview
The AIOps solution automatically performs the functions and tasks required to complete the AIOps workflow.
Typical tasks in the AIOps workflow are as follows:
- Data Ingestion
- Data Reduction
Let’s take a closer look at each of these AIOps workflow tasks in more detail.
Data Ingestion in the AIOps Workflow
The first step in the AIOps workflow is data ingestion which involves collecting and processing all of the data generated by the network and applications. This can include log events, metrics, traces, changes, and alerts.
One of the major advantage of AIOps is the ability to ingest different types of data in different formats from many different systems and technologies, and using algorithms to organize and make sense of the data.
For the DevOps and SRE team, this aggregation and processing of mass data from multiple sources gives complete observability of events across the production environment together with visibility of any changes across cloud and on-premises applications, services, and infrastructure.
Additionally, network data can be enriched with information from other systems and parts of the business, such as asset management systems, customer relationship management systems and change management to provide further contextual awareness to help understand events as they occur.
AI and machine learning (ML) can also be simultaneously applied to the collected date in real time in order to learn the normal operating behaviors of the network and services.
Data Reduction in the AIOps Workflow
The velocity and volume of available data from today’s networks can be overwhelming from an operational perspective. AIOps uses the principle of data reduction to reduce event noise and to detect and isolate issues much quicker than possible previously.
The AIOps solution can reduce the data using a number of techniques, such as:
- Reduction by deduplication. This process reduces a stream of repeated events or logs, such as a ping failure for example, to an incremented counter and a single alert, while the repeated events themselves are discarded.
- Entropic deduplication. Entropy is an algorithmic approach to determining the relative importance of an event within the context of the overall system. Higher entropy means higher importance and will help to identify and isolate those events that need to be examined first. Lower entropy events can be safely ignored.
Using techniques such as these allow the DevOps and SRE teams to focus their time and effort on solving the most important issues that have a real impact on customers.
Correlation in the AIOps Workflow
Correlation is an extremely important step of the AIOps workflow where connections are made between data from multiple sources and from different parts of the system.
ML algorithms can recognize and correlate events that share similar characteristics, network topological proximity, event arrival times and a host of other factors to identify similarities across service incidents and changes and generate more precise definitions of issues.
As a result, correlation and aggregation massively reduces the number of alerts and trouble tickets received by the DevOps and SRE teams, while simultaneously providing contextual information to guide faster remedial action and suggest probable root cause.
Causality in the AIOps Workflow
AIOps helps to determine causality, identifying the probable cause of incidents using topology as well as ML, and relate these incidents using algorithms such as decision trees, random forest and graph analysis.
AIOps can also help with root cause analysis, and supervised ML techniques can be used where data from the network is combined with feedback from the DevOps, SRE teams and other stakeholders to predict which alerts are the most causal for a particular issue.
In this way, ML algorithms can significantly reduce the amount of time it takes to identify those events that are most likely to have caused an incident.
It is also possible for AIOps to identify changing network conditions that have the potential to impact service before customers are actually affected.
Collaboration in the AIOps Workflow
Collaboration across teams is the fastest way to resolve complex issues.
AIOps can enable technical experts and other stakeholders to collaborate on and resolve high-priority incidents and improve user effectiveness by using chatbots and virtual support assistants (VSAs) to improve knowledge sharing and automate recurring tasks.
AIOps can help triage problems, prioritizing them and offering actions that can be taken to resolve issues based on integration with other expert systems or based on knowledge of similar past scenarios.
AIOps solutions for enterprises may also enable collaboration via integrations with other third-party messaging, notification and escalation products, such as Slack for example, which can eliminate the need for face-to-face meetings and long conference calls.
The AIOps workflow also facilitates the “post-mortem,” in which DevOps and SRE teams review the causes and events of incidents to better understand and implement permanent fixes and prevent similar problems from occurring in the future.