Find Paper, Faster
Example:10.1021/acsami.1c06204 or Chem. Rev., 2007, 107, 2411-2502
Serverless computing for Internet of Things: A systematic literature review
Future Generation Computer Systems  (IF7.187),  Pub Date : 2021-10-23, DOI: 10.1016/j.future.2021.10.020
Gustavo André Setti Cassel, Vinicius Facco Rodrigues, Rodrigo da Rosa Righi, Marta Rosecler Bez, Andressa Cruz Nepomuceno, Cristiano André da Costa

Serverless computing, or Function as a Service (FaaS), represents a research trend where applications are built and deployed as a group of stateless functions. Although initially proposed for the cloud, serverless computing has also found its place on Internet of Things (IoT) while bringing functions closer to the devices, in order to reduce latency and avoid unnecessary energy and resource consumption. It is interesting that solutions can work in an integrated manner on edge, fog, and cloud layers. Mission-critical functions can be executed on edge and fog in order to benefit from low-latency responses, while heavy functions can be executed on the cloud to process huge amount of data produced by IoT sensors, as long as Internet connection is available. Existing surveys focus on serverless computing for specific layers and do not address a broad, integrated, and systematic vision regarding how IoT benefits from serverless on edge, fog, and cloud. With this in mind, this paper provides a comprehensive Systematic Literature Review that, after the selection process, covers 60 papers on the field of serverless computing for IoT on the three layers. This gives us insights about how functions are offloaded to different devices and how they interact with each other. We bring main components employed to incubate and execute functions, as well as the main challenges and open questions for this subject. Protocols, programming languages, and storage services related to the solutions are also presented. Finally, we show a rich taxonomy summarizing all characteristics in a single figure, along with a discussion about the overall architecture of serverless applications for IoT. We conclude that serverless computing is a promising technology for IoT applications, but several improvements still need to be made to popularize this concept and make it easier to use.