Advertisement

Troubleshooting Serverless functions: a combined monitoring and debugging approach

  • Johannes MannerEmail author
  • Stefan Kolb
  • Guido Wirtz
Special Issue Paper
  • 2 Downloads

Abstract

Today, Serverless computing gathers pace and attention in the cloud computing area. The abstraction of operational tasks combined with the auto-scaling property are convincing reasons to adapt this new cloud paradigm. Building applications in a Serverless style via cloud functions is challenging due to the fine-grained architecture and the tighter coupling to back end services. Increased complexity, loss of control over software layers and the large number of participating functions and back end services complicate the task of finding the cause of a faulty execution. A tedious but widespread strategy is the manual analysis of log data. In this paper, we present a semi-automated troubleshooting process to improve fault detection and resolution for Serverless functions. Log data is the vehicle to enable a posteriori analysis. The process steps of our concept enhance the log quality, detect failed executions automatically, and generate test skeletons based on the information provided in the log data. Ultimately, this leads to an increased test coverage, a better regression testing and more robust functions. Developers can trigger this process asynchronously and work with their accustomed tools. We also present a prototype SeMoDe to validate our approach for Serverless functions implemented in Java and deployed to AWS Lambda.

Keywords

Serverless functions FaaS AWS Lambda Monitoring Debugging Testing 

References

  1. 1.
    Fromm K (2012) Why the future of software and apps is Serverless. https://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is-serverless/. Accessed 31 Jan 2018
  2. 2.
    Savage N (2018) Going Serverless. Commun ACM 61:2Google Scholar
  3. 3.
    Mell P, Grance T (2011) The NIST deinition of cloud computing. Technical report, National Institute of Standards and Technology, GaithersburgGoogle Scholar
  4. 4.
    Baldini I et al (2017) Serverless computing: current trends and open problems. In: Chaudhary S, Somani G, Buyya R (eds) Research advances in cloud computing. Springer, SingaporeGoogle Scholar
  5. 5.
    Sbarski P (2017) Serverless architectures on Aws: with examples using Aws Lambda. Manning Publications, New YorkGoogle Scholar
  6. 6.
    Kolb S, Wirtz G (2014) Towards application portability in platform as a service. In: Proceedings of SOSEGoogle Scholar
  7. 7.
    van Eyk E et al (2017) The SPEC cloud group’s research vision on FaaS and Serverless architectures. In: Proceedings of WoSCGoogle Scholar
  8. 8.
    Hendrickson S et al (2016) Serverless computation with openLambda. In: Proceedings of HotCloudGoogle Scholar
  9. 9.
    Villamizar M et al (2016) Infrastructure cost comparison of running web applications in the cloud using AWS Lambda and monolithic and microservice architectures. In: Proceedings of CCGridGoogle Scholar
  10. 10.
    Jonas E et al (2017) Occupy the cloud: distributed computing for the 99%. In: Proceedings of SoCCGoogle Scholar
  11. 11.
    Roberts M, Chapin J (2017) What is Serverless?. O’Reilly Media. Inc, NewtonGoogle Scholar
  12. 12.
    Spring J (2011) Monitoring cloud computing by layer, part 1. IEEE Secur Priv 9(2):66–68Google Scholar
  13. 13.
    Spring J (2011) Monitoring cloud computing by layer, part 2. IEEE Secur Priv 9(3):52–55Google Scholar
  14. 14.
    Aceto G et al (2012) Cloud monitoring: definitions, issues and future directions. In: Proceedings of CLOUDNETGoogle Scholar
  15. 15.
    Yuan D et al (2011) Improving software diagnosability via log enhancement. In: Proceedings of ASPLOSGoogle Scholar
  16. 16.
    Kobayashi M et al (2017) Discovering cloud operation history through log analysis. In: Proceedings of AnNetGoogle Scholar
  17. 17.
    Kellogg M (2016) Combining bug detection and test case generation. In: Proceedings of SIGSOFTGoogle Scholar
  18. 18.
    Armbrust M et al (2010) A view of cloud computing. Commun ACM 53(4):50–58Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Distributed Systems GroupUniversity BambergBambergGermany

Personalised recommendations