28 research outputs found
Anomaly detection in cloud-native systems
Abstract
Companies develop cloud-native systems deployed on public and private clouds. Since private clouds have limited resources, the systems should run efficiently by keeping performance related anomalies under control. The goal of this work is to understand whether a set of five performance-related KPIs depends on the metrics collected at runtime by Kafka, Zookeeper, and other tools (168 different metrics). We considered four weeks worth of runtime data collected from a system running in production. We trained eight Machine Learning algorithms on three weeks worth of data and tested them on one week’s worth of data to compare their prediction accuracy and their training and testing time. It is possible to detect performance-related anomalies with a very high level of accuracy (higher than 95% AUC) and with very limited training time (between 8 and 17 minutes). Machine Learning algorithms can help to identify runtime anomalies and to detect them efficiently. Future work will include the identification of a proactive approach to recognize the root cause of the anomalies and to prevent them as early as possible
Analyzing organizational structure of microservice projects based on contributor collaboration
Abstract
Software system quality is strongly affected by the organizational structure and collaboration across developers. Effective and loosely coupled organization structures reflect the high quality of the system architecture and the efficiency with which this system can evolve. Especially for microservice-based systems, as the notion of “one-microservice-per-team” is highly recommended and advocated as one of the best practices in the industry, it is crucial for the companies to be aware of the status of their organizational structure and the critical contributors therein. To such an end, this paper proposes an approach to analyze the organizational structure of microservice-based software projects in terms of contributor collaboration and to identify the core contributors therein. Furthermore, we can also monitor the evolution of the project’s organizational structure via the growing collaboration activities through different releases. The proposed method shall help the companies and organizations adopting microservices better understand their organizational structure and make more effective decisions in maintaining the quality of microservice architectures