The Why, When, and How of Serverless Applications
In this article, the authors analyzed 89 serverless applications to deliver the answers to the important questions "Why?", "When?", and "How?".
Publisher's Abstract
Why do so many companies adopt serverless? When are serverless applications well suited? How are they currently implemented? To address these questions, we analyze 89 serverless applications from open source projects, industrial sources, academic literature, and scientific computing - presenting the most extensive study to date.
Why You Should Read This
What at first sounds like a meaningless buzzword for a passing fad in our fast-changing business of building IT-products, deserves a closer look. There has been a growing serverless software ecosystem over the past six years, but there are few systematic studies about their practical use.
What is the appeal of serverless computing?
Serverless computing aims to provide both ease of use and efficiency for common software services that run on cloud resources.
How is it defined?
It is any computing platform that hides server usage from developers and runs code on-demand automatically scaled and billed only for the time the code is running.
As a summary, the authors come to the following conclusions:
Serverless applications combine managed stateless ephemeral computing solutions [function-as-a-service (FaaS)], such as Amazon Web Services (AWS) Lambda, Azure Functions, and Google Cloud Functions, with fully provider-managed services for messaging, file storage, databases, streaming, and authentication [back end-as-a-service (BaaS)].
Serverless applications are most commonly used for short-running tasks with low data volume and bursty workloads.
They are mostly implemented on AWS, in either Python or JavaScript, and make heavy use of BaaS.
The appropriate granularity of serverless functions is currently debated. Opinions range from wrapping each program function or each API endpoint to the full-scale conversion of each microservice into serverless functions.
- Veröffentlicht: January 2021
- Autoren: Simon Eismann (University of Wurzburg, Germany), Joel Scheuner (University of Gothenburg, Sweden), Erwin van Eyk (VU Amsterdam, Amsterdam, Delft, Zuid-Holland, Netherlands), Maximilian Schwinger (University of Wurzburg, Germany), Johannes Grohmann (University of Wurzburg, Germany), Nikolas Herbst (University of Wurzburg, Germany), Dr. Cristina L. Abad (Escuela Superior Politecnica del Litoral, Guayaquil, Ecuador), Prof. Dr. Alexandru Iosup (Vrije Universiteit Amsterdam, Netherlands)
- Details: Lesen im IEEE Software Magazine