[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
survey

Rise of the Planet of Serverless Computing: A Systematic Review

Published: 21 July 2023 Publication History

Abstract

Serverless computing is an emerging cloud computing paradigm, being adopted to develop a wide range of software applications. It allows developers to focus on the application logic in the granularity of function, thereby freeing developers from tedious and error-prone infrastructure management. Meanwhile, its unique characteristic poses new challenges to the development and deployment of serverless-based applications. To tackle these challenges, enormous research efforts have been devoted. This article provides a comprehensive literature review to characterize the current research state of serverless computing. Specifically, this article covers 164 articles on 17 research directions of serverless computing, including performance optimization, programming framework, application migration, multi-cloud development, testing and debugging, and so on. It also derives research trends, focus, and commonly-used platforms for serverless computing, as well as promising research opportunities.

References

[8]
2022. Alibaba Cloud Function Compute. Retrieved May 01, 2022 from https://www.alibabacloud.com/products/function-compute.
[9]
2022. Amazon CloudWatch. Retrieved May 01, 2022 from https://aws.amazon.com/cloudwatch/.
[10]
2022. Amazon Elastic Compute Cloud. Retrieved May 01, 2022 from https://aws.amazon.com/ec2/?nc1=h_ls.
[11]
2022. Amazon S3. Retrieved May 01, 2022 from https://aws.amazon.com/s3/.
[13]
2022. AWS CloudTrail. Retrieved May 01, 2022 from https://aws.amazon.com/cloudtrail/.
[14]
2022. AWS Fargate. Retrieved May 01, 2022 from https://aws.amazon.com/fargate/.
[15]
2022. AWS IoT Greengrass. Retrieved May 01, 2022 from https://aws.amazon.com/greengrass/.
[16]
[17]
2022. AWS Lambda Pricing. Retrieved May 01, 2022 from https://aws.amazon.com/lambda/pricing/.
[18]
2022. AWS Serverless Application Repository. Retrieved May 01, 2022 from https://aws.amazon.com/serverless/serverlessrepo/.
[19]
2022. AWS Step Functions Documentation. Retrieved May 10, 2022 from https://docs.aws.amazon.com/step-functions/index.html.
[20]
2022. Azure App Service. Retrieved May 01, 2022 from https://azure.microsoft.com/en-us/services/app-service/.
[21]
2022. Azure Application Insights. Retrieved May 01, 2022 from https://docs.microsoft.com/en-us/azure/azure-monitor/app/app-insights-overview.
[22]
2022. Azure Functions. Retrieved May 01, 2022 from https://docs.microsoft.com/en-us/azure/azure-functions/.
[23]
2022. Azure Functions Pricing. Retrieved May 01, 2022 from https://azure.microsoft.com/en-us/pricing/details/functions/.
[24]
2022. Azure IoT Edge Documentation. Retrieved May 01, 2022 from https://docs.microsoft.com/en-us/azure/iot-edge/?view=iotedge-2018-06.
[25]
2022. Azure Marketplace. Retrieved May 01, 2022 from https://azuremarketplace.microsoft.com/en-us/.
[26]
2022. The CIO’s Guide to Serverless Computing. Retrieved May 01, 2022 from https://www.gartner.com/smarterwithgartner/the-cios-guide-to-serverless-computing.
[27]
2022. Cloud Development vs Traditional Software Development. Retrieved May 01, 2022 from https://intersog.com/blog/cloud-development-vs-traditional-development/.
[28]
2022. Retrieved May 01, 2022 from CouchDB. https://couchdb.apache.org/.
[29]
2022. DataDog: Modern Monitoring and Security. Retrieved May 10, 2022 from https://www.datadoghq.com/.
[30]
2022. DeathStarBench: Open-source Benchmark Suite for Cloud Microservices. Retrieved May 01, 2022 from https://github.com/delimitrou/DeathStarBench.
[31]
2022. Retrieved May 01, 2022 from Debugging and Testing. https://www.d.umn.edu/ gshute/softeng/testing.html.
[32]
2022. Docker. Retrieved May 01, 2022 from https://www.docker.com/.
[33]
2022. Epsagon: Application Monitoring Built for Containers and Serverless. Retrieved May 10, 2022 from https://epsagon.com/.
[34]
2022. Google App Engine. Retrieved May 01, 2022 from https://cloud.google.com/appengine.
[35]
2022. Google Cloud Functions. Retrieved May 01, 2022 from https://cloud.google.com/functions.
[36]
2022. Google Cloud Operations. Retrieved October 01, 2022 from https://cloud.google.com/products/operations.
[37]
2022. Google Docs. Retrieved May 01, 2022 from https://google-docs.en.softonic.com/.
[39]
2022. Google gVisor. Retrieved May 01, 2022 from https://github.com/google/gvisor.
[40]
2022. Infrastructure as Code. Retrieved May 01, 2022 from https://en.wikipedia.org/wiki/Infrastructure_as_code.
[41]
2022. Kafka. Retrieved May 01, 2022 from https://kafka.apache.org/.
[42]
2022. Kubernetes. Retrieved May 01, 2022 from https://kubernetes.io.
[43]
2022. LLVM. Retrieved May 01, 2022 from https://llvm.org/.
[44]
2022. Nginx. Retrieved May 01, 2022 from https://www.nginx.com/.
[45]
2022. OpenFaaS. Retrieved May 01, 2022 from https://www.openfaas.com/.
[46]
2022. OpenFaaS Function Store. Retrieved May 01, 2022 from https://github.com/openfaas/store.
[47]
2022. OpenLambda. Retrieved October 01, 2022 from https://github.com/open-lambda/open-lambda.
[48]
2022. Openwhisk. Retrieved May 01, 2022 from https://openwhisk.apache.org/.
[49]
2022. PCI Passthrough. Retrieved May 01, 2022 from https://pve.proxmox.com/wiki/Pci_passthrough.
[50]
2022. Prometheus. Retrieved May 01, 2022 from https://github.com/prometheus/prometheus.
[51]
2022. rCUDA. Retrieved May 01, 2022 from http://www.rcuda.net/.
[52]
2022. Serverless Architecture vs Traditional Architecture. Retrieved May 01, 2022 from https://networkinterview.com/serverless-architecture-vs-traditional-architecture/.
[53]
2022. Serverless Framework. Retrieved May 01, 2022 from https://www.serverless.com/.
[54]
2022. Top 10 Tools for IaaS Cloud Computing. Retrieved September 01, 2022 from https://a3logics.com/blog/tools-for-iaas-cloud-computing/.
[55]
2022. Unikernel. Retrieved May 01, 2022 from http://unikernel.org/.
[56]
2022. Visual Studio Code. Retrieved May 01, 2022 from https://code.visualstudio.com/.
[57]
2022. VMFUNC. Retrieved May 01, 2022 from felixcloutier.com/x86/vmfunc.
[58]
2022. WebAssembly. Retrieved May 01, 2022 from https://webassembly.org/.
[60]
2022. What you Need to know Before Implementing Infrastructure as a Service (IaaS). Retrieved September 01, 2022 from http://novacontext.com/what-you-need-to-know-before-implementing-iaas/.
[61]
2022. Xcode. Retrieved May 01, 2022 from https://developer.apple.com/xcode/.
[62]
Cristina L. Abad, Edwin F. Boza, and Erwin Van Eyk. 2018. Package-aware scheduling of FaaS functions. In Proceedings of the Companion of the 2018 ACM/SPEC International Conference on Performance Engineering. 101–106.
[63]
Gojko Adzic and Robert Chatley. 2017. Serverless computing: Economic and architectural impact. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering. 884–889.
[64]
Alexandru Agache, Marc Brooker, Alexandra Iordache, Anthony Liguori, Rolf Neugebauer, Phil Piwonka, and Diana-Maria Popa. 2020. Firecracker: Lightweight virtualization for serverless applications. In Proceedings of the 17th USENIX Symposium on Networked Systems Design and Implementation. 419–434.
[65]
Nabeel Akhtar, Ali Raza, Vatche Ishakian, and Ibrahim Matta. 2020. Cose: Configuring serverless functions using statistical learning. In Proceedings of the IEEE INFOCOM 2020-IEEE Conference on Computer Communications. IEEE, 129–138.
[66]
Adil Akhter, Marios Fragkoulis, and Asterios Katsifodimos. 2019. Stateful functions as a service in action. Proceedings of the VLDB Endowment 12, 12 (2019), 1890–1893.
[67]
Istemi Ekin Akkus, Ruichuan Chen, Ivica Rimac, Manuel Stein, Klaus Satzke, Andre Beck, Paarijaat Aditya, and Volker Hilt. 2018. SAND: Towards high-performance serverless computing. In Proceedings of the 2018 USENIX Annual Technical Conference. 923–935.
[68]
Zaid Al-Ali, Sepideh Goodarzy, Ethan Hunter, Sangtae Ha, Richard Han, Eric Keller, and Eric Rozner. 2018. Making serverless computing more serverless. In Proceedings of the 2018 IEEE 11th International Conference on Cloud Computing. IEEE, 456–459.
[69]
Fritz Alder, N. Asokan, Arseny Kurnikov, Andrew Paverd, and Michael Steiner. 2019. S-faas: Trustworthy and accountable function-as-a-service using intel SGX. In Proceedings of the 2019 ACM SIGSAC Conference on Cloud Computing Security Workshop. 185–199.
[70]
Ahsan Ali, Riccardo Pinciroli, Feng Yan, and Evgenia Smirni. 2020. Batch: Machine learning inference serving on serverless platforms with adaptive batching. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis. IEEE, 1–15.
[71]
Kalev Alpernas, Cormac Flanagan, Sadjad Fouladi, Leonid Ryzhyk, Mooly Sagiv, Thomas Schmitz, and Keith Winstein. 2018. Secure serverless computing using dynamic information flow control. Proceedings of the ACM on Programming Languages 2, 118 (2018), 1–26.
[72]
Kalev Alpernas, Aurojit Panda, Leonid Ryzhyk, and Mooly Sagiv. 2021. Cloud-scale runtime verification of serverless applications. In Proceedings of the ACM Symposium on Cloud Computing. 92–107.
[73]
Moayad Alshangiti, Hitesh Sapkota, Pradeep K. Murukannaiah, Xumin Liu, and Qi Yu. 2019. Why is developing machine learning applications challenging? A study on stack overflow posts. In Proceedings of 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. IEEE, 1–11.
[74]
Lixiang Ao, Liz Izhikevich, Geoffrey M. Voelker, and George Porter. 2018. Sprocket: A serverless video processing framework. In Proceedings of the ACM Symposium on Cloud Computing. 263–274.
[75]
Gabriel Aumala, Edwin Boza, Luis Ortiz-Avilés, Gustavo Totoy, and Cristina Abad. 2019. Beyond load balancing: Package-aware scheduling for serverless platforms. In Proceedings of the 2019 19th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing. IEEE, 282–291.
[76]
Marco Bacis, Rolando Brondolin, and Marco D. Santambrogio. 2020. BlastFunction: An FPGA-as-a-service system for accelerated serverless computing. In Proceedings of the 2020 Design, Automation and Test in Europe Conference and Exhibition. IEEE, 852–857.
[77]
Timon Back and Vasilios Andrikopoulos. 2018. Using a microbenchmark to compare function as a service solutions. In Proceedings of the European Conference on Service-Oriented and Cloud Computing. Springer, 146–160.
[78]
Deepali Bajaj, Urmil Bharti, Anita Goel, and S. C. Gupta. 2020. Partial migration for re-architecting a cloud native monolithic application into microservices and faas. In Proceedings of the International Conference on Information, Communication and Computing Technology. Springer, 111–124.
[79]
Ioana Baldini, Perry Cheng, Stephen J. Fink, Nick Mitchell, Vinod Muthusamy, Rodric Rabbah, Philippe Suter, and Olivier Tardieu. 2017. The serverless trilemma: Function composition for serverless computing. In Proceedings of the 2017 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software. 89–103.
[80]
Sebastian Baltes and Paul Ralph. 2022. Sampling in software engineering research: A critical review and guidelines. Empirical Software Engineering 27, 4 (2022), 1–31.
[81]
Daniel Barcelona-Pons, Marc Sánchez-Artigas, Gerard París, Pierre Sutra, and Pedro García-López. 2019. On the faas track: Building stateful distributed applications with serverless architectures. In Proceedings of the 20th International Middleware Conference. 41–54.
[82]
Daniel Barcelona-Pons, Pierre Sutra, Marc Sánchez-Artigas, Gerard París, and Pedro García-López. 2022. Stateful serverless computing with crucial. ACM Transactions on Software Engineering and Methodology 31, 3 (2022), 1–38.
[83]
Luciano Baresi, Danilo Filgueira Mendonça, Martin Garriga, Sam Guinea, and Giovanni Quattrocchi. 2019. A unified model for the mobile-edge-cloud continuum. ACM Transactions on Internet Technology 19, 2 (2019), 1–21.
[84]
David Bermbach, Jonathan Bader, Jonathan Hasenburg, Tobias Pfandzelter, and Lauritz Thamsen. 2022. AuctionWhisk: Using an auction-inspired approach for function placement in serverless fog platforms. Software: Practice and Experience 52, 5 (2022), 1143–1169.
[85]
David Bermbach, Ahmet-Serdar Karakaya, and Simon Buchholz. 2020. Using application knowledge to reduce cold starts in FaaS services. In Proceedings of the 35th Annual ACM Symposium on Applied Computing. 134–143.
[86]
Sushil Bhardwaj, Leena Jain, and Sandeep Jain. 2010. Cloud computing: A study of infrastructure as a service (IAAS). International Journal of Engineering and Information Technology 2, 1 (2010), 60–63.
[87]
Vivek M. Bhasi, Jashwant Raj Gunasekaran, Prashanth Thinakaran, Cyan Subhra Mishra, Mahmut Taylan Kandemir, and Chita Das. 2021. Kraken: Adaptive container provisioning for deploying dynamic DAGs in serverless platforms. In Proceedings of the ACM Symposium on Cloud Computing. 153–167.
[88]
Jonas Bonér. 2016. Reactive Microservices Architecture. O’Reilly Media, Incorporated.
[89]
Sol Boucher, Anuj Kalia, David G Andersen, and Michael Kaminsky. 2018. Putting the “micro” back in microservice. In Proceedings of the 2018 USENIX Annual Technical Conference. 645–650.
[90]
Edwin F. Boza, Cristina L. Abad, Mónica Villavicencio, Stephany Quimba, and Juan Antonio Plaza. 2017. Reserved, on demand or serverless: Model-based simulations for cloud budget planning. In Proceedings of the 2017 IEEE 2nd Ecuador Technical Chapters Meeting. IEEE, 1–6.
[91]
Lukas Brand and Markus Mock. 2021. SFL: A compiler for generating stateful aws lambda serverless applications. In Proceedings of the 17th International Workshop on Serverless Computing. 29–35.
[92]
James Cadden, Thomas Unger, Yara Awad, Han Dong, Orran Krieger, and Jonathan Appavoo. 2020. SEUSS: Skip redundant paths to make serverless fast. In Proceedings of the 15th European Conference on Computer Systems. 1–15.
[93]
Joao Carreira, Sumer Kohli, Rodrigo Bruno, and Pedro Fonseca. 2021. From warm to hot starts: Leveraging runtimes for the serverless era. In Proceedings of the Workshop on Hot Topics in Operating Systems. 58–64.
[94]
Benjamin Carver, Jingyuan Zhang, Ao Wang, Ali Anwar, Panruo Wu, and Yue Cheng. 2020. Wukong: A scalable and locality-enhanced framework for serverless parallel computing. In Proceedings of the 11th ACM Symposium on Cloud Computing. 1–15.
[95]
Benjamin Carver, Jingyuan Zhang, Ao Wang, and Yue Cheng. 2019. In search of a fast and efficient serverless dag engine. In Proceedings of the 2019 IEEE/ACM 4th International Parallel Data Systems Workshop. IEEE, 1–10.
[96]
Mohak Chadha, Anshul Jindal, and Michael Gerndt. 2021. Architecture-specific performance optimization of compute-intensive faas functions. In Proceedings of the 2021 IEEE 14th International Conference on Cloud Computing. IEEE, 478–483.
[97]
Dheeraj Chahal, Manju Ramesh, Ravi Ojha, and Rekha Singhal. 2021. High performance serverless architecture for deep learning workflows. In Proceedings of the 2021 IEEE/ACM 21st International Symposium on Cluster, Cloud and Internet Computing. IEEE, 790–796.
[98]
Zhenpeng Chen, Yanbin Cao, Yuanqiang Liu, Haoyu Wang, Tao Xie, and Xuanzhe Liu. 2020. A comprehensive study on challenges in deploying deep learning based software. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 750–762.
[99]
Bin Cheng, Jonathan Fuerst, Gurkan Solmaz, and Takuya Sanada. 2019. Fog function: Serverless fog computing for data intensive iot services. In Proceedings of the 2019 IEEE International Conference on Services Computing. IEEE, 28–35.
[100]
Angelos Christidis, Sotiris Moschoyiannis, Ching-Hsien Hsu, and Roy Davies. 2020. Enabling serverless deployment of large-scale ai workloads. IEEE Access 8 (2020), 70150–70161.
[101]
Jacob Cohen. 1960. A coefficient of agreement for nominal scales. Educational and Psychological Measurement 20, 1 (1960), 37–46.
[102]
Robert Cordingly, Wen Shu, and Wes J. Lloyd. 2020. Predicting performance and cost of serverless computing functions with SAAF. In Proceedings of the IEEE International Symposium on Dependable, Autonomic and Secure Computing. IEEE, 640–649.
[103]
Domenico Cotroneo, Flavio Frattini, Roberto Pietrantuono, and Stefano Russo. 2015. State-based robustness testing of IaaS cloud platforms. In Proceedings of the 5th International Workshop on Cloud Data and Platforms. 1–6.
[104]
Abdul Dakkak, Cheng Li, Simon Garcia De Gonzalo, Jinjun Xiong, and Wen-mei Hwu. 2019. Trims: Transparent and isolated model sharing for low latency deep learning inference in function-as-a-service. In Proceedings of the 2019 IEEE 12th International Conference on Cloud Computing. IEEE, 372–382.
[105]
Anirban Das, Andrew Leaf, Carlos A. Varela, and Stacy Patterson. 2020. Skedulix: Hybrid cloud scheduling for cost-efficient execution of serverless applications. In Proceedings of the 2020 IEEE 13th International Conference on Cloud Computing. IEEE, 609–618.
[106]
Pubali Datta, Prabuddha Kumar, Tristan Morris, Michael Grace, Amir Rahmati, and Adam Bates. 2020. Valve: Securing function workflows on serverless computing platforms. In Proceedings of the Web Conference 2020. 939–950.
[107]
Nilanjan Daw, Umesh Bellur, and Purushottam Kulkarni. 2020. Xanadu: Mitigating cascading cold starts in serverless function chain deployments. In Proceedings of the 21st International Middleware Conference. 356–370.
[108]
Leonardo Rebouças de Carvalho and Aletéia Patrícia Favacho de Araújo. 2019. Framework Node2FaaS: Automatic NodeJS application converter for function as a service. In Proceedings of the 10th International Conference on Cloud Computing and Services Science. 271–278.
[109]
Dong Du, Tianyi Yu, Yubin Xia, Binyu Zang, Guanglu Yan, Chenggang Qin, Qixuan Wu, and Haibo Chen. 2020. Catalyzer: Sub-millisecond startup for serverless computing with initialization-less booting. In Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems. 467–481.
[110]
Vojislav Dukic, Rodrigo Bruno, Ankit Singla, and Gustavo Alonso. 2020. Photons: Lambdas on a diet. In Proceedings of the 11th ACM Symposium on Cloud Computing. 45–59.
[111]
Simon Eismann, Long Bui, Johannes Grohmann, Cristina Abad, Nikolas Herbst, and Samuel Kounev. 2021. Sizeless: Predicting the optimal size of serverless functions. In Proceedings of the 22nd International Middleware Conference. 248–259.
[112]
Simon Eismann, Diego Elias Costa, Lizhi Liao, Cor-Paul Bezemer, Weiyi Shang, André van Hoorn, and Samuel Kounev. 2022. A case study on the stability of performance tests for serverless applications. Journal of Systems and Software 189 (2022), 111294.
[113]
Simon Eismann, Johannes Grohmann, Erwin Van Eyk, Nikolas Herbst, and Samuel Kounev. 2020. Predicting the costs of serverless workflows. In Proceedings of the ACM/SPEC International Conference on Performance Engineering. 265–276.
[114]
Simon Eismann, Joel Scheuner, Erwin Van Eyk, Maximilian Schwinger, Johannes Grohmann, Nikolas Herbst, Cristina Abad, and Alexandru Iosup. 2021. The state of serverless applications: Collection, characterization, and community consensus. IEEE Transactions on Software Engineering 48, 10 (2021), 4152–4166.
[115]
Simon Eismann, Joel Scheuner, Erwin Van Eyk, Maximilian Schwinger, Johannes Grohmann, Nikolas Herbst, Cristina L. Abad, and Alexandru Iosup. 2020. Serverless applications: Why, when, and how? IEEE Software 38, 1 (2020), 32–39.
[116]
Adam Eivy and Joe Weinman. 2017. Be wary of the economics of “serverless” cloud computing. IEEE Cloud Computing 4, 2 (2017), 6–12.
[117]
Tarek Elgamal. 2018. Costless: Optimizing cost of serverless computing through function fusion and placement. In Proceedings of the 2018 IEEE/ACM Symposium on Edge Computing. IEEE, 300–312.
[118]
Unai Elordi, Luis Unzueta, Jon Goenetxea, Sergio Sanchez-Carballido, Ignacio Arganda-Carreras, and Oihana Otaegui. 2020. Benchmarking deep neural network inference performance on serverless environments with MLPerf. IEEE Software 38, 1 (2020), 81–87.
[119]
Jonatan Enes, Roberto R. Expósito, and Juan Touriño. 2020. Real-time resource scaling platform for big data workloads on serverless environments. Future Generation Computer Systems 105 (2020), 361–379.
[120]
Nafise Eskandani and Guido Salvaneschi. 2021. The wonderless dataset for serverless computing. In Proceedings of 2021 IEEE/ACM 18th International Conference on Mining Software Repositories. IEEE, 565–569.
[121]
Henrique Fingler, Amogh Akshintala, and Christopher J. Rossbach. 2019. USETL: Unikernels for serverless extract transform and load why should you settle for less?. In Proceedings of the 10th ACM SIGOPS Asia-Pacific Workshop on Systems. 23–30.
[122]
Patrik Fortier, Frédéric Le Mouël, and Julien Ponge. 2021. Dyninka: A FaaS framework for distributed dataflow applications. In Proceedings of the 8th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems. 2–13.
[123]
Sadjad Fouladi, Francisco Romero, Dan Iter, Qian Li, Shuvo Chatterjee, Christos Kozyrakis, Matei Zaharia, and Keith Winstein. 2019. From laptop to lambda: Outsourcing everyday jobs to thousands of transient functional containers. In Proceedings of the 2019 USENIX Annual Technical Conference. 475–488.
[124]
Sadjad Fouladi, Riad S. Wahby, Brennan Shacklett, Karthikeyan Vasuki Balasubramaniam, William Zeng, Rahul Bhalerao, Anirudh Sivaraman, George Porter, and Keith Winstein. 2017. Encoding, fast and slow: Low-Latency video processing using thousands of tiny threads. In Proceedings of the 14th USENIX Symposium on Networked Systems Design and Implementation. 363–376.
[125]
Alexander Fuerst and Prateek Sharma. 2021. FaasCache: Keeping serverless computing alive with greedy-dual caching. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. 386–400.
[126]
Salvador Garcia, Julian Luengo, José Antonio Sáez, Victoria Lopez, and Francisco Herrera. 2012. A survey of discretization techniques: Taxonomy and empirical analysis in supervised learning. IEEE Transactions on Knowledge and Data Engineering 25, 4 (2012), 734–750.
[127]
Nikita Gerasimov. 2019. The DSL for composing functions for FaaS platform. In Proceedings of the 4th Conference on Software Engineering and Information Management.
[128]
Alim Ul Gias and Giuliano Casale. 2020. Cocoa: Cold start aware capacity planning for function-as-a-service platforms. In Proceedings of the 2020 28th International Symposium on the Modeling, Analysis, and Simulation of Computer and Telecommunication Systems. IEEE, 1–8.
[129]
Vicent Giménez-Alventosa, Germán Moltó, and Miguel Caballer. 2019. A framework and a performance assessment for serverless MapReduce on AWS Lambda. Future Generation Computer Systems 97 (2019), 259–274.
[130]
Jake Grogan, Connor Mulready, James McDermott, Martynas Urbanavicius, Murat Yilmaz, Yalemisew Abgaz, Andrew McCarren, Silvana Togneri MacMahon, Vahid Garousi, Peter Elger, et al. 2020. A multivocal literature review of function-as-a-service (faas) infrastructures and implications for software developers. In Proceedings of the European Conference on Software Process Improvement. Springer, 58–75.
[131]
Jashwant Raj Gunasekaran, Prashanth Thinakaran, Mahmut Taylan Kandemir, Bhuvan Urgaonkar, George Kesidis, and Chita Das. 2019. Spock: Exploiting serverless functions for slo and cost aware resource procurement in public cloud. In Proceedings of the 2019 IEEE 12th International Conference on Cloud Computing. IEEE, 199–208.
[132]
Adam Hall and Umakishore Ramachandran. 2019. An execution model for serverless functions at the edge. In Proceedings of the International Conference on Internet of Things Design and Implementation. 225–236.
[133]
Tracy Hall, Nathan Baddoo, Sarah Beecham, Hugh Robinson, and Helen Sharp. 2009. A systematic review of theory use in studies investigating the motivations of software engineers. ACM Transactions on Software Engineering and Methodology 18, 3 (2009), 1–29.
[134]
Hassan B. Hassan, Saman A. Barakat, and Qusay I. Sarhan. 2021. Survey on serverless computing. Journal of Cloud Computing 10, 1 (2021), 1–29.
[135]
Shay Horovitz, Roei Amos, Ohad Baruch, Tomer Cohen, Tal Oyar, and Afik Deri. 2018. Faastest-machine learning based cost and performance faas optimization. In Proceedings of the International Conference on the Economics of Grids, Clouds, Systems, and Services. Springer, 171–186.
[136]
MohammadReza HoseinyFarahabady, Young Choon Lee, Albert Y. Zomaya, and Zahir Tari. 2017. A qos-aware resource allocation controller for function as a service (faas) platform. In Proceedings of the International Conference on Service-Oriented Computing. Springer, 241–255.
[137]
M. Reza HoseinyFarahabady, Albert Y. Zomaya, and Zahir Tari. 2017. A model predictive controller for managing QoS enforcements and microarchitecture-level interferences in a lambda platform. IEEE Transactions on Parallel and Distributed Systems 29, 7 (2017), 1442–1455.
[138]
Nargiz Humbatova, Gunel Jahangirova, Gabriele Bavota, Vincenzo Riccio, Andrea Stocco, and Paolo Tonella. 2020. Taxonomy of real faults in deep learning systems. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering. 1110–1121.
[139]
Abhinav Jangda, Donald Pinckney, Yuriy Brun, and Arjun Guha. 2019. Formal foundations of serverless computing. Proceedings of the ACM on Programming Languages 3, 149 (2019), 1–26.
[140]
Jananie Jarachanthan, Li Chen, Fei Xu, and Bo Li. 2021. AMPS-Inf: Automatic model partitioning for serverless inference with cost efficiency. In Proceedings of the 50th International Conference on Parallel Processing. 1–12.
[141]
Zhipeng Jia and Emmett Witchel. 2021. Boki: Stateful serverless computing with shared logs. In Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles. 691–707.
[142]
Zhipeng Jia and Emmett Witchel. 2021. Nightcore: Efficient and scalable serverless computing for latency-sensitive, interactive microservices. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. 152–166.
[143]
Anshul Jindal, Michael Gerndt, Mohak Chadha, Vladimir Podolskiy, and Pengfei Chen. 2021. Function delivery network: Extending serverless computing for heterogeneous platforms. Software: Practice and Experience 51, 9 (2021), 1936–1963.
[144]
Eric Jonas, Qifan Pu, Shivaram Venkataraman, Ion Stoica, and Benjamin Recht. 2017. Occupy the cloud: Distributed computing for the 99%. In Proceedings of the 2017 Symposium on Cloud Computing. 445–451.
[145]
Eric Jonas, Johann Schleier-Smith, Vikram Sreekanti, Chia-Che Tsai, Anurag Khandelwal, Qifan Pu, Vaishaal Shankar, Joao Carreira, Karl Krauth, Neeraja Yadwadkar, Joseph E. Gonzalez, Raluca Ada Popa, Ion Stoica, and David A. Patterson. 2019. Cloud programming simplified: A berkeley view on serverless computing. arXiv:1902.03383. Retrieved from https://arxiv.org/abs/1902.03383.
[146]
Kostis Kaffes, Neeraja J. Yadwadkar, and Christos Kozyrakis. 2019. Centralized core-granular scheduling for serverless functions. In Proceedings of the ACM Symposium on Cloud Computing. 158–164.
[147]
Alex Kaplunovich. 2019. ToLambda–automatic path to serverless architectures. In Proceedings of the 2019 IEEE/ACM 3rd International Workshop on Refactoring. IEEE, 1–8.
[148]
Staffs Keele et al. 2007. Guidelines for Performing Systematic Literature Reviews in Software Engineering. Technical Report. Technical report, ver. 2.3 ebse technical report. ebse.
[149]
Joanna Kijak, Piotr Martyna, Maciej Pawlik, Bartosz Balis, and Maciej Malawski. 2018. Challenges for scheduling scientific workflows on cloud functions. In Proceedings of the 2018 IEEE 11th International Conference on Cloud Computing. IEEE, 460–467.
[150]
Dong Kyoung Kim and Hyun-Gul Roh. 2021. Scheduling containers rather than functions for function-as-a-service. In Proceedings of the 2021 IEEE/ACM 21st International Symposium on Cluster, Cloud and Internet Computing. IEEE, 465–474.
[151]
Jaewook Kim, Tae Joon Jun, Daeyoun Kang, Dohyeun Kim, and Daeyoung Kim. 2018. Gpu enabled serverless computing framework. In Proceedings of the 2018 26th Euromicro International Conference on Parallel, Distributed and Network-based Processing. IEEE, 533–540.
[152]
Jeongchul Kim and Kyungyong Lee. 2019. Functionbench: A suite of workloads for serverless cloud function service. In Proceedings of the 2019 IEEE 12th International Conference on Cloud Computing. IEEE, 502–504.
[153]
Young Ki Kim, M. Reza HoseinyFarahabady, Young Choon Lee, and Albert Y. Zomaya. 2020. Automated fine-grained cpu cap control in serverless computing platform. IEEE Transactions on Parallel and Distributed Systems 31, 10 (2020), 2289–2301.
[154]
Young Ki Kim, M. Reza HoseinyFarahabady, Young Choon Lee, Albert Y. Zomaya, and Raja Jurdak. 2018. Dynamic control of CPU usage in a lambda platform. In Proceedings of the 2018 IEEE International Conference on Cluster Computing. IEEE, 234–244.
[155]
Ana Klimovic, Yawen Wang, Patrick Stuedi, Animesh Trivedi, Jonas Pfefferle, and Christos Kozyrakis. 2018. Pocket: Elastic ephemeral storage for serverless analytics. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation. 427–444.
[156]
Swaroop Kotni, Ajay Nayak, Vinod Ganapathy, and Arkaprava Basu. 2021. Faastlane: Accelerating function-as-a-service workflows. In Proceedings of the 2021 USENIX Annual Technical Conference. 805–820.
[157]
Kyriakos Kritikos, Pawel Skrzypek, Alexandru Moga, and Oliviu Matei. 2019. Towards the modelling of hybrid cloud applications. In Proceedings of the 2019 IEEE 12th International Conference on Cloud Computing. IEEE, 291–295.
[158]
J. Richard Landis and Gary G. Koch. 1977. The measurement of observer agreement for categorical data. Biometrics 33, 1 (1977), 159–174.
[159]
Seungjun Lee, Daegun Yoon, Sangho Yeo, and Sangyoon Oh. 2021. Mitigating cold start problem in serverless computing with function fusion. Sensors 21, 24 (2021), 8416.
[160]
Youngsoo Lee and Sunghee Choi. 2021. A greedy load balancing algorithm for faaS platforms. In Proceedings of the 2021 5th International Conference on Cloud and Big Data Computing. 63–69.
[161]
Philipp Leitner, Erik Wittern, Josef Spillner, and Waldemar Hummer. 2019. A mixed-method empirical study of Function-as-a-Service software development in industrial practice. Journal of Systems and Software 149 (2019), 340–359.
[162]
Valentina Lenarduzzi, Jeremy Daly, Antonio Martini, Sebastiano Panichella, and Damian Andrew Tamburri. 2020. Toward a technical debt conceptualization for serverless computing. IEEE Software 38, 1 (2020), 40–47.
[163]
Valentina Lenarduzzi and Annibale Panichella. 2020. Serverless testing: Tool vendors’ and experts’ points of view. IEEE Software 38, 1 (2020), 54–60.
[164]
Yongkang Li, Yanying Lin, Yang Wang, Kejiang Ye, and Cheng-Zhong Xu. 2022. Serverless computing: State-of-the-art, challenges and opportunities. IEEE Transactions on Services Computing (2022).
[165]
Zijun Li, Linsong Guo, Jiagan Cheng, Quan Chen, BingSheng He, and Minyi Guo. 2021. The serverless computing survey: A technical primer for design architecture. Computing Surveys 54, 10s (2021), 1–34.
[166]
Bin Lin, Nathan Cassee, Alexander Serebrenik, Gabriele Bavota, Nicole Novielli, and Michele Lanza. 2022. Opinion mining for software development: A systematic literature review. ACM Transactions on Software Engineering and Methodology 31, 3 (2022), 1–41.
[167]
Changyuan Lin and Hamzeh Khazaei. 2020. Modeling and optimization of performance and cost of serverless applications. IEEE Transactions on Parallel and Distributed Systems 32, 3 (2020), 615–632.
[168]
Wei Ling, Lin Ma, Chen Tian, and Ziang Hu. 2019. Pigeon: A dynamic and efficient serverless and FaaS framework for private cloud. In Proceedings of the 2019 International Conference on Computational Science and Computational Intelligence. 1416–1421.
[169]
Xuanzhe Liu, Gang Huang, Qi Zhao, Hong Mei, and M. Brian Blake. 2014. iMashup: A mashup-based framework for service composition. Science China Information Sciences 57, 1 (2014), 1–20.
[170]
Xueqing Liu, Yangqiu Song, Shixia Liu, and Haixun Wang. 2012. Automatic taxonomy construction from keywords. In Proceedings of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 1433–1441.
[171]
Wes Lloyd, Shruti Ramesh, Swetha Chinthalapati, Lan Ly, and Shrideep Pallickara. 2018. Serverless computing: An investigation of factors influencing microservice performance.In Proceedings of the 2018 IEEE International Conference on Cloud Engineering. IEEE, 159–169.
[172]
Sin Kit Lo, Qinghua Lu, Chen Wang, Hye-Young Paik, and Liming Zhu. 2021. A systematic literature review on federated machine learning: From a software engineering perspective. ACM Computing Surveys 54, 5 (2021), 1–39.
[173]
Ju Long, Hung-Ying Tai, Shen-Ta Hsieh, and Michael Juntao Yuan. 2020. A lightweight design for serverless function as a service. IEEE Software 38, 1 (2020), 75–80.
[174]
Yiling Lou, Zhenpeng Chen, Yanbin Cao, Dan Hao, and Lu Zhang. 2020. Understanding build issue resolution in practice: Symptoms and fix patterns. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 617–628.
[175]
Taras Lykhenko, Rafael Soares, and Luis Rodrigues. 2021. FaaSTCC: Efficient transactional causal consistency for serverless computing. In Proceedings of the 22nd International Middleware Conference. 159–171.
[176]
Kunal Mahajan, Daniel Figueiredo, Vishal Misra, and Dan Rubenstein. 2019. Optimal pricing for serverless computing. In Proceedings of the 2019 IEEE Global Communications Conference. IEEE, 1–6.
[177]
Ashraf Mahgoub, Li Wang, Karthick Shankar, Yiming Zhang, Huangshi Tian, Subrata Mitra, Yuxing Peng, Hongqi Wang, Ana Klimovic, Haoran Yang, et al. 2021. SONIC: Application-aware data passing for chained serverless applications. In Proceedings of the 2021 USENIX Annual Technical Conference. 285–301.
[178]
Nima Mahmoudi and Hamzeh Khazaei. 2020. Performance modeling of serverless computing platforms. IEEE Transactions on Cloud Computing 10, 4 (2020), 2834–2847.
[179]
Nima Mahmoudi and Hamzeh Khazaei. 2020. Temporal performance modelling of serverless computing platforms. In Proceedings of the 2020 6th International Workshop on Serverless Computing. 1–6.
[180]
Nima Mahmoudi, Changyuan Lin, Hamzeh Khazaei, and Marin Litoiu. 2019. Optimizing serverless computing: Introducing an adaptive function placement algorithm. In Proceedings of the 29th Annual International Conference on Computer Science and Software Engineering. 203–213.
[181]
Marcin Majewski, Maciej Pawlik, and Maciej Malawski. 2021. Algorithms for scheduling scientific workflows on serverless architecture. In Proceedings of the 2021 IEEE/ACM 21st International Symposium on Cluster, Cloud and Internet Computing. IEEE, 782–789.
[182]
Anupama Mampage, Shanika Karunasekera, and Rajkumar Buyya. 2021. Deadline-aware dynamic resource management in serverless computing environments. In Proceedings of the 2021 IEEE/ACM 21st International Symposium on Cluster, Cloud and Internet Computing. IEEE, 483–492.
[183]
Anupama Mampage, Shanika Karunasekera, and Rajkumar Buyya. 2021. A holistic view on resource management in serverless computing environments: Taxonomy and future directions. ACM Computing Surveys 54, 11s (2021), 1–36.
[184]
William Martin, Federica Sarro, Yue Jia, Yuanyuan Zhang, and Mark Harman. 2016. A survey of app store analysis for software engineering. IEEE Transactions on Software Engineering 43, 9 (2016), 817–847.
[185]
Vadym Maslov and Andriy Petrashenko. 2021. Distributed serverless computing orchestration based on finite automaton. In Proceedings of the International Conference on Computer Science, Engineering and Education Applications. Springer, 290–303.
[186]
Dominik Meissner, Benjamin Erb, Frank Kargl, and Matthias Tichy. 2018. Retro-\(\lambda\): An event-sourced platform for serverless applications with retroactive computing support. In Proceedings of the 12th ACM International Conference on Distributed and Event-based Systems. 76–87.
[187]
Peter Mell and Timothy Grance. 2011. The NIST definition of cloud computing. Special Publication 800 (2011), 145.
[188]
Anup Mohan, Harshad Sane, Kshitij Doshi, Saikrishna Edupuganti, Naren Nayak, and Vadim Sukhomlinov. 2019. Agile cold starts for scalable serverless. In Proceedings of the 11th USENIX Workshop on Hot Topics in Cloud Computing.
[189]
Rahul Mohanani, Iflaah Salman, Burak Turhan, Pilar Rodríguez, and Paul Ralph. 2018. Cognitive biases in software engineering: A systematic mapping study. IEEE Transactions on Software Engineering 46, 12 (2018), 1318–1339.
[190]
Ajdin Mujezinović and Vedran Ljubović. 2019. Serverless architecture for workflow scheduling with unconstrained execution environment. In Proceedings of the 2019 42nd International Convention on Information and Communication Technology, Electronics and Microelectronics. IEEE, 242–246.
[191]
Djob Mvondo, Mathieu Bacou, Kevin Nguetchouang, Lucien Ngale, Stéphane Pouget, Josiane Kouam, Renaud Lachaize, Jinho Hwang, Tim Wood, Daniel Hagimont, et al. 2021. OFC: An opportunistic caching system for FaaS platforms. In Proceedings of the 16th European Conference on Computer Systems. 228–244.
[192]
Shripad Nadgowda, Nilton Bila, and Canturk Isci. 2017. The less server architecture for cloud functions. In Proceedings of the 2nd International Workshop on Serverless Computing. 22–27.
[193]
Diana M. Naranjo, Sebastián Risco, Carlos de Alfonso, Alfonso Pérez, Ignacio Blanquer, and Germán Moltó. 2020. Accelerated serverless computing based on GPU virtualization. Journal of Parallel and Distributed Computing 139 (2020), 32–42.
[194]
Sam Newman. 2021. Building Microservices. “O’Reilly Media, Inc.”.
[195]
Hai Duc Nguyen, Chaojie Zhang, Zhujun Xiao, and Andrew A. Chien. 2019. Real-time serverless: Enabling application performance guarantees. In Proceedings of the 5th International Workshop on Serverless Computing. 1–6.
[196]
Edward Oakes, Leon Yang, Kevin Houck, Tyler Harter, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2017. Pipsqueak: Lean lambdas with large libraries. In Proceedings of the IEEE 37th International Conference on Distributed Computing Systems Workshops. IEEE, 395–400.
[197]
Edward Oakes, Leon Yang, Dennis Zhou, Kevin Houck, Tyler Harter, Andrea Arpaci-Dusseau, and Remzi Arpaci-Dusseau. 2018. SOCK: Rapid task provisioning with serverless-optimized containers. In Proceedings of the 2018 USENIX Annual Technical Conference. USENIX Association, 57–70.
[198]
Matthew Obetz, Stacy Patterson, and Ana Milanova. 2019. Static call graph construction in aws lambda serverless applications. In Proceedings of the 11th USENIX Workshop on Hot Topics in Cloud Computing.
[199]
Giuseppe De Palma, Saverio Giallorenzo, Jacopo Mauro, and Gianluigi Zavattaro. 2020. Allocation priority policies for serverless function-execution scheduling optimisation. In Proceedings of the International Conference on Service-Oriented Computing. Springer, 416–430.
[200]
Owain Parry, Gregory M. Kapfhammer, Michael Hilton, and Phil McMinn. 2021. A survey of flaky tests. ACM Transactions on Software Engineering and Methodology 31, 1 (2021), 1–74.
[201]
Maciej Pawlik, Pawel Banach, and Maciej Malawski. 2019. Adaptation of workflow application scheduling algorithm to serverless infrastructure. In Proceedings of the European Conference on Parallel Processing. Springer, 345–356.
[202]
KJPG Perera and I. Perera. 2018. A rule-based system for automated generation of serverless-microservices architecture. In Proceedings of the IEEE International Systems Engineering Symposium. IEEE, 1–8.
[203]
Alfonso Pérez, Germán Moltó, Miguel Caballer, and Amanda Calatrava. 2018. Serverless computing for container-based architectures. Future Generation Computer Systems 83 (2018), 50–59.
[204]
Alfonso Pérez, Germán Moltó, Miguel Caballer, and Amanda Calatrava. 2019. A programming model and middleware for high throughput serverless computing applications. In Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing. 106–113.
[205]
Tobias Pfandzelter and David Bermbach. 2020. tinyfaas: A lightweight faas platform for edge environments. In Proceedings of the 2020 IEEE International Conference on Fog Computing. IEEE, 17–24.
[206]
Bartłomiej Przybylski, Paweł Żuk, and Krzysztof Rzadca. 2021. Data-driven scheduling in serverless computing to reduce response time. In Proceedings of the 2021 IEEE/ACM 21st International Symposium on Cluster, Cloud and Internet Computing. IEEE, 206–216.
[207]
Alexandros Psychas, John Violos, Fotis Aisopos, Athanasia Evangelinou, George Kousiouris, Ioannis Bouras, Theodora Varvarigou, Gerasimos Xidas, Dimitrios Charilas, and Yiannis Stavroulas. 2020. Cloud toolkit for provider assessment, optimized application cloudification and deployment on IaaS. Future Generation Computer Systems 109 (2020), 657–667.
[208]
Qifan Pu, Shivaram Venkataraman, and Ion Stoica. 2019. Shuffling, fast and slow: Scalable analytics on serverless infrastructure. In Proceedings of the 16th USENIX Symposium on Networked Systems Design and Implementation. 193–206.
[209]
Chen Qian and Wenjing Zhu. 2020. F(X)-MAN: An algebraic and hierarchical composition model for function-as-a-service. In Proceedings of the 32nd International Conference on Software Engineering and Knowledge Engineering. 210–215.
[210]
Weizhong Qiang, Zezhao Dong, and Hai Jin. 2018. Se-lambda: Securing privacy-sensitive serverless applications using sgx enclave. In Proceedings of the International Conference on Security and Privacy in Communication Systems. Springer, 451–470.
[211]
Shijun Qin, Heng Wu, Yuewen Wu, Bowen Yan, Yuanjia Xu, and Wenbo Zhang. 2020. Nuka: A generic engine with millisecond initialization for serverless computing. In Proceedings of the 2020 IEEE International Conference on Joint Cloud Computing. IEEE, 78–85.
[212]
Burkhard Ringlein, François Abel, Dionysios Diamantopoulos, Beat Weiss, Christoph Hagleitner, Marc Reichenbach, and Dietmar Fey. 2021. A case for function-as-a-service with disaggregated FPGAs. In Proceedings of the 2021 IEEE 14th International Conference on Cloud Computing. IEEE, 333–344.
[213]
Sasko Ristov, Stefan Pedratscher, Jakob Wallnoefer, and Thomas Fahringer. 2020. Daf: Dependency-aware faasifier for node.js monolithic applications. IEEE Software 38, 1 (2020), 48–53.
[214]
Francisco Romero, Gohar Irfan Chaudhry, Íñigo Goiri, Pragna Gopa, Paul Batum, Neeraja J Yadwadkar, Rodrigo Fonseca, Christos Kozyrakis, and Ricardo Bianchini. 2021. FaaT: A transparent auto-scaling cache for serverless applications. In Proceedings of the ACM Symposium on Cloud Computing. 122–137.
[215]
Andrea Sabbioni, Lorenzo Rosa, Armir Bujari, Luca Foschini, and Antonio Corradi. 2021. A shared memory approach for function chaining in serverless platforms. In Proceedings of the 2021 IEEE Symposium on Computers and Communications. IEEE, 1–6.
[216]
Aakanksha Saha and Sonika Jindal. 2018. EMARS: Efficient management and allocation of resources in serverless. In Proceedings of the 2018 IEEE 11th International Conference on Cloud Computing. IEEE, 827–830.
[217]
Fatima Samea, Farooque Azam, Muhammad Waseem Anwar, Mehreen Khan, and Muhammad Rashid. 2019. A UML profile for multi-cloud service configuration (UMLPMSC) in event-driven serverless applications. In Proceedings of the 2019 8th International Conference on Software and Computer Applications. 431–435.
[218]
Josep Sampé, Pedro Garcia-Lopez, Marc Sanchez-Artigas, Gil Vernik, Pol Roca-Llaberia, and Aitor Arjona. 2020. Toward multicloud access transparency in serverless computing. IEEE Software 38, 1 (2020), 68–74.
[219]
Josep Sampé, Marc Sánchez-Artigas, Pedro García-López, and Gerard París. 2017. Data-driven serverless functions for object storage. In Proceedings of the 18th International Middleware Conference. 121–133.
[220]
Marc Sánchez-Artigas, Germán T. Eizaguirre, Gil Vernik, Lachlan Stuart, and Pedro García-López. 2020. Primula: A practical shuffle/sort operator for serverless computing. In Proceedings of the 21st International Middleware Conference Industrial Track. 31–37.
[221]
Arnav Sankaran, Pubali Datta, and Adam Bates. 2020. Workflow integration alleviates identity and access management in serverless computing. In Proceedings of the Annual Computer Security Applications Conference. 496–509.
[222]
Lucia Schuler, Somaya Jamil, and Niklas Kühl. 2021. AI-based resource allocation: Reinforcement learning for adaptive auto-scaling in serverless environments. In Proceedings of 2021 IEEE/ACM 21st International Symposium on Cluster, Cloud and Internet Computing. IEEE, 804–811.
[223]
Carolyn B. Seaman. 1999. Qualitative methods in empirical studies of software engineering. IEEE Transactions on Software Engineering 25, 4 (1999), 557–572.
[224]
Mohammad Shahrad, Rodrigo Fonseca, Íñigo Goiri, Gohar Chaudhry, Paul Batum, Jason Cooke, Eduardo Laureano, Colby Tresness, Mark Russinovich, and Ricardo Bianchini. 2020. Serverless in the wild: Characterizing and optimizing the serverless workload at a large cloud provider. In Proceedings of the 2020 USENIX Annual Technical Conference. 205–218.
[225]
Jingbo Shang, Xinyang Zhang, Liyuan Liu, Sha Li, and Jiawei Han. 2020. Nettaxo: Automated topic taxonomy construction from text-rich network. In Proceedings of the Web Conference 2020. 1908–1919.
[226]
Vaishaal Shankar, Karl Krauth, Kailas Vodrahalli, Qifan Pu, Benjamin Recht, Ion Stoica, Jonathan Ragan-Kelley, Eric Jonas, and Shivaram Venkataraman. 2020. Serverless linear algebra. In Proceedings of the 11th ACM Symposium on Cloud Computing. 281–295.
[227]
Jiacheng Shen, Tianyi Yang, Yuxin Su, Yangfan Zhou, and Michael R. Lyu. 2021. Defuse: A dependency-guided function scheduler to mitigate cold starts on faaS platforms. In Proceedings of the 2021 IEEE 41st International Conference on Distributed Computing Systems. IEEE, 194–204.
[228]
K. R. Sheshadri and J. Lakshmi. 2021. QoS aware FaaS platform. In Proceedings of the 2021 IEEE/ACM 21st International Symposium on Cluster, Cloud and Internet Computing. IEEE, 812–819.
[229]
Simon Shillaker and Peter Pietzuch. 2020. Faasm: Lightweight isolation for efficient stateful serverless computing. In Proceedings of the 2020 USENIX Annual Technical Conference. 419–433.
[230]
Arjun Singhvi, Arjun Balasubramanian, Kevin Houck, Mohammed Danish Shaikh, Shivaram Venkataraman, and Aditya Akella. 2021. Atoll: A scalable low-latency serverless platform. In Proceedings of the ACM Symposium on Cloud Computing. 138–152.
[231]
Dalia Sobhy, Rami Bahsoon, Leandro Minku, and Rick Kazman. 2021. Evaluation of software architectures under uncertainty: A systematic literature review. ACM Transactions on Software Engineering and Methodology 30, 4 (2021), 1–50.
[232]
Khondokar Solaiman and Muhammad Abdullah Adnan. 2020. WLEC: A not so cold architecture to mitigate cold start problem in serverless computing. In Proceedings of the 2020 IEEE International Conference on Cloud Engineering. IEEE, 144–153.
[233]
Boubaker Soltani, Afifa Ghenai, and Nadia Zeghib. 2018. Towards distributed containerized serverless architecture in multi cloud environment. Procedia Computer Science 134 (2018), 121–128.
[234]
Josef Spillner. 2020. Resource management for cloud functions with memory tracing, profiling and autotuning. In Proceedings of the 2020 6th International Workshop on Serverless Computing. 13–18.
[235]
Vikram Sreekanti, Chenggang Wu, Saurav Chhatrapati, Joseph E. Gonzalez, Joseph M. Hellerstein, and Jose M. Faleiro. 2020. A fault-tolerance shim for serverless computing. In Proceedings of the 15th European Conference on Computer Systems. 1–15.
[236]
Vikram Sreekanti, Chenggang Wu, Xiayue Charles Lin, Johann Schleier-Smith, Joseph E. Gonzalez, Joseph M. Hellerstein, and Alexey Tumanov. 2020. Cloudburst: Stateful functions-as-a-service. Proceedings of the VLDB Endowment 13, 12 (2020), 2438–2452.
[237]
Adam Stafford, Farshad Ghassemi Toosi, and Anila Mjeda. 2021. Cost-aware migration to functions-as-a-service architecture. In Proceedings of the ECSA 2021 Companion Volume, Virtual.
[238]
R. Sujatha, R. Bandaru, and R. Rao. 2011. Taxonomy construction techniques–issues and challenges. Indian Journal of Computer Science and Engineering 2, 5 (2011), 661–671.
[239]
Kun Suo, Junggab Son, Dazhao Cheng, Wei Chen, and Sabur Baidya. 2021. Tackling cold start of serverless applications by efficient and adaptive container runtime reusing. In Proceedings of the 2021 IEEE International Conference on Cluster Computing. IEEE, 433–443.
[240]
Amoghvarsha Suresh and Anshul Gandhi. 2019. Fnsched: An efficient scheduler for serverless functions. In Proceedings of the 5th International Workshop on Serverless Computing. 19–24.
[241]
Amoghavarsha Suresh, Gagan Somashekar, Anandh Varadarajan, Veerendra Ramesh Kakarla, Hima Upadhyay, and Anshul Gandhi. 2020. Ensure: Efficient scheduling and autonomous resource management in serverless environments. In Proceedings of the 2020 IEEE International Conference on Autonomic Computing and Self-Organizing Systems. IEEE, 1–10.
[242]
Davide Taibi, Josef Spillner, and Konrad Wawruch. 2020. Serverless computing-where are we now, and where are we heading? IEEE Software 38, 1 (2020), 25–31.
[243]
Bo Tan, Haikun Liu, Jia Rao, Xiaofei Liao, Hai Jin, and Yu Zhang. 2020. Towards lightweight serverless computing via unikernel as a function. In Proceedings of the 2020 IEEE/ACM 28th International Symposium on Quality of Service. IEEE, 1–10.
[244]
Yang Tang and Junfeng Yang. 2020. Lambdata: Optimizing serverless computing by making data intents explicit. In Proceedings of the 2020 IEEE 13th International Conference on Cloud Computing. IEEE, 294–303.
[245]
Ali Tariq, Austin Pahl, Sharat Nimmagadda, Eric Rozner, and Siddharth Lanka. 2020. Sequoia: Enabling quality-of-service in serverless computing. In Proceedings of the 11th ACM Symposium on Cloud Computing. 311–327.
[246]
Dmitrii Ustiugov, Plamen Petrov, Marios Kogias, Edouard Bugnion, and Boris Grot. 2021. Benchmarking, analysis, and optimization of serverless function snapshots. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. 559–572.
[247]
Erwin Van Eyk, Johannes Grohmann, Simon Eismann, André Bauer, Laurens Versluis, Lucian Toader, Norbert Schmitt, Nikolas Herbst, Cristina L Abad, and Alexandru Iosup. 2019. The spec-rg reference architecture for faas: From microservices and containers to serverless platforms. IEEE Internet Computing 23, 6 (2019), 7–18.
[248]
Erwin Van Eyk, Lucian Toader, Sacheendra Talluri, Laurens Versluis, Alexandru Uţă, and Alexandru Iosup. 2018. Serverless is more: From PaaS to present cloud computing. IEEE Internet Computing 22, 5 (2018), 8–17.
[249]
Adbys Vasconcelos, Lucas Vieira, Ítalo Batista, Rodolfo Silva, and Francisco V Brasileiro. 2019. DistributedFaaS: Execution of containerized serverless applications in multi-cloud infrastructures. In Proceedings of the 10th International Conference on Cloud Computing and Services Science. 595–600.
[250]
Ao Wang, Shuai Chang, Huangshi Tian, Hongqi Wang, Haoran Yang, Huiba Li, Rui Du, and Yue Cheng. 2021. FaaSNet: Scalable and fast provisioning of custom serverless container runtimes at alibaba cloud function compute. In Proceedings of the 2021 USENIX Annual Technical Conference. 443–457.
[251]
Hao Wang, Di Niu, and Baochun Li. 2019. Distributed machine learning with a serverless architecture. In Proceedings of the IEEE INFOCOM 2019-IEEE Conference on Computer Communications. IEEE, 1288–1296.
[252]
Kai-Ting Amy Wang, Rayson Ho, and Peng Wu. 2019. Replayable execution optimized for page sharing for a managed runtime environment. In Proceedings of the 14th EuroSys Conference 2019. 1–16.
[253]
Liang Wang, Mengyuan Li, Yinqian Zhang, Thomas Ristenpart, and Michael Swift. 2018. Peeking behind the curtains of serverless platforms. In Proceedings of the 2018 USENIX Annual Technical Conference. 133–146.
[254]
Cody Watson, Nathan Cooper, David Nader Palacio, Kevin Moran, and Denys Poshyvanyk. 2022. A systematic literature review on the use of deep learning in software engineering research. ACM Transactions on Software Engineering and Methodology 31, 2 (2022), 1–58.
[255]
Mike Wawrzoniak, Ingo Müller, Rodrigo Fraga Barcelos Paulus Bruno, and Gustavo Alonso. 2021. Boxer: Data analytics on network-enabled serverless platforms. In Proceedings of the 11th Annual Conference on Innovative Data Systems Research.
[256]
Jinfeng Wen, Zhenpeng Chen, Yi Liu, Yiling Lou, Yun Ma, Gang Huang, Xin Jin, and Xuanzhe Liu. 2021. An empirical study on challenges of application development in serverless computing. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 416–428.
[257]
Jinfeng Wen and Yi Liu. 2021. A measurement study on serverless workflow services. In Proceedings of the 2021 IEEE International Conference on Web Services. IEEE, 741–750.
[258]
Jinfeng Wen, Yi Liu, Zhenpeng Chen, Junkai Chen, and Yun Ma. 2021. Characterizing commodity serverless computing platforms. Journal of Software: Evolution and Process (2021), e2394.
[259]
Stefan Winzinger and Guido Wirtz. 2021. Data flow testing of serverless functions. In Proceedings of the International Conference on Cloud Computing and Services Science. 56–64.
[260]
Rich Wolski, Chandra Krintz, Fatih Bakir, Gareth George, and Wei-Tsung Lin. 2019. Cspot: Portable, multi-scale functions-as-a-service for IOT. In Proceedings of the 4th ACM/IEEE Symposium on Edge Computing. 236–249.
[261]
Chenggang Wu, Vikram Sreekanti, and Joseph M. Hellerstein. 2020. Transactional causal consistency for serverless computing. In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data. 83–97.
[262]
Song Wu, Zhiheng Tao, Hao Fan, Zhuo Huang, Xinmin Zhang, Hai Jin, Chen Yu, and Chun Cao. 2022. Container lifecycle-aware scheduling for serverless computing. Software: Practice and Experience 52, 2 (2022), 337–352.
[263]
Michael Wurster, Uwe Breitenbücher, Kálmán Képes, Frank Leymann, and Vladimir Yussupov. 2018. Modeling and automated deployment of serverless applications using TOSCA. In Proceedings of the 2018 IEEE 11th Conference on Service-oriented Computing and Applications. IEEE, 73–80.
[264]
Zhengjun Xu, Haitao Zhang, Xin Geng, Qiong Wu, and Huadong Ma. 2019. Adaptive function launching acceleration in serverless computing platforms. In Proceedings of the IEEE 25th International Conference on Parallel and Distributed Systems. 9–16.
[265]
Bowen Yan, Heran Gao, Heng Wu, Wenbo Zhang, Lei Hua, and Tao Huang. 2020. Hermes: Efficient cache management for container-based serverless computing. In Proceedings of the 12th Asia-Pacific Symposium on Internetware. 136–145.
[266]
Hanfei Yu, Hao Wang, Jian Li, Xu Yuan, and Seung-Jong Park. 2022. Accelerating serverless computing by harvesting idle resources. In Proceedings of the ACM Web Conference. 1741–1751.
[267]
Minchen Yu, Zhifeng Jiang, Hok Chun Ng, Wei Wang, Ruichuan Chen, and Bo Li. 2021. Gillis: Serving large neural networks in serverless functions with automatic model partitioning. In Proceedings of the 2021 IEEE 41st International Conference on Distributed Computing Systems. IEEE, 138–148.
[268]
Tianyi Yu, Qingyuan Liu, Dong Du, Yubin Xia, Binyu Zang, Ziqian Lu, Pingchao Yang, Chenggang Qin, and Haibo Chen. 2020. Characterizing serverless platforms with serverlessbench. In Proceedings of the 2020 ACM Symposium on Cloud Computing. 30–44.
[269]
Vladimir Yussupov, Uwe Breitenbücher, Ayhan Kaplan, and Frank Leymann. 2020. SEAPORT: Assessing the portability of serverless applications. In Proceedings of the 10th International Conference on Cloud Computing and Services Science. 456–467.
[270]
Vladimir Yussupov, Jacopo Soldani, Uwe Breitenbücher, Antonio Brogi, and Frank Leymann. 2021. FaaSten your decisions: A classification framework and technology review of function-as-a-Service platforms. Journal of Systems and Software 175 (2021), 110906.
[271]
Vladimir Yussupov, Jacopo Soldani, Uwe Breitenbücher, and Frank Leymann. 2022. Standards-based modeling and deployment of serverless function orchestrations using BPMN and TOSCA. Software: Practice and Experience 52, 6 (2022), 1454–1495.
[272]
N. Yuvaraj, T. Karthikeyan, and K. Praghash. 2021. An improved task allocation scheme in serverless computing using gray wolf Optimization (GWO) based reinforcement learning (RIL) approach. Wireless Personal Communications 117, 3 (2021), 2403–2421.
[273]
Haoran Zhang, Adney Cardoza, Peter Baile Chen, Sebastian Angel, and Vincent Liu. 2020. Fault-tolerant and transactional stateful serverless workflows. In Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation. 1187–1204.
[274]
Hong Zhang, Yupeng Tang, Anurag Khandelwal, Jingrong Chen, and Ion Stoica. 2021. Caerus: NIMBLE task scheduling for serverless analytics. In Proceedings of the 18th USENIX Symposium on Networked Systems Design and Implementation. 653–669.
[275]
Jie M. Zhang, Mark Harman, Lei Ma, and Yang Liu. 2020. Machine learning testing: Survey, landscapes and horizons. IEEE Transactions on Software Engineering 48, 1 (2020), 1–36.
[276]
Michael Zhang, Chandra Krintz, and Rich Wolski. 2021. Edge-adaptable serverless acceleration for machine learning Internet of Things applications. Software: Practice and Experience 51, 9 (2021), 1852–1867.
[277]
Tian Zhang, Dong Xie, Feifei Li, and Ryan Stutsman. 2019. Narrowing the gap between serverless and its state with storage functions. In Proceedings of the ACM Symposium on Cloud Computing. 1–12.
[278]
Wen Zhang, Vivian Fang, Aurojit Panda, and Scott Shenker. 2020. Kappa: A programming framework for serverless computing. In Proceedings of the 11th ACM Symposium on Cloud Computing. 328–343.
[279]
Yanqi Zhang, Íñigo Goiri, Gohar Irfan Chaudhry, Rodrigo Fonseca, Sameh Elnikety, Christina Delimitrou, and Ricardo Bianchini. 2021. Faster and cheaper serverless computing on harvested resources. In Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles. 724–739.
[280]
Ge Zheng and Yang Peng. 2019. GlobalFlow: A cross-region orchestration service for serverless computing services. In Proceedings of the 2019 IEEE 12th International Conference on Cloud Computing. IEEE, 508–510.
[281]
Lulai Zhu, Giorgos Giotis, Vasilis Tountopoulos, and Giuliano Casale. 2021. RDOF: Deployment optimization for function as a service. In Proceedings of the 2021 IEEE 14th International Conference on Cloud Computing. IEEE, 508–514.
[282]
Pawel Zuk and Krzysztof Rzadca. 2020. Scheduling methods to reduce response latency of function as a service. In Proceedings of the 2020 IEEE 32nd International Symposium on Computer Architecture and High Performance Computing. 132–140.

Cited By

View all
  • (2025)Detection of compromised functions in a serverless cloud environmentComputers & Security10.1016/j.cose.2024.104261150(104261)Online publication date: Mar-2025
  • (2025)Towards GPU-enabled serverless cloud edge platforms for accelerating HEVC video codingCluster Computing10.1007/s10586-024-04692-028:1Online publication date: 1-Feb-2025
  • (2024)Serverless Computing en el campo de la Ciberseguridad. Una revisión sistemática de literaturaReligación10.46652/rgn.v9i42.12669:42(e2401266)Online publication date: 18-Jul-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Software Engineering and Methodology
ACM Transactions on Software Engineering and Methodology  Volume 32, Issue 5
September 2023
905 pages
ISSN:1049-331X
EISSN:1557-7392
DOI:10.1145/3610417
  • Editor:
  • Mauro Pezzè
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 July 2023
Online AM: 09 January 2023
Accepted: 05 December 2022
Revised: 23 November 2022
Received: 11 July 2022
Published in TOSEM Volume 32, Issue 5

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Serverless computing
  2. literature view

Qualifiers

  • Survey

Funding Sources

  • R&D Projects in Key Areas of Guangdong Province
  • ERC Advanced Grant
  • National Natural Science Foundation of China
  • National Natural Science Fund for the Excellent Young Scientists Fund Program (Overseas)

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2,137
  • Downloads (Last 6 weeks)216
Reflects downloads up to 19 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2025)Detection of compromised functions in a serverless cloud environmentComputers & Security10.1016/j.cose.2024.104261150(104261)Online publication date: Mar-2025
  • (2025)Towards GPU-enabled serverless cloud edge platforms for accelerating HEVC video codingCluster Computing10.1007/s10586-024-04692-028:1Online publication date: 1-Feb-2025
  • (2024)Serverless Computing en el campo de la Ciberseguridad. Una revisión sistemática de literaturaReligación10.46652/rgn.v9i42.12669:42(e2401266)Online publication date: 18-Jul-2024
  • (2024)Transforming Application Development With Serverless ComputingInternational Journal of Cloud Applications and Computing10.4018/IJCAC.36528814:1(1-16)Online publication date: 21-Dec-2024
  • (2024)Financial and Economic Analysis on Serverless Computing Sytem ServicesEssential Information Systems Service Management10.4018/979-8-3693-4227-5.ch004(83-112)Online publication date: 20-Sep-2024
  • (2024)A Study on the Landscape of Serverless ComputingServerless Computing Concepts, Technology and Architecture10.4018/979-8-3693-1682-5.ch016(260-282)Online publication date: 5-Apr-2024
  • (2024)ContainerizationServerless Computing Concepts, Technology and Architecture10.4018/979-8-3693-1682-5.ch007(123-133)Online publication date: 5-Apr-2024
  • (2024)Unraveling the Fabric of Serverless ComputingServerless Computing Concepts, Technology and Architecture10.4018/979-8-3693-1682-5.ch005(74-97)Online publication date: 5-Apr-2024
  • (2024)Introduction to Serverless ComputingServerless Computing Concepts, Technology and Architecture10.4018/979-8-3693-1682-5.ch001(1-19)Online publication date: 5-Apr-2024
  • (2024)Cold Start Latency in Serverless Computing: A Systematic Review, Taxonomy, and Future DirectionsACM Computing Surveys10.1145/370087557:3(1-36)Online publication date: 11-Nov-2024
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Full Text

View this article in Full Text.

Full Text

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media