Haskell developer in the Luna language team, changing the way people think about software development. Always a functional programming enthusiast, especially Scala and Haskell. As to my academic career: just got my MSc in Computer Science from AGH University of Science and Technology, now I am a doctoral candidate there, working on seamlessly integrating serverless architecture with visual and functional programming.
The serverless model of computation is cost-effective and scalable. However, it poses some challenges: remote function management and the cognitive load of a complex system. We find existing tools insufficient and propose a novel approach using the Luna programming language, its visual-textual representation of programs and functional semantics. We leverage it to create a proof-of-concept framework for remote function management and execution, using AWS Lambda as a base platform.
Cloud computations have recently gained recognition in multiple fields of computer science thanks to their potential to scale on-demand and reduce cost by sharing the resources to varying degrees. Serverless technologies are an important part of this trend, and platforms allowing remote execution of functions note an increase in popularity in both commercial and scientific projects. All the benefits notwithstanding, this approach grants some challenges to tackle, like proper management of remote functions and reducing the cognitive load associated with a complex system consisting of intertwined local and remote functions. Although there exist tools invented to solve these problems, we find them insufficient and propose a novel approach, leveraging capabilities of Luna programming language, which provides equivalent visual and textual representations of the program and functional semantics. We are hoping to provide a tool that is flexible and expressive thanks to its textual representation, whilst facilitating the creation of a conceptual image of the system with the corresponding interactive graph. We present a proof of concept of Luna Serverless Framework, allowing for the deployment and invocation of external functions written in JavaScript using AWS Lambda.