The State of FaaS: An analysis of public Functions-as-a-Service providers
0
Sign in to get full access
Overview
- Provides a high-level analysis of the state of public Functions-as-a-Service (FaaS) providers
- Examines the features, performance, and limitations of leading FaaS platforms
- Aims to help developers and organizations make informed decisions when adopting serverless computing
Plain English Explanation
The paper examines the "state of FaaS" - the current landscape of public Functions-as-a-Service (FaaS) providers. FaaS is a type of serverless computing where developers can run code without managing the underlying infrastructure.
The researchers analyzed the features, performance, and limitations of leading FaaS platforms like AWS Lambda, Google Cloud Functions, and Azure Functions. They looked at factors like scalability, pricing, vendor lock-in, and support for advanced use cases.
The goal is to help developers and organizations make informed decisions when adopting serverless computing for their applications. By understanding the current state of FaaS, they can choose the right provider and architect their systems accordingly.
Technical Explanation
The researchers conducted a comprehensive survey of public FaaS offerings. They evaluated 12 FaaS platforms across 30 different criteria, including:
- Architecture: Serverless model, cold start performance, scalability
- Ecosystem: Language support, third-party integrations, tooling
- Deployment: Provisioning, monitoring, security
- Pricing: Cost model, billing granularity, free tiers
The paper provides detailed technical analysis of the strengths and weaknesses of each FaaS platform. For example, it discusses how AWS Lambda offers superior scalability and performance, but may lock users into Amazon's ecosystem. Azure Functions, on the other hand, has better support for advanced use cases like stateful workflows.
The researchers also benchmarked the cold start latency and throughput of the FaaS providers under different workloads. This helps quantify the real-world performance developers can expect when deploying functions.
Critical Analysis
The paper provides a comprehensive and objective assessment of the public FaaS landscape. However, it acknowledges several limitations:
- The analysis is based on a point-in-time evaluation, and the rapidly evolving nature of serverless computing means the findings may become outdated quickly.
- The benchmarks only cover a limited set of workloads and may not reflect all real-world usage patterns.
- The paper does not delve into the operational and governance challenges of managing a diverse serverless ecosystem.
Additionally, the researchers note that the FaaS market is still maturing, and there are open questions around vendor lock-in, cold start performance, and support for advanced use cases like stateful workflows and edge computing. Further research and industry evolution will be needed to address these concerns.
Conclusion
The paper provides a comprehensive analysis of the current state of public FaaS providers, highlighting their strengths, weaknesses, and suitability for different use cases. This information can help developers and organizations make more informed decisions when adopting serverless computing and choosing the right FaaS platform for their needs.
As the serverless landscape continues to evolve, ongoing research and industry collaboration will be crucial to address the remaining challenges and unlock the full potential of Functions-as-a-Service and federated serverless workflows.
This summary was produced with help from an AI and may contain inaccuracies - check out the links to read the original source documents!
Related Papers
0
The State of FaaS: An analysis of public Functions-as-a-Service providers
Nnamdi Ekwe-Ekwe, Lucas Amos
Serverless computing is a growing and maturing field that is the focus of much research, industry interest and adoption. Previous works exploring Functions-as-a-Service providers have focused primarily on the most well known providers AWS Lambda, Google Cloud Functions and Microsoft Azure Functions without exploring other providers in similar detail. In this work, we conduct the first detailed review of ten currently publicly available FaaS platforms exploring everything from their history, to their features and pricing to where they sit within the overall public FaaS landscape, before making a number of observations as to the state of the FaaS.
Read more9/4/2024
0
Object as a Service: Simplifying Cloud-Native Development through Serverless Object Abstraction
Pawissanutt Lertpongrujikorn, Mohsen Amini Salehi
The function-as-a-service (FaaS) paradigm is envisioned as the next generation of cloud computing systems that mitigate the burden for cloud-native application developers by abstracting them from cloud resource management. However, it does not deal with the application data aspects. As such, developers have to intervene and undergo the burden of managing the application data, often via separate cloud storage services. To further streamline cloud-native application development, in this work, we propose a new paradigm, known as Object as a Service (OaaS) that encapsulates application data and functions into the cloud object abstraction. OaaS relieves developers from resource and data management burden while offering built-in optimization features. Inspired by OOP, OaaS incorporates access modifiers and inheritance into the serverless paradigm that: (a) prevents developers from compromising the system via accidentally accessing underlying data; and (b) enables software reuse in cloud-native application development. Furthermore, OaaS natively supports dataflow semantics. It enables developers to define function workflows while transparently handling data navigation, synchronization, and parallelism issues. To establish the OaaS paradigm, we develop a platform named Oparaca that offers state abstraction for structured and unstructured data with consistency and fault-tolerant guarantees. We evaluated Oparaca under real-world settings against state-of-the-art platforms with respect to the imposed overhead, scalability, and ease of use. The results demonstrate that the object abstraction provided by OaaS can streamline flexible and scalable cloud-native application development with an insignificant overhead on the underlying serverless system.
Read more8/12/2024
0
Tutorial: Object as a Service (OaaS) Serverless Cloud Computing Paradigm
Pawissanutt Lertpongrujikorn, Mohsen Amini Salehi
While the first generation of cloud computing systems mitigated the job of system administrators, the next generation of cloud computing systems is emerging to mitigate the burden for cloud developers -- facilitating the development of cloud-native applications. This paradigm shift is primarily happening by offering higher-level serverless abstractions, such as Function as a Service (FaaS). Although FaaS has successfully abstracted developers from the cloud resource management details, it falls short in abstracting the management of both data (i.e., state) and the non-functional aspects, such as Quality of Service (QoS) requirements. The lack of such abstractions implies developer intervention and is counterproductive to the objective of mitigating the burden of cloud-native application development. To further streamline cloud-native application development, we present Object-as-a-Service (OaaS) -- a serverless paradigm that borrows the object-oriented programming concepts to encapsulate application logic and data in addition to non-functional requirements into a single deployment package, thereby streamlining provider-agnostic cloud-native application development. We realized the OaaS paradigm through the development of an open-source platform called Oparaca. In this tutorial, we will present the concept and design of the OaaS paradigm and its implementation -- the Oparaca platform. Then, we give a tutorial on developing and deploying the application on the Oparaca platform and discuss its benefits and its optimal configurations to avoid potential overheads.
Read more7/25/2024
0
FunLess: Functions-as-a-Service for Private Edge Cloud Systems
Giuseppe De Palma, Saverio Giallorenzo, Jacopo Mauro, Matteo Trentin, Gianluigi Zavattaro
We present FunLess, a Function-as-a-Service (FaaS) platform tailored for the private edge cloud system. FunLess responds to recent trends that advocate for extending the coverage of serverless computing to private edge cloud systems and enhancing latency, security, and privacy while improving resource usage. Unlike existing solutions that rely on containers for function invocation, FunLess leverages WebAssembly (Wasm) as its runtime environment. Wasm's lightweight, sandboxed runtime is crucial to have functions run on constrained devices at the edge. Moreover, the advantages of using Wasm in FunLess include a consistent development and deployment environment for users and function portability (write once, run everywhere) We validate FunLess under different deployment scenarios, characterised by the presence/absence of constrained-resource devices (Raspberry Pi 3B+) and the (in)accessibility of container orchestration technologies - Kubernetes. We compare FunLess with three production-ready, widely adopted open-source FaaS platforms - OpenFaaS, Fission, and Knative. Our benchmarks confirm that FunLess is a proper solution for FaaS private edge cloud systems since it achieves performance comparable to the considered FaaS alternatives while it is the only fully-deployable alternative on constrained-resource devices, thanks to its small memory footprint.
Read more6/3/2024