Serverless Computing: Containerizing FaaSwith Docker

Taofeek-Femi Abdullahi · NORMA · 2020

Serverless computing enables cloud providers to abstract the process of spinning up servers to run programs. Developers can simply write their backend logic as pieces of code that get triggered by events such as a change in database, object storage, or request to an API endpoint. In a real world scenario, most applications require external libraries and packages in order to produce a consistent result across multiple deployed environments. This is however one of the limitations of serverless computing as some providers only provide a limited amount of packages at runtime. Developers will need to ensure that these libraries are installed in their serverless environment before deploying their code. This paper introduces ADEPS - Application Dependency Packager for Serverless. With the help of Docker, we were able to package serverless actions, with all the required dependencies, as a Docker image which is then deployed to IBM OpenWhisk. We tested our solution by deploying Spleeter, an open-source python library that decouples audio tracks. We also deployed a graph plotting function that leverages matplotlib. Our results showed that ADEPS can facilitate a more efficient way of deploying customized serverless functions to IBM OpenWhisk. Keywords - Serverless Computing, Cloud Computing, Docker, IBM OpenWhisk

Read the paper · More papers on PaperTik