Getting started with predictive analytics in DevOps

Getting started with predictive analytics in DevOps

Use machine data to quickly respond to problems and identify when human involvement may be needed.

Analytics: Charts and Graphs
Image credits : 
JuralMin, CC0. Modified by Jason Baker.
x

Subscribe now

Get the highlights in your inbox every week.

Data—it's the new currency. Many years ago, we measured the volume of data we processed in gigabytes; then we quickly moved to terabytes. Due to the influence of the smartphone and mobile devices, our volume of data is rapidly increasing to petabytes.

In addition to managing the size of our data, we need to process various kinds of data and begin to understand what data can tell us. One opportunity in DevOps is to analyze this large amount of machine data. More importantly, machine data, such as logs and metrics of multiple infrastructure-monitoring tools, can continue operating the current IT system throughout the hybrid cloud. Another opportunity is to use this machine data to quickly respond to problems and identify when human involvement may be needed.

It is critical to transform any DevOps initiative by using machine data, especially logs and metrics. With advanced analysis capabilities based on machine data, DevOps engineers or site reliability engineers (SREs) can understand these petabytes of data using statistics, indexing, filtering, and many other machine learning techniques.

Predictive analysis is a key area of advanced analytics that's used to make predictions about unknown future events. It analyzes current data from multiple applications across hybrid infrastructures and makes predictions about the future using methods such as data mining, statistics, modeling, deep learning, and artificial intelligence.

Predictive analysis software tools offer advanced analytical functions such as data mining, deep learning, statistical analysis, real-time scoring, predictive modeling, and optimization. They enable you to gather, analyze, and mine structured and unstructured data on what has happened and predict what is likely to happen based on past events in the applications in your infrastructure. The prediction model is typically composed of the classification and the regression models.

Here are three popular open source predictive analytics tools you can use as part of your DevOps initiative.

  • Anaconda is an open data science Python platform. It is a high-performance distribution of Python and R and contains more than 100 of the most popular Python, R, and Scala packages for data science.
  • H2O is an open source, scalable machine learning API for smarter applications including deep learning, gradient boost, random forest, and generalized linear modeling. It makes it easy to apply machine learning and predictive analysis.
  • Apache Mahout builds an environment that can quickly create a scalable performance machine learning application. It is a simple and extensible programming environment and framework for building scalable algorithms and includes various pre-algorithms for Scala, Apache Spark, H2O, and Apache Flink.

Adopting predictive analytics in the DevOps initiative is critical for many companies to improve efficiency and customer satisfaction. The rate of change is increasing due to new business models that continue to test new technologies, new competitors, and existing organizations in the market. Therefore, organizations must be able to respond quickly to changes while maintaining lower costs and higher quality than their competitors.

Predictive analytics are mainly used in DevOps initiatives to accelerate the application delivery capabilities in terms of tracking, security, quality, and performance. For example, if an automated testing tool in a DevOps pipeline detects new errors using a deep learning algorithm and alerts the QA team, they can accelerate the bug-fix process by creating a test pattern library. This capability improves test efficiency, application quality, and reduces go-to-market time. Another example might result in automatic provisioning of additional resources at peak loads or elimination of excessive resources during idle periods. It can also detect security problems, including the start of DDoS attacks and memory leaks.

As a result, DevOps engineers can benefit by identifying and addressing potential issues such as unexpected error codes, extended build time, reduced release speed, other bottlenecks, and unnecessary, time-consuming tasks.

Conclusion

Using predictive analytics in your DevOps initiative can provide great benefits in the software delivery lifecycle. These include eliminating technical debt by managing wasteful software development and reducing unnecessary alert storms with patterning to highlight only necessary alerts. In the end, the right predictive monitoring tool can trigger events earlier and prevent production failures.


What to read next

A network of people

Machine learning is quickly becoming a critical skill for developers to enhance their applications...
Three giant robots and a person

Learn about three of the most popular machine learning libraries for Python.
Developing code.

TensorFlow and the Raspberry Pi are working together in the city and on the farm. Learn about three recent, innovative projects.

About the author

Daniel Oh - DevOps Evangelist, CNCF Ambassador, Developer, Public Speaker, Writer, Principal Technical Product Marketing Manager at Red Hat