Programmable Elasticity for Stateful Cloud Computing Applications
Make the Elasticity of actor-based cloud applications programmable
Developers are always on the lookout for simple solutions to manage their applications on cloud platforms. Major cloud providers have already been offering automatic elasticity management solutions (e.g., AWS Lambda, Azure durablefunction) to users. However, many cloud applications are stateful— while executing, functions need to share their state with others. Providing elasticity for such stateful functions is much more challenging, as a deployment/elasticity decision for a stateful entity can strongly affect others in ways whichare hard to predict without any application knowledge. Existing solutions either only support stateless applications (e.g., AWS Lambda) or only provide limited elasticity management(e.g., Azure durable function) to stateful applications.
PLASMA (Programmable Elasticity forStateful Cloud Computing Applications) is a programming framework for elastic stateful cloud applications. It includes (1) an elasticity programming language as a second “level” of programming (complementing the main application programminglanguage) for describing elasticity behavior, and (2) a novel semantics-aware elasticity management runtime that tracks program execution and acts upon application features assuggested by elasticity behavior.
The prototype of PLASMA is implemented upon AEON actor programming language. However, the PLASMA program is separated from AEON program and programmers neeed not modify existing AEON program to use PLASMA program. Please visit AEON Programming Language to learn how to implement AEON program.
Introduction to: PLASMA programming language
Please try a very simple demo: Demo