Supporting the DevOps Feedback Loop using Unsupervised Learning

Abstract

Nowadays, software systems and applications need to adapt rapidly to changing requirements and evolve in an agile manner. This creates the need for independent deployments, e.g. as part of DevOps. Due to the flexibility and fast release cycles comprised by DevOps, continuous monitoring and the generation of feedback is crucial to a system’s quality, especially if it is continuously developed. For this purpose, we propose a feedback system that combines operations data with development data in order to trace anomalies occurring in production back to their root cause by defining patterns, detecting anomalous behavior, and generating feedback that is transferred back into the development process. To this end, we utilize two different unsupervised machine learning techniques, the k-means clustering and the archetypal analysis, to describe the data set and use the results as a basis to characterize the behavior of new data points as either normal or anomalous. The feedback system was tested and evaluated using real data produced by an application that is currently developed within a large, industrial company and serves as a link to support the loop of continuous planning, development, deployment, monitoring, and feedback.

Publication
IEEE International Conference in Innovations in Intelligent Systems and Applications (IEEE INISTA 2019)