Prescriptive Analytics in DevOps: The Next Progress Phase
Here's a rundown of the tools and processes behind descriptive analytics and predictive analytics and how they should be leading to prescriptive analytics: systems that act.
Join the DZone community and get the full member experience.Join For Free
The natural evolution of IT management tools involves going from descriptive and predictive to prescriptive analytics in DevOps, meaning the systems should be able to act, not merely alert.
Automation is the way our IT management solutions evolve. Instead of manual configuration of separate servers, we now have scripts (like Kubernetes or Terraform manifests), and we can orchestrate IT infrastructure with them. However, the DevOps engineer still remains the acting agent.
Monitoring is a huge part of DevOps services, as the logging and monitoring toolkit of each DevOps team includes various tools like Elastic Stack, FluentD, Datadog, Splunk or Sumologic, Prometheus + Grafana, etc. All of these tools present detailed dashboards, search through the logs, and various key performance indicators (KPIs) to provide the in-depth understanding of the current state of the IT infrastructure and processes currently running. This is descriptive analytics at its best — presenting the detailed reports of the current (and past) state of DevOps
However, when something goes awry, looking at a blinking red dot and merely KNOWING something does not work correctly is of little help. Sifting through the logs to find the roots of the problem can be a time-consuming and laborious task. This is why all modern DevOps tools used for monitoring have modules and add-ons that enable diagnostic analytics, which enable the root-cause analysis automation, smart alerts, teamwork for problem-solving, and live analytics on the fly, to minimize the downtime and the effort needed to fix the error.
Predictive analytics is the latest addition to the capabilities of the DevOps monitoring tools. These capabilities include the combination of DevOps logs, Big Data lakes, and Machine Learning models. The ML algorithms trained on historical data are able to identify the “normal” behavior of the systems, operators and agents — and alert the DevOps specialists when some “abnormal” activity takes place, be it the beginning of a malicious DDoS attack, an attempt of unauthorized access or the loss of connection to some part of the system.
Prescriptive Analytics: The Way DevOps Systems Should Evolve
As you can see, all the stages of the evolution of the DevOps instruments were aimed at minimizing the time needed to investigate the origin of the problem and the human effort needed to rectify the situation. From manually checking the state of a multitude of modules in a variety of systems, to issuing several commands according to a smart alert on a centralized dashboard.
The next logical step is introducing prescriptive analytics — the model of monitoring and maintenance of DevOps systems where the machine itself is able to issue a smart alert, identify the problem, make a decision, and perform the needed correction according to a pre-recorded script. This enables the self-healing software and hardware systems.
For example, there are DevOps tools able to analyze the current state of the infrastructure on the go, watch for triggers (growing number of sessions, signs of upcoming server overload, etc.), and perform automatic infrastructure adjustments through APIs. This is done by employing Deep Learning networks that train on the historical data and constantly become better suited for solving the intended tasks.
Final Thoughts on Using the Prescriptive Analytics in DevOps
Going from structured data gathered from a limited number of sources and maximization of labor efficiency to unstructured data from the whole infrastructure and total elimination of manual labor is the next phase of the DevOps evolution. When the DevOps specialists are relieved from constant firefighting and mundane tasks, they are able to concentrate on improving their system architecture as a whole to remove the causes of the problems, instead of endlessly dealing with their consequences.
Published at DZone with permission of Vladimir Fedak, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.