Microservice Fingerprinting and Classification using Machine Learning

07 October 2019

New Image

Application aware data centers promise various benefits for data center management in terms of resource provisioning, power estimation, network management and security protection. However, the emerging microservices make it challenging for data center operators to accurately identify what applications are run by tenants, due to the highly dynamic and heterogeneous environments of microservices. In this paper, we address the problem of fingerprinting microservices in a unified, efficient, accurate and non-intrusive fashion. To this end, we characterize the run-time behaviors of microservices using eBPF-based lightweight system call tracing. We then utilize the machine learning approach to classify the system call sequence data and fingerprint the microservices based on classification. We demonstrate that our approach can fingerprint many diverse realworld microservices with 99% accuracy, using 1-3% additional CPU resource.