Not logged in.

Contribution Details

Type Bachelor's Thesis
Scope Discipline-based scholarship
Title jCloudScale Lambda: Automated Transformation of Java Applications to AWS Lambda
Organization Unit
Authors
  • Stefan Würsten
Supervisors
  • Harald Gall
  • Philipp Leitner
Language
  • English
Institution University of Zurich
Faculty Faculty of Business, Economics and Informatics
Date 2017
Abstract Text Today, software developers often use cloud services to execute their applications. One possibility in the cloud is to run the code without managing any underlying resources. This approach is called serverless computing. For instance, the cloud provider offers a FaaS platform, where the program logic is executed as a function. The function is invoked with input parameters and returns a return value. Each invoked function is independent of any other previous executions, because persistent data are never saved in a serverless environment. For a software developer, it is time-consuming to chain single functions together to form an application. In this thesis a framework is presented, called jCloudScale Lambda, which supports the developer in writing FaaS-based applications. The program is written as a regular Java application, and at runtime the framework transforms the code into the desired format from the cloud service. The goal is to provide a powerful, but also user-friendly framework. The framework follows an approach that was pioneered at the Vienna University of Technology with its JCloudScale framework. First the used approach and system architecture are explained. Next, the functionality is illustrated with code snippets. In the qualitative evaluation, an existing project is refactored into a cloud-based application. In addition, some guidelines are provided on how to write a cloud-based application with jCloudScale Lambda. Next, the performance of the framework is measured in a quantitative evaluation. The startup and runtime performance are analyzed and compared to a regular application. Moreover, the effectiveness of the automated code transformation from the framework is investigated. Finally, the current conceptual and technical restrictions of jCloudScale Lambda are summarized.
Zusammenfassung Softwareentwickler verwenden heutzutage immer häufiger Cloud Services, um ihre Applikationen auszuführen. Eine Möglichkeit dabei ist Code in der Cloud auszuführen, ohne dass sich der Entwickler um die darunterliegenden Ressourcen kümmern muss. Dieser Ansatz nennt sich Serverless Computing. Der Cloud Anbieter offeriert beispielsweise eine FaaS Plattform, auf welcher die Programmlogik als Funktion ausgeführt wird. Die Funktion wird dabei mit Eingabeparametern aufgerufen und gibt einen Rückgabewert zurück. Jede aufgerufene Funktion ist unabhängig von einer vorher aufgerufenen Instanz, da keine persistenten Daten gespeichert werden. Für einen Softwareentwickler ist es aufwändig einzelne solche Funktionen zu einer Applikation aneinanderzureihen. Das in dieser Arbeit vorgestellte Framework, jCloudScale Lambda, unterstützt den Entwickler beim Schreiben von FaaS-basierten Applikationen. Das Programm wird als reguläre Java Applikation geschrieben und zur Laufzeit vom Framework in die gewünschte Form transformiert. Das Ziel ist es ein einfach zu bedienendes, aber müchtiges Framework anzubieten. Das Framework orientiert sich dabei am Ansatz, welcher das JCloudScale Framework der technischen Universität Wien bereits verwendet. Zuerst werden die Vorgehensweise und die Systemarchitektur erklärt. Danach wird die Funktionalität anhand von Codebeispielen erläutert. In der qualitativen Evaluation wird zuerst eine bestehende Applikation umgeschrieben und eine Möglichkeit vorgestellt, wie man vorgehen kann, um eine jCloudScale Lambda basierende Applikation zu erstellen. Die Performance des Frameworks wird in der quantitative Evaluation gemessen. Es wird beispielsweise untersucht, wie sich die Performance zur Start- und Laufzeit im Vergleich zu einer regulären Applikation verhält. Zusätzlich wird die Effektivität der automatische Codetransformation durch das Framework untersucht. Schlussendlich werden die konzeptionellen und technischen Restriktionen von jCloudScale Lambda zusammengefasst.
PDF File Download
Export BibTeX