Microservices Real-time Monitoring and Benchmarking

Keywords

microservices, quality attributes, real-time monitoring,workload generation, benchmarking, optimization

Objective

  • Build an agnostic monitoring system in order to capture real-time system and network data of the various components of a Microservice-based application.
  • Build a workload generation system that exploits a time compression technique in order to accelerate the benchmarking phase of Microservice-based applications.
  • Infer a mathematical correlation that defines a reliable approximation between the results derived from the executions in which the time compression technique is applied and those in which it is not.

Description

Real-time monitoringThe key idea is to capture real-time systemand network QoS metricsfrom the various parts of a running Microservice-based application instance and make them available as a payload stream via a publish-subscribe mechanism. This idea can be applied equally to commonly used OS-level virtualization and orchestration systems. Such data can be used to develop third-party applications like Service Discovery systems or Load balancers.

BenchmarkingThe key idea is to start with a real, pseudo-real, or synthetic workload scenario and compress the time intervals between the various requests in it uniformly by a certain factor of scale. Then it is required to implement an extensive experimental phase in order to produce a comprehensive collection of results at various levels of compression for each scenario. Finally, it is necessary to perform a precise stage of statistical analysis, implemented by comparing the results in compressed and uncompressed form for each scenario. Such a technique can be useful for speeding up the preliminary stages of activities like Debugging or Development.