Abstract
Microservices changed cloud computing by moving the applications’ complexity from one monolithic executable to thousands of network interactions between small components. Given the increasing deployment sizes, the architectural exploitation challenges, and the impact on data-centers’ power consumption, we need to efficiently track this complexity. Within this article, we propose a black-box monitoring approach to track microservices at scale, focusing on architectural metrics, power consumption, application performance, and network performance. The proposed approach is transparent w.r.t. the monitored applications, generates less overhead w.r.t. black-box approaches available in the state-of-the-art, and provides fine-grain accurate metrics.
References
- Amedeo Asnaghi, M. Ferroni, and M. D. Santambrogio. 2016. DockerCap: A software-level power capping orchestrator for docker containers. In Proceedings of the Conference on Computational Science and Engineering (CSE’16) and IEEE International Conference on Embedded and Ubiquitous Computing (EUC’16) and 15th International Symposium on Distributed Computing and Applications for Business Engineering (DCABES’16). IEEE, 90--97.Google Scholar
- David H. Bailey, Eric Barszcz, John T. Barton, David S. Browning, Robert L. Carter, Leonardo Dagum, Rod A. Fatoohi, Paul O. Frederickson, Thomas A. Lasinski, Rob S. Schreiber, et al. 1991. The NAS parallel benchmarks. Int. J. Supercomput. Applic. 5, 3 (1991), 63--73. Google Scholar
Digital Library
- BCC. 2020. BPF Compiler Collection (BCC). Retrieved from https://www.iovisor.org/technology/bcc.Google Scholar
- Andrew Begel, Steven McCanne, and Susan L. Graham. 1999. BPF+: Exploiting global data-flow optimization in a generalized packet filter architecture. In ACM SIGCOMM Comput. Commun. Rev., Vol. 29. ACM, 123--134. Google Scholar
Digital Library
- Frank Bellosa. 2000. The benefits of event: Driven energy accounting in power-sensitive systems. In Proceedings of the 9th ACM SIGOPS European Workshop: Beyond the PC: New Challenges for the Operating System. ACM, 37--42. Google Scholar
Digital Library
- Rolando Brondolin, Matteo Ferroni, and Marco Santambrogio. 2019. Performance-aware load shedding for monitoring events in container based environments. ACM SIGBED Rev. 16, 3 (2019), 27--32. Google Scholar
Digital Library
- Rolando Brondolin, Tommaso Sardelli, and Marco D. Santambrogio. 2018. DEEP-mon: Dynamic and energy efficient power monitoring for container-based infrastructures. In Proceedings of the IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW’18). IEEE, 676--684.Google Scholar
- Brendan Burns, Brian Grant, David Oppenheimer, Eric Brewer, and John Wilkes. 2016. Borg, Omega, and Kubernetes. Queue 14, 1 (2016), 70--93. Google Scholar
Digital Library
- Chia-Chen Chang, Shun-Ren Yang, En-Hau Yeh, Phone Lin, and Jeu-Yih Jeng. 2017. A Kubernetes-based monitoring platform for dynamic cloud resource provisioning. In Proceedings of the IEEE Global Communications Conference (GLOBECOM’17). IEEE, 1--6.Google Scholar
Cross Ref
- Marcello Cinque, Raffaele Della Corte, and Antonio Pecchia. 2019. Microservices monitoring with event logs and black box execution tracing. IEEE Trans. Serv. Comput. (2019).Google Scholar
- Cncflandscape. 2020. CNCF Cloud Native Landscape. Retrieved from https://landscape.cncf.io.Google Scholar
- Datadog [n.d.]. Datadog. Retrieved on July 2020 from https://www.datadoghq.com.Google Scholar
- Arnaldo Carvalho De Melo. 2010. The new linux “perf” tools. In Slides from Linux Kongress, Vol. 18. 1--42.Google Scholar
- Luca Deri, Maurizio Martinelli, and Alfredo Cardigliano. 2014. Realtime high-speed network traffic monitoring using ntopng. In Proceedings of the 28th Large Installation System Administration Conference (LISA’14). 78--88. Google Scholar
Digital Library
- Luca Deri, Samuele Sabella, and Simone Mainardi. 2019. Combining system visibility and security using eBPF. In Proceedings of the Italian Conference on Cybersecurity.Google Scholar
- Docker 2020. Docker. Retrieved from https://www.docker.com.Google Scholar
- Matteo Ferroni, Juan A. Colmenares, Steven A. Hofmeyr, John D. Kubiatowicz, and Marco D. Santambrogio. 2018. Enabling power-awareness for the Xen hypervisor. ACM SIGBED Review 15, 1 (2018), 36--42. Google Scholar
Digital Library
- Martin Fowler and James Lewis. 2014. Microservices—A definition of this new architectural term. Retrieved from http://martinfowler. com/articles/microservices.html.Google Scholar
- Yu Gan, Yanqi Zhang, Dailun Cheng, Ankitha Shetty, Priyal Rathi, Nayan Katarki, Ariana Bruno, Justin Hu, Brian Ritchken, Brendon Jackson, et al. 2019. An open-source benchmark suite for microservices and their hardware-software implications for cloud 8 edge systems. In Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems. 3--18. Google Scholar
Digital Library
- Yu Gan, Yanqi Zhang, Kelvin Hu, Dailun Cheng, Yuan He, Meghna Pancholi, and Christina Delimitrou. 2019. Seer: Leveraging big data to navigate the complexity of performance debugging in cloud microservices. In Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems. 19--33. Google Scholar
Digital Library
- Emir Imamagic and Dobrisa Dobrenic. 2007. Grid infrastructure monitoring system based on Nagios. In Proceedings of the Workshop on Grid Monitoring. ACM, 23--28. Google Scholar
Digital Library
- Edward D. Lazowska, John Zahorjan, G. Scott Graham, and Kenneth C. Sevcik. 1984. Quantitative System Performance: Computer System Analysis Using Queueing Network Models. Prentice-Hall, Inc. Google Scholar
Digital Library
- Dimosthenis Masouros, Sotirios Xydis, and Dimitrios Soudris. 2020. Rusty: Runtime interference-aware predictive monitoring for modern multi-tenant systems. IEEE Trans. Parallel Distrib. Syst. 32, 1 (2020), 184--198.Google Scholar
Cross Ref
- Matthew L. Massie, Brent N. Chun, and David E. Culler. 2004. The ganglia distributed monitoring system: Design, implementation, and experience. Parallel Comput. 30, 7 (2004), 817--840.Google Scholar
Cross Ref
- Charles Masson, Jee E. Rim, and Homin K Lee. 2019. DDSketch: A fast and fully-mergeable quantile sketch with relative-error guarantees. Proc. VLDB Endow. 12, 12 (2019), 2195--2205. Google Scholar
Digital Library
- Benjamin Mayer and Rainer Weinreich. 2017. A dashboard for microservice monitoring and management. In Proceedings of the IEEE International Conference on Software Architecture Workshops (ICSAW’17). IEEE, 66--69.Google Scholar
Cross Ref
- Steven McCanne and Van Jacobson. 1993. The BSD packet filter: A new architecture for user-level packet capture. In Proceedings of the USENIX Winter Conference, Vol. 93. Google Scholar
Digital Library
- Farnaz Moradi, Christofer Flinta, Andreas Johnsson, and Catalin Meirosu. 2017. Conmon: An automated container based network performance monitoring system. In Proceedings of the IFIP/IEEE Symposium on Integrated Network and Service Management (IM’17). IEEE, 54--62.Google Scholar
Cross Ref
- Philip J. Mucci, Shirley Browne, Christine Deane, and George Ho. 1999. PAPI: A portable interface to hardware performance counters. In Proceedings of the Department of Defense HPCMP Users Group Conference, Vol. 710.Google Scholar
- Barak Naveh et al. 2008. JGraphT. Retrieved from http://jgrapht. sourceforge. net.Google Scholar
- Newrelic [n.d.]. NewRelic. Retrieved on July 2020 from https://newrelic.com.Google Scholar
- Ayman Noor, Devki Nandan Jha, Karan Mitra, Prem Prakash Jayaraman, Arthur Souza, Rajiv Ranjan, and Schahram Dustdar. 2019. A framework for monitoring microservice-oriented cloud applications in heterogeneous virtualization environments. In Proceedings of the IEEE 12th International Conference on Cloud Computing (CLOUD’19). IEEE, 156--163.Google Scholar
Cross Ref
- Fábio Pina, Jaime Correia, Ricardo Filipe, Filipe Araujo, and Jorge Cardroom. 2018. Nonintrusive monitoring of microservice-based systems. In Proceedings of the IEEE 17th International Symposium on Network Computing and Applications (NCA’18). IEEE, 1--8.Google Scholar
Cross Ref
- Sareh Fotuhi Piraghaj, Amir Vahid Dastjerdi, Rodrigo N. Calheiros, and Rajkumar Buyya. 2015. A framework and algorithm for energy efficient container consolidation in cloud data centers. In Proceedings of the IEEE International Conference on Data Science and Data Intensive Systems (DSDIS’15). IEEE, 368--375. Google Scholar
Digital Library
- Prometheus [n.d.]. Prometheus. Retrieved on July 2020 from https://prometheus.io.Google Scholar
- Efraim Rotem, Alon Naveh, Avinash Ananthakrishnan, Eliezer Weissmann, and Doron Rajwan. 2012. Power-management architecture of the Intel microarchitecture code-named Sandy Bridge. IEEE Micro 32, 2 (Mar. 2012), 20--27. DOI:https://doi.org/10.1109/MM.2012.12. Google Scholar
Digital Library
- Kai Shen, Arrvindh Shriraman, Sandhya Dwarkadas, Xiao Zhang, and Zhuan Chen. 2013. Power containers: An OS facility for fine-grained power and energy management on multicore servers. ACM SIGPLAN Not., Vol. 48. ACM, 65--76. Google Scholar
Digital Library
- sysdig [n.d.]. Sysdig. Retrieved on July 2020 from https://sysdig.com.Google Scholar
- tcpdump [n.d.]. Tcpdump. Retrieved on July 2020 from http://www.tcpdump.org.Google Scholar
- weavescope [n.d.]. Weave scope. Retrieved on July 2020 from https://www.weave.works/oss/scope/.Google Scholar
- Yan Zhai, Xiao Zhang, Stephane Eranian, Lingjia Tang, and Jason Mars. 2014. HaPPy: Hyperthread-aware power profiling dynamically. In Proceedings of the USENIX Annual Technical Conference. 211--217. Google Scholar
Digital Library
Index Terms
A Black-box Monitoring Approach to Measure Microservices Runtime Performance




Comments