Skip to main content

Tuning Runtimes in Open Source FaaS

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 11894))

Abstract

A dynamically expanding area of cloud computing is Function as a Service (FaaS). FaaS allows customers to develop, run, and manage application functionalities on cloud infrastructure without the burden of building and managing a virtual infrastructure. The vast majority of FaaS services used in production are provided by public cloud operators, but a growing number of open source FaaS frameworks offer an alternative deploying on-premises FaaS services. FaaS frameworks support different programming language runtimes. The performance of such systems is dependent on these language runtimes. Our goal is to show and analyze this dependency, and provide insights to the important aspect when performance is essential. This paper provides a measurement based evaluation of the capabilities of different language runtimes in FaaS frameworks. We evaluate three different workloads (echo, compute intensive, and data intensive) on the selected runtimes.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. OpenFaaS: of-watchdog. https://github.com/openfaas-incubator/golang-http-template

  2. Redis: Introduction to Redis. https://redis.io/topics/introduction

  3. Agrawal, S., et al.: Survey on Mongodb: an open-source document database. Int. J. Adv. Res. Eng. Technol. (IJARET) 1, 4 (2015)

    Google Scholar 

  4. Mongodb: Document Databases. https://www.mongodb.com/document-databases

  5. Sullivan, D., Sullivan, J.: NoSQL key-value database simplicity vs. document database flexibility. InformIT blog, 16 Sepetmber 2015. http://www.informit.com/articles/article.aspx?p=2429466

  6. DataStax: What is Apache Cassandra™?. https://academy.datastax.com/planet-cassandra/what-is-apache-cassandra

  7. Beazley, D.: Understanding the Python GIL. PyCON 2010, 20 February 2010. http://www.dabeaz.com/GIL/

  8. Node.js: Node.js v10.16.0 Documentation. https://nodejs.org/dist/latest-v10.x/docs/api/worker_threads.html

  9. Cloudlab: The Cloudlab Manual (2019). https://docs.cloudlab.us/hardware.html

  10. Mohanty, S.K., et al.: An evaluation of open source serverless computing frameworks. CloudCom (2018)

    Google Scholar 

  11. Fission. https://github.com/fission/fission

  12. Kubeless. https://kubeless.io/

  13. OpenFaaS. https://kubeless.io/

  14. Nuclio. https://nuclio.io/

  15. Baldini, I., et al.: Serverless computing: current trends and open problems. In: 2017 IEEE 37th International Conference on Distributed Computing Systems Workshops (ICDCSW) (2017)

    Google Scholar 

  16. Manner, J., et al.: Cold start influencing factors in function as a service. In: Fourth International Workshop on Serverless Computing (WoSC) 2018 (2018)

    Google Scholar 

  17. Manco, F., et al.: My VM is lighter (and safer) than your container. In: 26th Symposium on Operating Systems Principles, October 2017

    Google Scholar 

  18. Lee, H., et al.: Evaluation of production serverless computing environments. In: 2018 IEEE 11th International Conference on Cloud Computing (CLOUD) (2018)

    Google Scholar 

  19. de Abranches, M.C. Solis, P.: An algorithm based on response time and traffic demands to scale containers on a Cloud Computing system. In: IEEE 15th International Symposium on Network Computing and Applications (NCA), pp. 343–350, October 2016

    Google Scholar 

  20. de Abranches, M.C., Solis, P., Alchieri, E.: PAS-CA: a cloud computing auto-scalability method for high-demand web systems. In: IEEE 16th International Symposium on Network Computing and Applications (NCA), pp. 1–4 (2017)

    Google Scholar 

  21. Jin-Gang, Y., Ya-Rong, Z., Bo, Y., Shu, L.: Research and application of auto-scaling unified communication server based on docker. In: 10th International Conference on Intelligent Computation Technology and Automation (ICICTA), pp. 152–156 (2017)

    Google Scholar 

  22. Knative. https://cloud.google.com/knative/

  23. McGee, J.: IBM Cloud teams with Google and open community to help build Knative and expand the power of serverless, IBM Blog. https://www.ibm.com/blogs/cloud-computing/2018/07/24/ibm-cloud-google-knative-serverless/

  24. Wasson, M., Buck, A., Roberts, J., Wilson, M.: N-tier architecture style. Microsoft Azure (2018). https://docs.microsoft.com/en-us/azure/architecture/guide/architecture-styles/n-tier

  25. Microsoft: Enterprise solution patterns using Microsoft.NET. Microsoft (2014). https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff647095(v=pandp.10)

  26. Hellerstein, J.M., et al.: Serverless computing: one step forward, two steps back, December 2018

    Google Scholar 

  27. AWS: AWS lambda developer guide (2019). https://docs.aws.amazon.com/lambda/latest/dg/welcome.html

  28. Google Cloud: Cloud functions documentation (2019). https://cloud.google.com/functions/docs/

  29. Microsoft Azure: Azure functions documentation. https://docs.microsoft.com/en-us/azure/azure-functions/

  30. Kennedy, W.: Scheduling In Go. Adranlabs blog (2018). https://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part2.html

  31. Henningsen, A.: Node.js: the road to workers. In: Node.js Italian Conference (2018). https://addaleax.net/workers-nodefest/

  32. Flask. https://github.com/pallets/flask

  33. Werkzeug. https://github.com/pallets/werkzeug

  34. Weaveworks: Introducing weave net. https://www.weave.works/docs/net/latest/overview/

  35. Tu, L., et al.: Understanding real-world concurrency bugs in go. In: ASPLOS 19, April 2019

    Google Scholar 

  36. Hey. https://github.com/rakyll/hey

  37. Node.js: Node.js v8.16.0 documentation. https://nodejs.org/docs/latest-v8.x/api/

Download references

Acknowledgment

The research has been supported by the European Union, co-financed by the European Social Fund (EFOP-3.6.2-16-2017-00013, Thematic Fundamental Research Collaborations Grounding Innovation in Informatics and Infocommunications.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to David Balla .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Balla, D., Maliosz, M., Simon, C., Gehberger, D. (2020). Tuning Runtimes in Open Source FaaS. In: Hsu, CH., Kallel, S., Lan, KC., Zheng, Z. (eds) Internet of Vehicles. Technologies and Services Toward Smart Cities. IOV 2019. Lecture Notes in Computer Science(), vol 11894. Springer, Cham. https://doi.org/10.1007/978-3-030-38651-1_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-38651-1_21

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-38650-4

  • Online ISBN: 978-3-030-38651-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics