research-article
Open Access

A Black-box Monitoring Approach to Measure Microservices Runtime Performance

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

  1. 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 ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. BCC. 2020. BPF Compiler Collection (BCC). Retrieved from https://www.iovisor.org/technology/bcc.Google ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle Scholar
  8. Brendan Burns, Brian Grant, David Oppenheimer, Eric Brewer, and John Wilkes. 2016. Borg, Omega, and Kubernetes. Queue 14, 1 (2016), 70--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarCross RefCross Ref
  10. 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 ScholarGoogle Scholar
  11. Cncflandscape. 2020. CNCF Cloud Native Landscape. Retrieved from https://landscape.cncf.io.Google ScholarGoogle Scholar
  12. Datadog [n.d.]. Datadog. Retrieved on July 2020 from https://www.datadoghq.com.Google ScholarGoogle Scholar
  13. Arnaldo Carvalho De Melo. 2010. The new linux “perf” tools. In Slides from Linux Kongress, Vol. 18. 1--42.Google ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. Luca Deri, Samuele Sabella, and Simone Mainardi. 2019. Combining system visibility and security using eBPF. In Proceedings of the Italian Conference on Cybersecurity.Google ScholarGoogle Scholar
  16. Docker 2020. Docker. Retrieved from https://www.docker.com.Google ScholarGoogle Scholar
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Martin Fowler and James Lewis. 2014. Microservices—A definition of this new architectural term. Retrieved from http://martinfowler. com/articles/microservices.html.Google ScholarGoogle Scholar
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarCross RefCross Ref
  24. 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 ScholarGoogle ScholarCross RefCross Ref
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarCross RefCross Ref
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarCross RefCross Ref
  29. 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 ScholarGoogle Scholar
  30. Barak Naveh et al. 2008. JGraphT. Retrieved from http://jgrapht. sourceforge. net.Google ScholarGoogle Scholar
  31. Newrelic [n.d.]. NewRelic. Retrieved on July 2020 from https://newrelic.com.Google ScholarGoogle Scholar
  32. 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 ScholarGoogle ScholarCross RefCross Ref
  33. 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 ScholarGoogle ScholarCross RefCross Ref
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. Prometheus [n.d.]. Prometheus. Retrieved on July 2020 from https://prometheus.io.Google ScholarGoogle Scholar
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. sysdig [n.d.]. Sysdig. Retrieved on July 2020 from https://sysdig.com.Google ScholarGoogle Scholar
  39. tcpdump [n.d.]. Tcpdump. Retrieved on July 2020 from http://www.tcpdump.org.Google ScholarGoogle Scholar
  40. weavescope [n.d.]. Weave scope. Retrieved on July 2020 from https://www.weave.works/oss/scope/.Google ScholarGoogle Scholar
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A Black-box Monitoring Approach to Measure Microservices Runtime Performance

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Article Metrics

        • Downloads (Last 12 months)185
        • Downloads (Last 6 weeks)116

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!