Shared Data Plane: Tenant-Aware, Shared Context for Functions in Serverless Computing
Pages : 728-733
Download PDF
Abstract
Software architecture has evolved from monoliths to microservices; Serverless computing, specifically Functions as a Service (FaaS), brings in a completely new approach in terms of granularity of functional modules and their execution pattern. Tough serverless computing is understood as an event-driven model, it has a lot to offer than just deploying event-driven systems. For any application, data is an integral part that shapes the design and execution pattern. Serverless Architecture confines the size and methods in which data can be shared between individual functions. Current FaaS platforms like AWS Lambda, Azure Functions, Apache OpenWhisk; provide a limited scope in which data can be shared between individual functions; which is often addressed interchangeably as Execution Context or Shared Context. The nature of the execution context is ephemeral, which introduces additional latency to cold starts. The restricted and finite amount of space made available for execution context also confine application design, limiting the types of applications that could benefit from serverless computing. This paper addresses such issues by introducing a methodology to define tenant aware, function-specific shared data plane. This shared data plane is transparent to function code and provides localized data referencing. This paper describes the architecture of Shared Data Plane together with optimizations to Apache OpenWhisk exemplified on an inference use-case requiring a large size pretrained model. This approach of shared data plane shows improvements to the architectural design of serverless applications with increased performance and throughput of highly parallel stateless function invocations.
Keywords: Serverless Computing, Functions as a Service (FaaS), Apache OpenWhisk, Ceph