DCSEMay 23, 2017

Transformation of Python Applications into Function-as-a-Service Deployments

arXiv:1705.08169v130 citationsHas Code
Originality Incremental advance
AI Analysis

This addresses the problem for software engineers needing automated tools to adapt Python applications to FaaS cloud models, though it is incremental as it builds on existing code transformation techniques.

The paper tackles the challenge of automating the transformation of monolithic Python applications into modular Function-as-a-Service (FaaS) units, introducing Lambada, a tool that dynamically decomposes and deploys unmodified Python code into AWS Lambda functions, with evaluation showing it successfully converts applications with minimal manual intervention.

New cloud programming and deployment models pose challenges to software application engineers who are looking, often in vain, for tools to automate any necessary code adaptation and transformation. Function-as-a-Service interfaces are particular non-trivial targets when considering that most cloud applications are implemented in non-functional languages. Among the most widely used of these languages is Python. This starting position calls for an automated approach to transform monolithic Python code into modular FaaS units by partially automated decomposition. Hence, this paper introduces and evaluates Lambada, a Python module to dynamically decompose, convert and deploy unmodified Python code into AWS Lambda functions. Beyond the tooling in the form of a measured open source prototype implementation, the paper contributes a description of the algorithms and code rewriting rules as blueprints for transformations of other scripting languages.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes