Microservices Data Mining for Analytics Feedback and Optimization

Microservices Data Mining for Analytics Feedback and Optimization

Kindson Munonye, Péter Martinek
Copyright: © 2021 |Pages: 22
DOI: 10.4018/IJEIS.2021010102
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

When microservices-based architectures are adopted for an enterprise application, a basic requirement would be an evaluation of the performance with the objective of continuous monitoring and improved efficiency. This evaluation helps businesses obtain a quantitative measure of the benefits of a shift from monolith to microservices. Additionally, the metrics obtained could be used as a mechanism for continuous improvement of production application. This research proposes a model based on the principles of data mining called stream analytics feedback and optimization (SAFAO), which can be used to achieve a continuous optimization of microservices. Stream analytics is due to the fact that the analysis is performed on online application with continuously generated lived data. This approach has been tested in a simulated production environment based on Docker containers. The authors were able to establish empirical measures which were continuously extracted via a data mining methodology and then fed back into the running application through configuration management. The results show a continuous improvement in the performance of the microservices as indicated in the results presented in this research.
Article Preview
Top

1. Introduction

A key aspect of enterprise applications is metrics collection which in turn is used to determine performance indicators that can be tuned and improved to provide higher software quality. For a monolith, these metrics could easily be collected via one entry point, for example a bootstrap url or application log files. In the case of microservices, however, there are now an increased number of interconnections and intercommunication between processes. A computation that once took placed within a single process could now be fragmented into many micro-computations across different services, processes and even threads (Christudas, 2019).

In a monolith architecture, method invocations or interactions between processes are localized allowing for processes to make assumptions and optimizations for complete execution of its operations. However, for the same architecture in microservices, implementations and possible deployment is split into processes(Bakshi, 2017) and even locations. This increases the number metrics collection channels available for the application thereby requiring an enhanced approach to the metrics collection and feedback.

This is illustrated with the Hospital Information System (HIS) scenario in Figure 1 which shows a system of four components and a single entry point, the Admissions Service. Since this entry point interfaces with other services, it becomes a trivial task to gather system-wide metric from this service. This is because all needed data gathering and optimization could be achieved via a single interface. Data stream is sure to reach the remaining three services in a synchronous manner.

Figure 1.

Single entry point for monoliths

IJEIS.2021010102.f01

In the case of a microservice architecture, each component could be considered as a full-fledged independently deployable application and therefore can generate its own dataset. For example, in Figure 2, the metrics generated by the Patients services http://path1:port(1) need to be evaluated relative to the metrics generated by the Admissions service at http://path3:port(3) and so on. Then these data somehow needs to be fed back into the system for purpose of optimizing system performance.

Therefore, the objective of this research is to develop an approach that can be used to integrated data generation, collection, analysis, feedback and optimization in a microservices architecture. This model adopts a data mining approach for microservices monitoring, data collection, analysis and feedback for performance metrics tuning.

Figure 2.

Multiple channels for –services architecture

IJEIS.2021010102.f02

This research is arranged as follows: chapter 2 provides an overview of the theoretical and architectural framework of data mining in applications. Chapter 3 discusses the concept of metrics gathering and performance tuning for microservices. Some existing research are presented as well.

Then in chapter 4, the methodology and proof of concept for the SAFAO approach is covered. Results and discussions are given chapter 5. Finally, chapter 6 discusses a summary achievements of the research, challenges and possibilities of further research in the area.

Top

2. Data Mining Overview

This section presents a general data mining framework and its application in enterprise systems. A number of existing research in this area is also presented.

Data mining with respect to recent growth in data generation combines the principles of statistics with ideas, tools and techniques from computer science, machine learning, database technology and other classical data analytical methods in the collection and discovery of interesting, unexpected or valuable structures in large datasets(Hand, 2007). Data mining can largely be divided into three main classes:

Complete Article List

Search this Journal:
Reset
Volume 20: 1 Issue (2024): Forthcoming, Available for Pre-Order
Volume 19: 1 Issue (2023)
Volume 18: 4 Issues (2022): 1 Released, 3 Forthcoming
Volume 17: 4 Issues (2021)
Volume 16: 4 Issues (2020)
Volume 15: 4 Issues (2019)
Volume 14: 4 Issues (2018)
Volume 13: 4 Issues (2017)
Volume 12: 4 Issues (2016)
Volume 11: 4 Issues (2015)
Volume 10: 4 Issues (2014)
Volume 9: 4 Issues (2013)
Volume 8: 4 Issues (2012)
Volume 7: 4 Issues (2011)
Volume 6: 4 Issues (2010)
Volume 5: 4 Issues (2009)
Volume 4: 4 Issues (2008)
Volume 3: 4 Issues (2007)
Volume 2: 4 Issues (2006)
Volume 1: 4 Issues (2005)
View Complete Journal Contents Listing