Result: Optimizing Java for Serverless Applications

Title:
Optimizing Java for Serverless Applications
Authors:
Publisher Information:
2020.
Publication Year:
2020
Document Type:
Dissertation/ Thesis Master thesis
File Description:
53 Seiten; text/html
Language:
English
Accession Number:
edsair.od.....10650..e5989a8d7cd7cf14e7f3ac48446c59b3
Database:
OpenAIRE

Further Information

Jüngste Fortschritte im Bereich der Virtualisierung und der Software Architekturen haben zur Entwicklung vom serverlosen Servicemodel geführt. Serverlose Technologie erlaubt es den Entwicklern ihren Code in kleine zustandslose Softwareteile zu zerteilen, welche individuell veröffentlicht und betrieben werden können. Die dahinterliegende Infrastruktur ist komplett vom Entwickler wegabstrahiert. Serverlose Technologie werden von allen Marktführern des Cloudcomputing, wie Amazon, Microsoft und Google, angeboten. Viele Firmen, die Java verwenden, wollen zu einer serverlosen Architektur wechseln, aber leider ist der Markt von Skriptsprachen wie Python und NodeJS dominiert. Ein paar wenige Frameworks sind für Entwickler verfügbar, aber sie wurden noch nicht verglichen, um zu sehen welche Option dem Entwickler die beste Performance gibt. In dieser Arbeit wurden die Java Frameworks mit unterschiedlichen Szenarien in Lasttests getestet, um zu sehen welches Framework die beste Performance hat. Die Metriken die dabei analysiert wurden waren die Ausführungszeit, die Kaltstartzeit und der Speicherverbrauch. Um die serverlosen Funktionen weiter zu optimieren wurde eine neue virtuelle Maschine für Java Projekte namens GraalVM vorgestellt. GraalVM bieten viele Optimierungen und kürzere Startzeiten für Java Projekte. Recent advancements in the area of virtualization and software architecture led to the development of the serverless service model. Serverless technology allows developers to split their code base into small stateless chunks of software than can be deployed and run individually. The underlying infrastructure is completely abstracted away from the developer. Serverless technology is offered by all the market leaders in cloud computing like Amazon, Microsoft and Google. Many companies using Java want to switch to a serverless architecture, but unfortunately the market is dominated by script languages like Python and NodeJS. There are a few options for developers available, but they have not been compared to see which option gives the developer the best performance. In this thesis these Java frameworks were tested with a load testing framework with different scenarios to see which framework performs the best. The metrics that will be accounted for are the execution time, the cold start time and the memory usage. To further optimize the serverless functions, a new virtual machine for Java projects called GraalVM was introduced. GraalVM offers many optimizations and shorter start up times for Java projects. vorgelegt von: Roman Ritzal Wien, FH Campus Wien, Masterarb., 2020